Add auto type convert for DB\IO

set via db options "db_convert_type" as array with "on", "json", "numeric",
"bytea"

"on" only converts know good types: "bool", "int"

"json" will convert json/jsonb to array
"bytea" will decode escaped bytea to string (note: this might change to resource)

"numeric" will convert to float.
NOTE: if a numeric number is too large a covnersion might drop data.
Use with care.

Convert flags can be chagned with dbSetConvertFlag and dbUnsetConvertFlag

All convert flags are in "DB\Options\Convert" as enum.
This commit is contained in:
Clemens Schwaighofer
2023-06-09 17:01:03 +09:00
parent 02e9610fad
commit ee62bd98ee
11 changed files with 849 additions and 80 deletions

View File

@@ -575,7 +575,7 @@ function actionIndicator(loc, overlay = true) // eslint-disable-line no-unused-v
*/
function actionIndicatorShow(loc, overlay = true)
{
// console.log('Indicator: SHOW [%s]', loc);
// console.log('{Indicator}: SHOW [%s]', loc);
if (!$('#indicator').is(':visible')) {
if (!$('#indicator').hasClass('progress')) {
$('#indicator').addClass('progress');
@@ -597,7 +597,7 @@ function actionIndicatorShow(loc, overlay = true)
*/
function actionIndicatorHide(loc, overlay = true)
{
// console.log('Indicator: HIDE [%s]', loc);
// console.log('{Indicator}: HIDE [%s]', loc);
$('#indicator').hide();
if (overlay === true) {
overlayBoxHide();
@@ -677,7 +677,7 @@ function ClearCall() // eslint-disable-line no-unused-vars
*/
function showActionIndicator(loc) // eslint-disable-line no-unused-vars
{
// console.log('Indicator: SHOW [%s]', loc);
// console.log('{Indicator}: SHOW [%s]', loc);
// check if indicator element exists
if ($('#indicator').length == 0) {
var el = document.createElement('div');
@@ -715,7 +715,7 @@ function showActionIndicator(loc) // eslint-disable-line no-unused-vars
*/
function hideActionIndicator(loc) // eslint-disable-line no-unused-vars
{
// console.log('Indicator: HIDE [%s]', loc);
// console.log('{Indicator}: HIDE [%s]', loc);
// check if indicator is visible
if ($('#indicator').is(':visible')) {
// hide indicator