Merge pull request #20603 from taosdata/enh/3.0_planner_optimize
fix: udf error check
This commit is contained in:
commit
18b039fecd
|
@ -1492,6 +1492,7 @@ static void resetEnvPreTable(SInsertParseContext* pCxt, SVnodeModifyOpStmt* pStm
|
||||||
pStmt->pBoundCols = NULL;
|
pStmt->pBoundCols = NULL;
|
||||||
pStmt->usingTableProcessing = false;
|
pStmt->usingTableProcessing = false;
|
||||||
pStmt->fileProcessing = false;
|
pStmt->fileProcessing = false;
|
||||||
|
pStmt->usingTableName.type = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// input pStmt->pSql: [(field1_name, ...)] [ USING ... ] VALUES ... | FILE ...
|
// input pStmt->pSql: [(field1_name, ...)] [ USING ... ] VALUES ... | FILE ...
|
||||||
|
@ -1539,6 +1540,10 @@ static int32_t checkTableClauseFirstToken(SInsertParseContext* pCxt, SVnodeModif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (TK_NK_ID != pTbName->type && TK_NK_STRING != pTbName->type && TK_NK_QUESTION != pTbName->type) {
|
||||||
|
return buildSyntaxErrMsg(&pCxt->msg, "table_name is expected", pTbName->z);
|
||||||
|
}
|
||||||
|
|
||||||
*pHasData = true;
|
*pHasData = true;
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6422,14 +6422,16 @@ static int32_t translateCreateFunction(STranslateContext* pCxt, SCreateFunctionS
|
||||||
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_FUNCTION_NAME);
|
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_FUNCTION_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TSDB_DATA_TYPE_JSON == pStmt->outputDt.type ||
|
if (TSDB_DATA_TYPE_JSON == pStmt->outputDt.type || TSDB_DATA_TYPE_VARBINARY == pStmt->outputDt.type ||
|
||||||
TSDB_DATA_TYPE_VARBINARY == pStmt->outputDt.type ||
|
TSDB_DATA_TYPE_DECIMAL == pStmt->outputDt.type || TSDB_DATA_TYPE_BLOB == pStmt->outputDt.type ||
|
||||||
TSDB_DATA_TYPE_DECIMAL == pStmt->outputDt.type ||
|
|
||||||
TSDB_DATA_TYPE_BLOB == pStmt->outputDt.type ||
|
|
||||||
TSDB_DATA_TYPE_MEDIUMBLOB == pStmt->outputDt.type) {
|
TSDB_DATA_TYPE_MEDIUMBLOB == pStmt->outputDt.type) {
|
||||||
return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_SYNTAX_ERROR, "Unsupported output type for UDF");
|
return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_SYNTAX_ERROR, "Unsupported output type for UDF");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!pStmt->isAgg && pStmt->bufSize > 0) {
|
||||||
|
return generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_SYNTAX_ERROR, "BUFSIZE can only be used with UDAF");
|
||||||
|
}
|
||||||
|
|
||||||
SCreateFuncReq req = {0};
|
SCreateFuncReq req = {0};
|
||||||
strcpy(req.name, pStmt->funcName);
|
strcpy(req.name, pStmt->funcName);
|
||||||
req.igExists = pStmt->ignoreExists;
|
req.igExists = pStmt->ignoreExists;
|
||||||
|
|
|
@ -23,10 +23,10 @@ if $system_content == Windows_NT then
|
||||||
return 0;
|
return 0;
|
||||||
endi
|
endi
|
||||||
if $system_content == Windows_NT then
|
if $system_content == Windows_NT then
|
||||||
sql create function bit_and as 'C:\\Windows\\Temp\\bitand.dll' outputtype int bufSize 8;
|
sql create function bit_and as 'C:\\Windows\\Temp\\bitand.dll' outputtype int;
|
||||||
sql create aggregate function l2norm as 'C:\\Windows\\Temp\\l2norm.dll' outputtype double bufSize 8;
|
sql create aggregate function l2norm as 'C:\\Windows\\Temp\\l2norm.dll' outputtype double bufSize 8;
|
||||||
else
|
else
|
||||||
sql create function bit_and as '/tmp/udf/libbitand.so' outputtype int bufSize 8;
|
sql create function bit_and as '/tmp/udf/libbitand.so' outputtype int;
|
||||||
sql create aggregate function l2norm as '/tmp/udf/libl2norm.so' outputtype double bufSize 8;
|
sql create aggregate function l2norm as '/tmp/udf/libl2norm.so' outputtype double bufSize 8;
|
||||||
endi
|
endi
|
||||||
|
|
||||||
|
|
|
@ -23,9 +23,9 @@ if $system_content == Windows_NT then
|
||||||
endi
|
endi
|
||||||
|
|
||||||
if $system_content == Windows_NT then
|
if $system_content == Windows_NT then
|
||||||
sql create function gpd as 'C:\\Windows\\Temp\\gpd.dll' outputtype int bufSize 8;
|
sql create function gpd as 'C:\\Windows\\Temp\\gpd.dll' outputtype int;
|
||||||
else
|
else
|
||||||
sql create function gpd as '/tmp/udf/libgpd.so' outputtype int bufSize 8;
|
sql create function gpd as '/tmp/udf/libgpd.so' outputtype int;
|
||||||
endi
|
endi
|
||||||
sql show functions;
|
sql show functions;
|
||||||
if $rows != 1 then
|
if $rows != 1 then
|
||||||
|
|
|
@ -29,10 +29,10 @@ if $system_content == Windows_NT then
|
||||||
return 0;
|
return 0;
|
||||||
endi
|
endi
|
||||||
if $system_content == Windows_NT then
|
if $system_content == Windows_NT then
|
||||||
sql create function bit_and as 'C:\\Windows\\Temp\\bitand.dll' outputtype int bufSize 8;
|
sql create function bit_and as 'C:\\Windows\\Temp\\bitand.dll' outputtype int;
|
||||||
sql create aggregate function l2norm as 'C:\\Windows\\Temp\\l2norm.dll' outputtype double bufSize 8;
|
sql create aggregate function l2norm as 'C:\\Windows\\Temp\\l2norm.dll' outputtype double bufSize 8;
|
||||||
else
|
else
|
||||||
sql create function bit_and as '/tmp/udf/libbitand.so' outputtype int bufSize 8;
|
sql create function bit_and as '/tmp/udf/libbitand.so' outputtype int;
|
||||||
sql create aggregate function l2norm as '/tmp/udf/libl2norm.so' outputtype double bufSize 8;
|
sql create aggregate function l2norm as '/tmp/udf/libl2norm.so' outputtype double bufSize 8;
|
||||||
endi
|
endi
|
||||||
sql create function pybitand as '/tmp/pyudf/pybitand.py' outputtype int language 'python';
|
sql create function pybitand as '/tmp/pyudf/pybitand.py' outputtype int language 'python';
|
||||||
|
|
|
@ -15,10 +15,10 @@ sql insert into t values(now, 1)(now+1s, 2);
|
||||||
|
|
||||||
system_content printf %OS%
|
system_content printf %OS%
|
||||||
if $system_content == Windows_NT then
|
if $system_content == Windows_NT then
|
||||||
sql create function udf1 as 'C:\\Windows\\Temp\\udf1.dll' outputtype int bufSize 8;
|
sql create function udf1 as 'C:\\Windows\\Temp\\udf1.dll' outputtype int;
|
||||||
sql create aggregate function udf2 as 'C:\\Windows\\Temp\\udf2.dll' outputtype double bufSize 8;
|
sql create aggregate function udf2 as 'C:\\Windows\\Temp\\udf2.dll' outputtype double bufSize 8;
|
||||||
else
|
else
|
||||||
sql create function udf1 as '/tmp/udf/libudf1.so' outputtype int bufSize 8;
|
sql create function udf1 as '/tmp/udf/libudf1.so' outputtype int;
|
||||||
sql create aggregate function udf2 as '/tmp/udf/libudf2.so' outputtype double bufSize 8;
|
sql create aggregate function udf2 as '/tmp/udf/libudf2.so' outputtype double bufSize 8;
|
||||||
endi
|
endi
|
||||||
sql show functions;
|
sql show functions;
|
||||||
|
|
|
@ -146,7 +146,7 @@ class TDTestCase:
|
||||||
|
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
# create aggregate functions
|
# create aggregate functions
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ class TDTestCase:
|
||||||
tdLog.info("drop two udf functions success ")
|
tdLog.info("drop two udf functions success ")
|
||||||
|
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
# create aggregate functions
|
# create aggregate functions
|
||||||
|
|
||||||
|
@ -562,7 +562,7 @@ class TDTestCase:
|
||||||
|
|
||||||
# create function without buffer
|
# create function without buffer
|
||||||
tdSql.execute("create aggregate function udf1 as '%s' outputtype int bufSize 8 "%self.libudf1)
|
tdSql.execute("create aggregate function udf1 as '%s' outputtype int bufSize 8 "%self.libudf1)
|
||||||
tdSql.execute("create function udf2 as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.execute("create function udf2 as '%s' outputtype double"%self.libudf2)
|
||||||
udf1_sqls ,udf2_sqls = self.try_query_sql()
|
udf1_sqls ,udf2_sqls = self.try_query_sql()
|
||||||
|
|
||||||
for scalar_sql in udf1_sqls:
|
for scalar_sql in udf1_sqls:
|
||||||
|
@ -570,7 +570,7 @@ class TDTestCase:
|
||||||
for aggregate_sql in udf2_sqls:
|
for aggregate_sql in udf2_sqls:
|
||||||
tdSql.error(aggregate_sql)
|
tdSql.error(aggregate_sql)
|
||||||
|
|
||||||
tdSql.execute(" create function db as '%s' outputtype int bufSize 8 "%self.libudf1)
|
tdSql.execute(" create function db as '%s' outputtype int "%self.libudf1)
|
||||||
tdSql.execute(" create aggregate function test as '%s' outputtype int bufSize 8 "%self.libudf1)
|
tdSql.execute(" create aggregate function test as '%s' outputtype int bufSize 8 "%self.libudf1)
|
||||||
tdSql.error(" select db(c1) from stb1 ")
|
tdSql.error(" select db(c1) from stb1 ")
|
||||||
tdSql.error(" select db(c1,c6), db(c6) from stb1 ")
|
tdSql.error(" select db(c1,c6), db(c6) from stb1 ")
|
||||||
|
@ -619,9 +619,9 @@ class TDTestCase:
|
||||||
tdLog.info(" create function name is not build_in functions ")
|
tdLog.info(" create function name is not build_in functions ")
|
||||||
tdSql.execute(" drop function udf1 ")
|
tdSql.execute(" drop function udf1 ")
|
||||||
tdSql.execute(" drop function udf2 ")
|
tdSql.execute(" drop function udf2 ")
|
||||||
tdSql.error("create function max as '%s' outputtype int bufSize 8"%self.libudf1)
|
tdSql.error("create function max as '%s' outputtype int "%self.libudf1)
|
||||||
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
tdSql.error("create function max as '%s' outputtype int bufSize 8"%self.libudf1)
|
tdSql.error("create function max as '%s' outputtype int "%self.libudf1)
|
||||||
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
tdSql.error("create aggregate function tbname as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function tbname as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
tdSql.error("create aggregate function function as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function function as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
|
|
|
@ -148,7 +148,7 @@ class TDTestCase:
|
||||||
|
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
# create aggregate functions
|
# create aggregate functions
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ class TDTestCase:
|
||||||
tdLog.info("drop two udf functions success ")
|
tdLog.info("drop two udf functions success ")
|
||||||
|
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
# create aggregate functions
|
# create aggregate functions
|
||||||
|
|
||||||
|
|
|
@ -148,7 +148,7 @@ class TDTestCase:
|
||||||
|
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
# create aggregate functions
|
# create aggregate functions
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ class TDTestCase:
|
||||||
tdLog.info("drop two udf functions success ")
|
tdLog.info("drop two udf functions success ")
|
||||||
|
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
# create aggregate functions
|
# create aggregate functions
|
||||||
|
|
||||||
|
@ -564,7 +564,7 @@ class TDTestCase:
|
||||||
|
|
||||||
# create function without buffer
|
# create function without buffer
|
||||||
tdSql.execute("create aggregate function udf1 as '%s' outputtype int bufSize 8 "%self.libudf1)
|
tdSql.execute("create aggregate function udf1 as '%s' outputtype int bufSize 8 "%self.libudf1)
|
||||||
tdSql.execute("create function udf2 as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.execute("create function udf2 as '%s' outputtype double"%self.libudf2)
|
||||||
udf1_sqls ,udf2_sqls = self.try_query_sql()
|
udf1_sqls ,udf2_sqls = self.try_query_sql()
|
||||||
|
|
||||||
for scalar_sql in udf1_sqls:
|
for scalar_sql in udf1_sqls:
|
||||||
|
@ -572,7 +572,7 @@ class TDTestCase:
|
||||||
for aggregate_sql in udf2_sqls:
|
for aggregate_sql in udf2_sqls:
|
||||||
tdSql.error(aggregate_sql)
|
tdSql.error(aggregate_sql)
|
||||||
|
|
||||||
tdSql.execute(" create function db as '%s' outputtype int bufSize 8 "%self.libudf1)
|
tdSql.execute(" create function db as '%s' outputtype int "%self.libudf1)
|
||||||
tdSql.execute(" create aggregate function test as '%s' outputtype int bufSize 8 "%self.libudf1)
|
tdSql.execute(" create aggregate function test as '%s' outputtype int bufSize 8 "%self.libudf1)
|
||||||
tdSql.error(" select db(c1) from stb1 ")
|
tdSql.error(" select db(c1) from stb1 ")
|
||||||
tdSql.error(" select db(c1,c6), db(c6) from stb1 ")
|
tdSql.error(" select db(c1,c6), db(c6) from stb1 ")
|
||||||
|
@ -621,9 +621,9 @@ class TDTestCase:
|
||||||
tdLog.info(" create function name is not build_in functions ")
|
tdLog.info(" create function name is not build_in functions ")
|
||||||
tdSql.execute(" drop function udf1 ")
|
tdSql.execute(" drop function udf1 ")
|
||||||
tdSql.execute(" drop function udf2 ")
|
tdSql.execute(" drop function udf2 ")
|
||||||
tdSql.error("create function max as '%s' outputtype int bufSize 8"%self.libudf1)
|
tdSql.error("create function max as '%s' outputtype int"%self.libudf1)
|
||||||
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
tdSql.error("create function max as '%s' outputtype int bufSize 8"%self.libudf1)
|
tdSql.error("create function max as '%s' outputtype int"%self.libudf1)
|
||||||
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
tdSql.error("create aggregate function tbname as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function tbname as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
tdSql.error("create aggregate function function as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function function as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
|
|
|
@ -148,7 +148,7 @@ class TDTestCase:
|
||||||
|
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
# create aggregate functions
|
# create aggregate functions
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ class TDTestCase:
|
||||||
tdLog.info("drop two udf functions success ")
|
tdLog.info("drop two udf functions success ")
|
||||||
|
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
# create aggregate functions
|
# create aggregate functions
|
||||||
|
|
||||||
|
@ -574,7 +574,7 @@ class TDTestCase:
|
||||||
|
|
||||||
# create function without buffer
|
# create function without buffer
|
||||||
tdSql.execute("create aggregate function udf1 as '%s' outputtype int bufSize 8 "%self.libudf1)
|
tdSql.execute("create aggregate function udf1 as '%s' outputtype int bufSize 8 "%self.libudf1)
|
||||||
tdSql.execute("create function udf2 as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.execute("create function udf2 as '%s' outputtype double "%self.libudf2)
|
||||||
udf1_sqls ,udf2_sqls = self.try_query_sql()
|
udf1_sqls ,udf2_sqls = self.try_query_sql()
|
||||||
|
|
||||||
for scalar_sql in udf1_sqls:
|
for scalar_sql in udf1_sqls:
|
||||||
|
@ -582,7 +582,7 @@ class TDTestCase:
|
||||||
for aggregate_sql in udf2_sqls:
|
for aggregate_sql in udf2_sqls:
|
||||||
tdSql.error(aggregate_sql)
|
tdSql.error(aggregate_sql)
|
||||||
|
|
||||||
tdSql.execute(" create function db as '%s' outputtype int bufSize 8 "%self.libudf1)
|
tdSql.execute(" create function db as '%s' outputtype int "%self.libudf1)
|
||||||
tdSql.execute(" create aggregate function test as '%s' outputtype int bufSize 8 "%self.libudf1)
|
tdSql.execute(" create aggregate function test as '%s' outputtype int bufSize 8 "%self.libudf1)
|
||||||
tdSql.error(" select db(c1) from stb1 ")
|
tdSql.error(" select db(c1) from stb1 ")
|
||||||
tdSql.error(" select db(c1,c6), db(c6) from stb1 ")
|
tdSql.error(" select db(c1,c6), db(c6) from stb1 ")
|
||||||
|
@ -631,9 +631,9 @@ class TDTestCase:
|
||||||
tdLog.info(" create function name is not build_in functions ")
|
tdLog.info(" create function name is not build_in functions ")
|
||||||
tdSql.execute(" drop function udf1 ")
|
tdSql.execute(" drop function udf1 ")
|
||||||
tdSql.execute(" drop function udf2 ")
|
tdSql.execute(" drop function udf2 ")
|
||||||
tdSql.error("create function max as '%s' outputtype int bufSize 8"%self.libudf1)
|
tdSql.error("create function max as '%s' outputtype int"%self.libudf1)
|
||||||
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
tdSql.error("create function max as '%s' outputtype int bufSize 8"%self.libudf1)
|
tdSql.error("create function max as '%s' outputtype int"%self.libudf1)
|
||||||
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
tdSql.error("create aggregate function tbname as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function tbname as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
tdSql.error("create aggregate function function as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function function as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
|
|
|
@ -145,7 +145,7 @@ class TDTestCase:
|
||||||
|
|
||||||
for i in range(5):
|
for i in range(5):
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
# create aggregate functions
|
# create aggregate functions
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ class TDTestCase:
|
||||||
tdLog.info("drop two udf functions success ")
|
tdLog.info("drop two udf functions success ")
|
||||||
|
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
# create aggregate functions
|
# create aggregate functions
|
||||||
|
|
||||||
|
@ -561,7 +561,7 @@ class TDTestCase:
|
||||||
|
|
||||||
# create function without buffer
|
# create function without buffer
|
||||||
tdSql.execute("create aggregate function udf1 as '%s' outputtype int bufSize 8 "%self.libudf1)
|
tdSql.execute("create aggregate function udf1 as '%s' outputtype int bufSize 8 "%self.libudf1)
|
||||||
tdSql.execute("create function udf2 as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.execute("create function udf2 as '%s' outputtype double"%self.libudf2)
|
||||||
udf1_sqls ,udf2_sqls = self.try_query_sql()
|
udf1_sqls ,udf2_sqls = self.try_query_sql()
|
||||||
|
|
||||||
for scalar_sql in udf1_sqls:
|
for scalar_sql in udf1_sqls:
|
||||||
|
@ -569,7 +569,7 @@ class TDTestCase:
|
||||||
for aggregate_sql in udf2_sqls:
|
for aggregate_sql in udf2_sqls:
|
||||||
tdSql.error(aggregate_sql)
|
tdSql.error(aggregate_sql)
|
||||||
|
|
||||||
tdSql.execute(" create function db as '%s' outputtype int bufSize 8 "%self.libudf1)
|
tdSql.execute(" create function db as '%s' outputtype int "%self.libudf1)
|
||||||
tdSql.execute(" create aggregate function test as '%s' outputtype int bufSize 8 "%self.libudf1)
|
tdSql.execute(" create aggregate function test as '%s' outputtype int bufSize 8 "%self.libudf1)
|
||||||
tdSql.error(" select db(c1) from stb1 ")
|
tdSql.error(" select db(c1) from stb1 ")
|
||||||
tdSql.error(" select db(c1,c6), db(c6) from stb1 ")
|
tdSql.error(" select db(c1,c6), db(c6) from stb1 ")
|
||||||
|
@ -618,9 +618,9 @@ class TDTestCase:
|
||||||
tdLog.info(" create function name is not build_in functions ")
|
tdLog.info(" create function name is not build_in functions ")
|
||||||
tdSql.execute(" drop function udf1 ")
|
tdSql.execute(" drop function udf1 ")
|
||||||
tdSql.execute(" drop function udf2 ")
|
tdSql.execute(" drop function udf2 ")
|
||||||
tdSql.error("create function max as '%s' outputtype int bufSize 8"%self.libudf1)
|
tdSql.error("create function max as '%s' outputtype int"%self.libudf1)
|
||||||
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
tdSql.error("create function max as '%s' outputtype int bufSize 8"%self.libudf1)
|
tdSql.error("create function max as '%s' outputtype int"%self.libudf1)
|
||||||
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function sum as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
tdSql.error("create aggregate function tbname as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function tbname as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
tdSql.error("create aggregate function function as '%s' outputtype double bufSize 8"%self.libudf2)
|
tdSql.error("create aggregate function function as '%s' outputtype double bufSize 8"%self.libudf2)
|
||||||
|
|
|
@ -50,7 +50,7 @@ class TDTestCase:
|
||||||
|
|
||||||
def create_udf_function(self):
|
def create_udf_function(self):
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
functions = tdSql.getResult("show functions")
|
functions = tdSql.getResult("show functions")
|
||||||
function_nums = len(functions)
|
function_nums = len(functions)
|
||||||
|
|
|
@ -50,7 +50,7 @@ class TDTestCase:
|
||||||
|
|
||||||
def create_udf_function(self):
|
def create_udf_function(self):
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
functions = tdSql.getResult("show functions")
|
functions = tdSql.getResult("show functions")
|
||||||
function_nums = len(functions)
|
function_nums = len(functions)
|
||||||
|
|
|
@ -50,7 +50,7 @@ class TDTestCase:
|
||||||
|
|
||||||
def create_udf_function(self):
|
def create_udf_function(self):
|
||||||
# create scalar functions
|
# create scalar functions
|
||||||
tdSql.execute("create function udf1 as '%s' outputtype int bufSize 8;"%self.libudf1)
|
tdSql.execute("create function udf1 as '%s' outputtype int;"%self.libudf1)
|
||||||
|
|
||||||
functions = tdSql.getResult("show functions")
|
functions = tdSql.getResult("show functions")
|
||||||
function_nums = len(functions)
|
function_nums = len(functions)
|
||||||
|
|
Loading…
Reference in New Issue