fix: unify tag value parsing syntax
This commit is contained in:
parent
28e7aef816
commit
da0254b49b
|
@ -216,9 +216,6 @@ int32_t toUIntegerEx(const char *z, int32_t n, uint32_t type, uint64_t *value) {
|
|||
errno = 0;
|
||||
char *endPtr = NULL;
|
||||
const char *p = z;
|
||||
while (*p == ' ') {
|
||||
p++;
|
||||
}
|
||||
switch (type) {
|
||||
case TK_NK_INTEGER: {
|
||||
*value = taosStr2UInt64(p, &endPtr, 10);
|
||||
|
@ -246,24 +243,22 @@ int32_t toUIntegerEx(const char *z, int32_t n, uint32_t type, uint64_t *value) {
|
|||
}
|
||||
|
||||
if (n == 0) {
|
||||
*value = 0;
|
||||
return TSDB_CODE_SUCCESS;
|
||||
errno = EINVAL;
|
||||
return TSDB_CODE_FAILED;
|
||||
}
|
||||
|
||||
// 1. parse as integer
|
||||
*value = taosStr2UInt64(p, &endPtr, 10);
|
||||
if (*p == '-' && *value) {
|
||||
return TSDB_CODE_FAILED;
|
||||
}
|
||||
|
||||
if (endPtr - z == n) {
|
||||
if (errno == ERANGE || errno == EINVAL) {
|
||||
if (errno == ERANGE || errno == EINVAL || (*p == '-' && *value)) {
|
||||
return TSDB_CODE_FAILED;
|
||||
}
|
||||
return TSDB_CODE_SUCCESS;
|
||||
} else if (errno == 0 && *endPtr == '.') {
|
||||
const char *s = endPtr + 1;
|
||||
const char *end = z + n;
|
||||
bool pure = true;
|
||||
bool pure = true;
|
||||
while (s < end) {
|
||||
if (*s < '0' || *s > '9') {
|
||||
pure = false;
|
||||
|
@ -275,11 +270,14 @@ int32_t toUIntegerEx(const char *z, int32_t n, uint32_t type, uint64_t *value) {
|
|||
if (endPtr + 1 < end && endPtr[1] > '4' && *value < UINT64_MAX) {
|
||||
(*value)++;
|
||||
}
|
||||
if (*p == '-' && *value) {
|
||||
return TSDB_CODE_FAILED;
|
||||
}
|
||||
return TSDB_CODE_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
// 2. parse as other
|
||||
// 2. parse as other
|
||||
bool is_neg = false;
|
||||
int32_t code = parseSignAndUInteger(z, n, &is_neg, value);
|
||||
if (is_neg) {
|
||||
|
|
|
@ -355,7 +355,7 @@ int32_t parseJsontoTagData(const char* json, SArray* pTagVals, STag** ppTag, voi
|
|||
SHashObj* keyHash = NULL;
|
||||
int32_t size = 0;
|
||||
// set json NULL data
|
||||
if (!json || strtrim((char*)json) == 0 || strcasecmp(json, TSDB_DATA_NULL_STR_L) == 0) {
|
||||
if (!json || strcasecmp(json, TSDB_DATA_NULL_STR_L) == 0 || strtrim((char*)json) == 0) {
|
||||
retCode = TSDB_CODE_SUCCESS;
|
||||
goto end;
|
||||
}
|
||||
|
|
|
@ -17,12 +17,13 @@ class TDTestCase:
|
|||
tdSql.execute(f'create database if not exists db vgroups 1')
|
||||
|
||||
def __create_tb(self, dbname="db"):
|
||||
CREATE_STB_LIST = [ f"create table {dbname}.stb_vc (ts timestamp, c0 binary(50), c1 binary(50)) tags(t0 binary(50), t1 binary(50));",
|
||||
CREATE_STB_LIST = [ f"create table {dbname}.stb_vc (ts timestamp, c0 binary(50), c1 varchar(50)) tags(t0 varchar(50), t1 binary(50));",
|
||||
f"create table {dbname}.stb_nc (ts timestamp, c0 nchar(50), c1 nchar(50)) tags(t0 nchar(50), t1 nchar(50));",
|
||||
f"create table {dbname}.stb_ts (ts timestamp, c0 timestamp, c1 timestamp) tags(t0 timestamp, t1 timestamp);",
|
||||
f"create table {dbname}.stb_bo (ts timestamp, c0 bool, c1 bool) tags(t0 bool, t1 bool);",
|
||||
f"create table {dbname}.stb_vb (ts timestamp, c0 varbinary(50), c1 varbinary(50)) tags(t0 varbinary(50), t1 varbinary(50));",
|
||||
f"create table {dbname}.stb_in (ts timestamp, c0 int, c1 int) tags(t0 int, t1 int);",
|
||||
f"create table {dbname}.stb_in (ts timestamp, c0 int, c1 smallint) tags(t0 bigint, t1 tinyint);",
|
||||
f"create table {dbname}.stb_ui (ts timestamp, c0 int unsigned, c1 smallint unsigned) tags(t0 bigint unsigned, t1 tinyint unsigned);",
|
||||
f"create table {dbname}.stb_fl (ts timestamp, c0 float, c1 float) tags(t0 float, t1 float);",
|
||||
f"create table {dbname}.stb_db (ts timestamp, c0 float, c1 float) tags(t0 float, t1 float);",
|
||||
f"create table {dbname}.stb_ge (ts timestamp, c0 geometry(512), c1 geometry(512)) tags(t0 geometry(512), t1 geometry(512));",
|
||||
|
@ -34,11 +35,11 @@ class TDTestCase:
|
|||
|
||||
def __insert_query_common(self, dbname="db", stbname="", ctbname="", oklist=[], kolist=[], okv=None):
|
||||
tdLog.info(f'{dbname}.{stbname} {ctbname}, oklist:%d, kolist:%d'%(len(oklist), len(kolist)))
|
||||
tdSql.checkEqual(27, len(oklist) + len(kolist))
|
||||
tdSql.checkEqual(34, len(oklist) + len(kolist))
|
||||
|
||||
isVarbinary = False
|
||||
if stbname == 'stb_vb':
|
||||
isVarbinary = True
|
||||
checkQuery = True
|
||||
if stbname == 'stb_ge':
|
||||
checkQuery = False # geometry query by py connector need to be supported
|
||||
|
||||
for _l in kolist:
|
||||
for _e in _l:
|
||||
|
@ -50,9 +51,8 @@ class TDTestCase:
|
|||
tdSql.error(f'insert into {dbname}.{ctbname} using {dbname}.{stbname} tags({okv}, {okv}) values(now, %s, {okv})' %(_e))
|
||||
tdSql.error(f'insert into {dbname}.{ctbname} using {dbname}.{stbname} tags({okv}, {okv}) values(now, {okv}, %s)' %(_e))
|
||||
tdSql.error(f'insert into {dbname}.{ctbname} using {dbname}.{stbname} tags({okv}, {okv}) values(now, %s, %s)' %(_e, _e))
|
||||
tdLog.info(f'insert into {dbname}.{ctbname} using {dbname}.{stbname} tags({okv}, {okv}) values(now, {okv}, {okv})')
|
||||
tdSql.execute(f'insert into {dbname}.{ctbname} using {dbname}.{stbname} tags({okv}, {okv}) values(now, {okv}, {okv})')
|
||||
if isVarbinary == False:
|
||||
if checkQuery:
|
||||
tdSql.query(f'select * from {dbname}.{stbname}')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.execute(f'alter table {dbname}.{ctbname} set tag t0 = {okv}')
|
||||
|
@ -67,38 +67,64 @@ class TDTestCase:
|
|||
tdSql.execute(f'insert into {dbname}.{ctbname} values(now + 2s, %s, %s)' %(_e, _e))
|
||||
tdSql.execute(f'alter table {dbname}.{ctbname} set tag t0 = %s' %(_e))
|
||||
tdSql.execute(f'alter table {dbname}.{ctbname} set tag t1 = %s' %(_e))
|
||||
if isVarbinary == False:
|
||||
if checkQuery:
|
||||
tdSql.query(f'select * from {dbname}.{stbname}')
|
||||
tdSql.checkRows(3)
|
||||
tdSql.execute(f'drop table {dbname}.{ctbname}')
|
||||
tdSql.execute(f'create table {dbname}.{ctbname} using {dbname}.{stbname} tags(%s, %s)' %(_e, _e))
|
||||
tdSql.execute(f'insert into {dbname}.{ctbname} values(now, %s, %s)' %(_e, _e))
|
||||
if isVarbinary == False:
|
||||
if checkQuery:
|
||||
tdSql.query(f'select * from {dbname}.{stbname}')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.execute(f'drop table {dbname}.{ctbname}')
|
||||
tdSql.execute(f'insert into {dbname}.{ctbname} using {dbname}.{stbname} tags(%s, {okv}) values(now, %s, {okv})' %(_e, _e))
|
||||
if isVarbinary == False:
|
||||
if checkQuery:
|
||||
tdSql.query(f'select * from {dbname}.{stbname}')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.execute(f'drop table {dbname}.{ctbname}')
|
||||
tdSql.execute(f'insert into {dbname}.{ctbname} using {dbname}.{stbname} tags({okv}, %s) values(now, {okv}, %s)' %(_e, _e))
|
||||
if isVarbinary == False:
|
||||
if checkQuery:
|
||||
tdSql.query(f'select * from {dbname}.{stbname}')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.execute(f'drop table {dbname}.{ctbname}')
|
||||
tdSql.execute(f'insert into {dbname}.{ctbname} using {dbname}.{stbname} tags(%s, %s) values(now, %s, %s)' %(_e, _e, _e, _e))
|
||||
if isVarbinary == False:
|
||||
if checkQuery:
|
||||
tdSql.query(f'select * from {dbname}.{stbname}')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.execute(f'drop table {dbname}.{ctbname}')
|
||||
|
||||
def __insert_query_json(self, dbname="db", stbname="", ctbname="", oklist=[], kolist=[], okv=None):
|
||||
tdLog.info(f'{dbname}.{stbname} {ctbname}, oklist:%d, kolist:%d'%(len(oklist), len(kolist)))
|
||||
tdSql.checkEqual(34, len(oklist) + len(kolist))
|
||||
|
||||
for _l in kolist:
|
||||
for _e in _l:
|
||||
tdSql.error(f'create table {dbname}.{ctbname} using {dbname}.{stbname} tags(%s)' %(_e))
|
||||
tdSql.error(f'insert into {dbname}.{ctbname} using {dbname}.{stbname} tags(%s) values(now, 1)' %(_e))
|
||||
tdSql.execute(f'insert into {dbname}.{ctbname} using {dbname}.{stbname} tags({okv}) values(now, 1)')
|
||||
tdSql.query(f'select * from {dbname}.{stbname}')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.execute(f'alter table {dbname}.{ctbname} set tag t0 = {okv}')
|
||||
tdSql.error(f'alter table {dbname}.{ctbname} set tag t0 = %s' %(_e))
|
||||
tdSql.execute(f'drop table {dbname}.{ctbname}')
|
||||
for _l in oklist:
|
||||
for _e in _l:
|
||||
tdSql.execute(f'create table {dbname}.{ctbname} using {dbname}.{stbname} tags(%s)' %(_e))
|
||||
tdSql.execute(f'insert into {dbname}.{ctbname} values(now, 1)')
|
||||
tdSql.execute(f'alter table {dbname}.{ctbname} set tag t0 = %s' %(_e))
|
||||
tdSql.query(f'select * from {dbname}.{stbname}')
|
||||
tdSql.checkRows(1)
|
||||
tdSql.execute(f'drop table {dbname}.{ctbname}')
|
||||
|
||||
def __insert_query_exec(self):
|
||||
STR_EMPTY = ['\'\'', "\"\""]
|
||||
STR_INTEGER = ["\"123\"", '\'+12\'', '\'+0\'', '\'-0\'', '\'-128\'']
|
||||
STR_FLOAT = ['\'123.1\'', "\"-23.001\"", "\"+0.001\"" ]
|
||||
STR_FLOAT_E = ['\'1e1\'', "\"-0.1E+1\"", "\"1e-2\""]
|
||||
STR_MISC = ['\' \'', "\" \"", "\"123ab\"", '\'123d\'', '\'-12s\'', '\'\x012\'', '\'x12\'', '\'x\'', '\'NULL \'', '\'True \'', '\' False\'']
|
||||
STR_EMPTY = ['\'\'', "\"\"", '\' \'', "\" \""]
|
||||
STR_INTEGER_P = ["\"123\"", '\'+12\'', '\'+0\'', '\'-0\'', '\'0x12\'', '\'-0x0\'', '\'+0x0\'', '\'0b0101\'', '\'-0b00\'']
|
||||
STR_INTEGER_M = ['\'-128\'', '\'-0x1\'', '\'-0b01\'']
|
||||
STR_FLOAT_P = ['\'123.1\'', "\"+0.001\"", "\'\-0.0\'"]
|
||||
STR_FLOAT_M = ["\"-23.001\""]
|
||||
STR_FLOAT_E_P = ['\'1e1\'', "\"1e-2\"", "\"-1e-5\""]
|
||||
STR_FLOAT_E_M = ["\"-0.1E+1\""]
|
||||
STR_MISC = ["\"123ab\"", '\'123d\'', '\'-12s\'', '\'\x012\'', '\'x12\'', '\'x\'', '\'NULL \'', '\'True \'', '\' False\'']
|
||||
STR_OPTR = ['\'1*10\'', '\'1+2\'', '\'-2-0\'','\'1%2\'', '\'2/0\'', '\'1&31\'']
|
||||
STR_TSK = ['\'now\'', '\'today\'']
|
||||
STR_TSK_MISC = ['\'now+1s\'', '\' now\'', '\'today \'', '\'today+1m\'', '\'today-1w\'']
|
||||
|
@ -107,13 +133,17 @@ class TDTestCase:
|
|||
STR_BOOL = ['\'true\'', '\'false\'', '\'TRUE\'', '\'FALSE\'', '\'tRuE\'', '\'falsE\'']
|
||||
STR_TS = ["\"2024-02-01 00:00:01.001-08:00\"", "\'2024-02-01T00:00:01.001+09:00\'", "\"2024-02-01\"", "\'2024-02-02 00:00:01\'", "\'2024-02-02 00:00:01.009\'"]
|
||||
STR_VARBIN = ['\'\\x12\'', '\'\\x12ab\'']
|
||||
STR_JSON = ['\'{\"k1\":\"v1\"}\'', '\'[]\'', '\'{}\'']
|
||||
STR_JSON_O = ['\'{\"k1\":\"v1\"}\'', '\'{}\'']
|
||||
STR_JSON_A = ['\'[]\'']
|
||||
STR_GEO = ['\'POINT(1.0 1.0)\'', '\'LINESTRING(1.00 +2.0, 2.1 -3.2, 5.00 5.01)\'', '\'POLYGON((1.0 1.0, -2.0 +2.0, 1.0 1.0))\'' ]
|
||||
STR_NULL = ['\'NuLl\'', '\'null\'', '\'NULL\'']
|
||||
|
||||
RAW_INTEGER = ['123', '+0123', '-0128', '+0', '-0', '0']
|
||||
RAW_FLOAT = ['123.012', '-128.001', '-0.0', '0.0', '+0.0']
|
||||
RAW_FLOAT_E = ['1e-100', "-1E-10", '+0.1E+2']
|
||||
RAW_INTEGER_P = ['123', '+0127', '+0', '0', '-0', '0', '0x12', '-0x0', '+0x0', '0b0101', '-0b00']
|
||||
RAW_INTEGER_M = ['-123', '-0128','-0x1', '-0b01']
|
||||
RAW_FLOAT_P = ['123.012', '0.0', '+0.0', '-0.0']
|
||||
RAW_FLOAT_M = ['-128.001']
|
||||
RAW_FLOAT_E_P = ['1e-100', '+0.1E+2', '-0.1E-10']
|
||||
RAW_FLOAT_E_M = ["-1E2"]
|
||||
RAW_MISC = ['123abc', "123c", '-123d', '+', '-', ' *', ' /', '% ', '&', "|", "^", "&&", "||", "!", " =", 'now+1 s', 'now-1','now-1y','now+2 d',
|
||||
'today+1 s', 'today-1','today-1y','today+2 d', 'now()+1 s', 'now()-1','now()-1y','now()+2 d', 'today()+1 s', 'today()-1','today()-1y','today()+2 d']
|
||||
RAW_OPTR = ['1*10', '1+2', '-2-0','1%2', '2/0', '1&31']
|
||||
|
@ -124,47 +154,63 @@ class TDTestCase:
|
|||
RAW_BOOL = ['true', 'false', ' TRUE ', 'FALSE ', ' tRuE', ' falsE ']
|
||||
RAW_NULL = ['NuLl', 'null', 'NULL', ' NULL ']
|
||||
|
||||
OK_VC = [STR_EMPTY, STR_INTEGER, STR_FLOAT, STR_FLOAT_E, STR_MISC, STR_OPTR, STR_TSK, STR_TSK_MISC, STR_TSKP, STR_TSKP_MISC, STR_BOOL, STR_TS, STR_VARBIN,
|
||||
STR_JSON, STR_GEO, STR_NULL, RAW_INTEGER, RAW_FLOAT, RAW_FLOAT_E, RAW_TSK, RAW_BOOL, RAW_NULL]
|
||||
OK_VC = [STR_EMPTY, STR_INTEGER_P, STR_INTEGER_M, STR_FLOAT_P, STR_FLOAT_M, STR_FLOAT_E_P, STR_FLOAT_E_M, STR_MISC, STR_OPTR, STR_TSK, STR_TSK_MISC, STR_TSKP,
|
||||
STR_TSKP_MISC, STR_BOOL, STR_TS, STR_VARBIN, STR_JSON_O, STR_JSON_A, STR_GEO, STR_NULL, RAW_INTEGER_P, RAW_INTEGER_M, RAW_FLOAT_P, RAW_FLOAT_M,
|
||||
RAW_FLOAT_E_P, RAW_FLOAT_E_M, RAW_TSK, RAW_BOOL, RAW_NULL]
|
||||
KO_VC = [RAW_MISC, RAW_OPTR, RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR]
|
||||
OK_NC = OK_VC
|
||||
KO_NC = KO_VC
|
||||
OK_TS = [STR_TSK, STR_INTEGER, STR_TSKP, STR_TS, STR_NULL, RAW_INTEGER, RAW_TSK, RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR, RAW_NULL]
|
||||
KO_TS = [STR_EMPTY, STR_FLOAT, STR_FLOAT_E, STR_MISC, STR_OPTR, STR_TSK_MISC, STR_TSKP_MISC, STR_BOOL, STR_VARBIN,
|
||||
STR_JSON,STR_GEO, RAW_FLOAT, RAW_FLOAT_E, RAW_MISC, RAW_OPTR, RAW_BOOL]
|
||||
OK_TS = [STR_TSK, STR_INTEGER_P, STR_INTEGER_M, STR_TSKP, STR_TS, STR_NULL, RAW_INTEGER_P, RAW_INTEGER_M, RAW_TSK, RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR, RAW_NULL]
|
||||
KO_TS = [STR_EMPTY, STR_FLOAT_P, STR_FLOAT_M, STR_FLOAT_E_P, STR_FLOAT_E_M, STR_MISC, STR_OPTR, STR_TSK_MISC, STR_TSKP_MISC, STR_BOOL, STR_VARBIN,
|
||||
STR_JSON_O, STR_JSON_A, STR_GEO, RAW_FLOAT_P, RAW_FLOAT_M, RAW_FLOAT_E_P, RAW_FLOAT_E_M, RAW_MISC, RAW_OPTR, RAW_BOOL]
|
||||
|
||||
OK_BO = [STR_BOOL, RAW_BOOL, STR_NULL, RAW_INTEGER, RAW_FLOAT, RAW_FLOAT_E, RAW_NULL]
|
||||
KO_BO = [STR_EMPTY, STR_INTEGER, STR_TSK, STR_TSKP, STR_TS, STR_FLOAT, STR_FLOAT_E, STR_MISC, STR_OPTR, STR_TSK_MISC, STR_TSKP_MISC, STR_VARBIN,
|
||||
STR_JSON,STR_GEO, RAW_TSK, RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR, RAW_MISC, RAW_OPTR]
|
||||
OK_VB = [STR_EMPTY, STR_INTEGER, STR_FLOAT, STR_FLOAT_E, STR_MISC, STR_OPTR, STR_TSK, STR_TSK_MISC, STR_TSKP, STR_TSKP_MISC, STR_BOOL, STR_TS, STR_VARBIN,
|
||||
STR_JSON, STR_GEO, STR_NULL, RAW_NULL]
|
||||
KO_VB = [RAW_INTEGER, RAW_FLOAT, RAW_FLOAT_E, RAW_TSK, RAW_BOOL, RAW_MISC, RAW_OPTR, RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR]
|
||||
OK_IN = []
|
||||
KO_IN = []
|
||||
OK_FL = []
|
||||
KO_FL = []
|
||||
OK_DB = []
|
||||
KO_DB = []
|
||||
OK_GE = []
|
||||
KO_GE = []
|
||||
OK_JS = []
|
||||
KO_JS = []
|
||||
OK_BO = [STR_BOOL, RAW_BOOL, STR_NULL, RAW_INTEGER_P, RAW_INTEGER_M, RAW_FLOAT_P, RAW_FLOAT_M, RAW_FLOAT_E_P, RAW_FLOAT_E_M, RAW_NULL]
|
||||
KO_BO = [STR_EMPTY, STR_INTEGER_P, STR_INTEGER_M, STR_TSK, STR_TSKP, STR_TS, STR_FLOAT_P, STR_FLOAT_M, STR_FLOAT_E_P, STR_FLOAT_E_M, STR_MISC, STR_OPTR,
|
||||
STR_TSK_MISC, STR_TSKP_MISC, STR_VARBIN, STR_JSON_O, STR_JSON_A, STR_GEO, RAW_TSK, RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR, RAW_MISC, RAW_OPTR]
|
||||
OK_VB = [STR_EMPTY, STR_INTEGER_P, STR_INTEGER_M, STR_FLOAT_P, STR_FLOAT_M, STR_FLOAT_E_P, STR_FLOAT_E_M, STR_MISC, STR_OPTR, STR_TSK, STR_TSK_MISC, STR_TSKP,
|
||||
STR_TSKP_MISC, STR_BOOL, STR_TS, STR_VARBIN, STR_JSON_O, STR_JSON_A, STR_GEO, STR_NULL, RAW_NULL]
|
||||
KO_VB = [RAW_INTEGER_P, RAW_INTEGER_M, RAW_FLOAT_P, RAW_FLOAT_M, RAW_FLOAT_E_P, RAW_FLOAT_E_M, RAW_TSK, RAW_BOOL, RAW_MISC, RAW_OPTR, RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR]
|
||||
OK_IN = [STR_INTEGER_P, STR_INTEGER_M, STR_FLOAT_P, STR_FLOAT_M, STR_FLOAT_E_P, STR_FLOAT_E_M, STR_NULL, RAW_INTEGER_P, RAW_INTEGER_M, RAW_FLOAT_P, RAW_FLOAT_M,
|
||||
RAW_FLOAT_E_P, RAW_FLOAT_E_M, RAW_NULL]
|
||||
KO_IN = [STR_EMPTY, STR_MISC, STR_OPTR, STR_TSK, STR_TSK_MISC, STR_TSKP, STR_TSKP_MISC, STR_BOOL, STR_TS, STR_VARBIN, STR_JSON_O, STR_JSON_A, STR_GEO, RAW_TSK,
|
||||
RAW_BOOL, RAW_MISC, RAW_OPTR, RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR]
|
||||
OK_UI = [STR_INTEGER_P, STR_FLOAT_P, STR_FLOAT_E_P, STR_NULL, RAW_INTEGER_P, RAW_FLOAT_P, RAW_FLOAT_E_P, RAW_NULL]
|
||||
KO_UI = [STR_EMPTY, STR_MISC, STR_INTEGER_M, STR_FLOAT_M, STR_FLOAT_E_M, STR_OPTR, STR_TSK, STR_TSK_MISC, STR_TSKP, STR_TSKP_MISC, STR_BOOL, STR_TS, STR_VARBIN,
|
||||
STR_JSON_O, STR_JSON_A, STR_GEO, RAW_TSK, RAW_BOOL, RAW_INTEGER_M, RAW_FLOAT_M, RAW_FLOAT_E_M, RAW_MISC, RAW_OPTR, RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR]
|
||||
OK_FL = [STR_INTEGER_P, STR_INTEGER_M, STR_FLOAT_P, STR_FLOAT_M, STR_FLOAT_E_P, STR_FLOAT_E_M, STR_NULL, RAW_INTEGER_P, RAW_INTEGER_M, RAW_FLOAT_P, RAW_FLOAT_M,
|
||||
RAW_FLOAT_E_P, RAW_FLOAT_E_M, RAW_NULL]
|
||||
KO_FL = [STR_EMPTY, STR_MISC, STR_OPTR, STR_TSK, STR_TSK_MISC, STR_TSKP, STR_TSKP_MISC, STR_BOOL, STR_TS, STR_VARBIN, STR_JSON_O, STR_JSON_A, STR_GEO, RAW_TSK,
|
||||
RAW_BOOL, RAW_MISC, RAW_OPTR, RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR]
|
||||
OK_DB = OK_FL
|
||||
KO_DB = [STR_EMPTY, STR_MISC, STR_OPTR, STR_TSK, STR_TSK_MISC, STR_TSKP, STR_TSKP_MISC, STR_BOOL, STR_TS, STR_VARBIN, STR_JSON_O, STR_JSON_A, STR_GEO, RAW_TSK,
|
||||
RAW_BOOL, RAW_MISC, RAW_OPTR, RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR]
|
||||
OK_GE = [STR_GEO, STR_NULL, RAW_NULL]
|
||||
KO_GE = [STR_EMPTY, STR_MISC, STR_OPTR, STR_TSK, STR_TSK_MISC, STR_TSKP, STR_TSKP_MISC, STR_BOOL, STR_TS, STR_JSON_O, STR_JSON_A, STR_VARBIN, RAW_TSK, RAW_BOOL, RAW_MISC,
|
||||
RAW_OPTR, RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR, STR_INTEGER_P, STR_INTEGER_M, STR_FLOAT_P, STR_FLOAT_M, STR_FLOAT_E_P, STR_FLOAT_E_M, RAW_INTEGER_P, RAW_INTEGER_M,
|
||||
RAW_FLOAT_P, RAW_FLOAT_M, RAW_FLOAT_E_P, RAW_FLOAT_E_M]
|
||||
OK_JS = [STR_EMPTY, STR_JSON_O, STR_NULL, RAW_NULL]
|
||||
KO_JS = [STR_JSON_A, STR_MISC, STR_OPTR, STR_TSK, STR_TSK_MISC, STR_TSKP, STR_TSKP_MISC, STR_BOOL, STR_TS, STR_GEO, STR_VARBIN, RAW_TSK, RAW_BOOL, RAW_MISC, RAW_OPTR,
|
||||
RAW_TSK_OPTR, RAW_TSKP, RAW_TSKP_OPTR, STR_INTEGER_P, STR_INTEGER_M, STR_FLOAT_P, STR_FLOAT_M, STR_FLOAT_E_P, STR_FLOAT_E_M, RAW_INTEGER_P, RAW_INTEGER_M,
|
||||
RAW_FLOAT_P, RAW_FLOAT_M, RAW_FLOAT_E_P, RAW_FLOAT_E_M]
|
||||
|
||||
PARAM_LIST = [
|
||||
# ["db", "stb_vc", "ctb_vc", OK_VC, KO_VC, "\'vc\'"],
|
||||
# ["db", "stb_nc", "ctb_nc", OK_NC, KO_NC, "\'nc\'"],
|
||||
# ["db", "stb_ts", "ctb_ts", OK_TS, KO_TS, "now"],
|
||||
# ["db", "stb_bo", "ctb_bo", OK_BO, KO_BO, "true"],
|
||||
["db", "stb_vb", "ctb_vb", OK_VB, KO_VB, "\'\\x\'"],
|
||||
["db", "stb_in", "ctb_in", OK_IN, KO_IN, "1"],
|
||||
["db", "stb_fl", "ctb_fl", OK_FL, KO_FL, "1.0"],
|
||||
["db", "stb_db", "ctb_db", OK_DB, KO_DB, "1.0"],
|
||||
["db", "stb_ge", "ctb_ge", OK_GE, KO_GE, "\'POINT(1.0 1.0)\'"],
|
||||
["db", "stb_js", "ctb_js", OK_JS, KO_JS, "\'{\'k1\':\'v1\',\k2\':\'v2\'}\'"],
|
||||
# ["db", "stb_vc", "ctb_vc", OK_VC, KO_VC, "\'vc\'"],
|
||||
# ["db", "stb_nc", "ctb_nc", OK_NC, KO_NC, "\'nc\'"],
|
||||
# ["db", "stb_ts", "ctb_ts", OK_TS, KO_TS, "now"],
|
||||
# ["db", "stb_bo", "ctb_bo", OK_BO, KO_BO, "true"],
|
||||
# ["db", "stb_vb", "ctb_vb", OK_VB, KO_VB, "\'\\x\'"],
|
||||
# ["db", "stb_in", "ctb_in", OK_IN, KO_IN, "-1"],
|
||||
["db", "stb_ui", "ctb_ui", OK_UI, KO_UI, "1"],
|
||||
# ["db", "stb_fl", "ctb_fl", OK_FL, KO_FL, "1.0"],
|
||||
# ["db", "stb_db", "ctb_db", OK_DB, KO_DB, "1.0"],
|
||||
["db", "stb_ge", "ctb_ge", OK_GE, KO_GE, "\'POINT(1.0 1.0)\'"]
|
||||
]
|
||||
|
||||
# check with common function
|
||||
for _pl in PARAM_LIST:
|
||||
self.__insert_query_common(_pl[0], _pl[1], _pl[2], _pl[3], _pl[4], _pl[5])
|
||||
# check json
|
||||
self.__insert_query_json("db", "stb_js", "ctb_js", OK_JS, KO_JS, "\'{\"k1\":\"v1\",\"k2\":\"v2\"}\'")
|
||||
|
||||
|
||||
def run(self):
|
||||
|
|
Loading…
Reference in New Issue