Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
2306992b
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
2306992b
编写于
6月 18, 2020
作者:
S
Shuduo Sang
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop' into hotfix/sangshuduo/change-full-test-list
上级
e8607b3b
4ef4f60b
变更
20
隐藏空白更改
内联
并排
Showing
20 changed file
with
230 addition
and
175 deletion
+230
-175
src/client/src/TSDBJNIConnector.c
src/client/src/TSDBJNIConnector.c
+1
-1
src/client/src/tscSchemaUtil.c
src/client/src/tscSchemaUtil.c
+0
-1
src/client/src/tscServer.c
src/client/src/tscServer.c
+6
-8
src/client/src/tscSql.c
src/client/src/tscSql.c
+6
-1
src/client/src/tscStream.c
src/client/src/tscStream.c
+3
-3
src/client/src/tscSub.c
src/client/src/tscSub.c
+5
-3
src/client/src/tscSubquery.c
src/client/src/tscSubquery.c
+28
-25
src/client/src/tscSystem.c
src/client/src/tscSystem.c
+2
-2
src/client/src/tscUtil.c
src/client/src/tscUtil.c
+2
-2
src/rpc/src/rpcMain.c
src/rpc/src/rpcMain.c
+8
-13
src/util/inc/tutil.h
src/util/inc/tutil.h
+2
-0
src/util/src/tcache.c
src/util/src/tcache.c
+1
-1
src/util/src/tconfig.c
src/util/src/tconfig.c
+7
-2
src/util/src/tdes.c
src/util/src/tdes.c
+1
-1
src/util/src/tlog.c
src/util/src/tlog.c
+12
-5
src/util/src/tnote.c
src/util/src/tnote.c
+9
-3
src/util/src/tskiplist.c
src/util/src/tskiplist.c
+1
-1
src/util/src/tutil.c
src/util/src/tutil.c
+33
-4
tests/script/general/parser/null_char.sim
tests/script/general/parser/null_char.sim
+102
-98
tests/script/jenkins/basic.txt
tests/script/jenkins/basic.txt
+1
-1
未找到文件。
src/client/src/TSDBJNIConnector.c
浏览文件 @
2306992b
...
...
@@ -192,7 +192,7 @@ JNIEXPORT jint JNICALL Java_com_taosdata_jdbc_TSDBJNIConnector_setOptions(JNIEnv
const
char
*
tz1
=
(
*
env
)
->
GetStringUTFChars
(
env
,
optionValue
,
NULL
);
if
(
tz1
&&
strlen
(
tz1
)
!=
0
)
{
res
=
taos_options
(
TSDB_OPTION_TIMEZONE
,
tz1
);
jniTrace
(
"set timezone to %s, result:%d"
,
t
imezone
,
res
);
jniTrace
(
"set timezone to %s, result:%d"
,
t
z1
,
res
);
}
else
{
jniTrace
(
"input timezone is empty"
);
}
...
...
src/client/src/tscSchemaUtil.c
浏览文件 @
2306992b
...
...
@@ -32,7 +32,6 @@ int32_t tscGetNumOfTags(const STableMeta* pTableMeta) {
}
if
(
pTableMeta
->
tableType
==
TSDB_SUPER_TABLE
||
pTableMeta
->
tableType
==
TSDB_CHILD_TABLE
)
{
assert
(
tinfo
.
numOfTags
>=
0
);
return
tinfo
.
numOfTags
;
}
...
...
src/client/src/tscServer.c
浏览文件 @
2306992b
...
...
@@ -646,10 +646,6 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
size_t
numOfOutput
=
tscSqlExprNumOfExprs
(
pQueryInfo
);
pQueryMsg
->
numOfOutput
=
htons
(
numOfOutput
);
if
(
numOfOutput
<
0
)
{
tscError
(
"%p illegal value of number of output columns in query msg: %d"
,
pSql
,
numOfOutput
);
return
-
1
;
}
// set column list ids
size_t
numOfCols
=
taosArrayGetSize
(
pQueryInfo
->
colList
);
...
...
@@ -663,7 +659,7 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
if
(
pCol
->
colIndex
.
columnIndex
>=
tscGetNumOfColumns
(
pTableMeta
)
||
pColSchema
->
type
<
TSDB_DATA_TYPE_BOOL
||
pColSchema
->
type
>
TSDB_DATA_TYPE_NCHAR
)
{
tscError
(
"%p sid:%d uid:%"
PRIu64
" id:%s, column index out of range, numOfColumns:%d, index:%d, column name:%s"
,
pSql
,
pTableMeta
->
sid
,
pTableMeta
->
uid
,
pTableMetaInfo
->
name
,
tscGetNumOfColumns
(
pTableMeta
),
pCol
->
colIndex
,
pSql
,
pTableMeta
->
sid
,
pTableMeta
->
uid
,
pTableMetaInfo
->
name
,
tscGetNumOfColumns
(
pTableMeta
),
pCol
->
colIndex
.
columnIndex
,
pColSchema
->
name
);
return
TSDB_CODE_TSC_INVALID_SQL
;
...
...
@@ -783,7 +779,7 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
(
pColSchema
->
type
<
TSDB_DATA_TYPE_BOOL
||
pColSchema
->
type
>
TSDB_DATA_TYPE_NCHAR
))
{
tscError
(
"%p sid:%d uid:%"
PRIu64
" id:%s, tag index out of range, totalCols:%d, numOfTags:%d, index:%d, column name:%s"
,
pSql
,
pTableMeta
->
sid
,
pTableMeta
->
uid
,
pTableMetaInfo
->
name
,
total
,
numOfTagColumns
,
pCol
->
colIndex
,
pColSchema
->
name
);
pCol
->
colIndex
.
columnIndex
,
pColSchema
->
name
);
return
TSDB_CODE_TSC_INVALID_SQL
;
}
...
...
@@ -982,7 +978,7 @@ int32_t tscBuildDropDbMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
SCMDropDbMsg
*
pDropDbMsg
=
(
SCMDropDbMsg
*
)
pCmd
->
payload
;
STableMetaInfo
*
pTableMetaInfo
=
tscGetTableMetaInfoFromCmd
(
pCmd
,
pCmd
->
clauseIndex
,
0
);
strncpy
(
pDropDbMsg
->
db
,
pTableMetaInfo
->
name
,
tListLen
(
pDropDbMsg
->
db
));
tstrncpy
(
pDropDbMsg
->
db
,
pTableMetaInfo
->
name
,
sizeof
(
pDropDbMsg
->
db
));
pDropDbMsg
->
ignoreNotExists
=
pInfo
->
pDCLInfo
->
existsCheck
?
1
:
0
;
pCmd
->
msgType
=
TSDB_MSG_TYPE_CM_DROP_DB
;
...
...
@@ -1052,7 +1048,7 @@ int32_t tscBuildDropAcctMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
SCMDropUserMsg
*
pDropMsg
=
(
SCMDropUserMsg
*
)
pCmd
->
payload
;
STableMetaInfo
*
pTableMetaInfo
=
tscGetTableMetaInfoFromCmd
(
pCmd
,
pCmd
->
clauseIndex
,
0
);
strcpy
(
pDropMsg
->
user
,
pTableMetaInfo
->
name
);
tstrncpy
(
pDropMsg
->
user
,
pTableMetaInfo
->
name
,
sizeof
(
pDropMsg
->
user
)
);
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -1812,6 +1808,7 @@ int tscProcessTableMetaRsp(SSqlObj *pSql) {
// todo handle out of memory case
if
(
pTableMetaInfo
->
pTableMeta
==
NULL
)
{
free
(
pTableMeta
);
return
TSDB_CODE_TSC_OUT_OF_MEMORY
;
}
...
...
@@ -2324,6 +2321,7 @@ int tscGetSTableVgroupInfo(SSqlObj *pSql, int32_t clauseIndex) {
SQueryInfo
*
pNewQueryInfo
=
NULL
;
if
((
code
=
tscGetQueryInfoDetailSafely
(
&
pNew
->
cmd
,
0
,
&
pNewQueryInfo
))
!=
TSDB_CODE_SUCCESS
)
{
tscFreeSqlObj
(
pNew
);
return
code
;
}
...
...
src/client/src/tscSql.c
浏览文件 @
2306992b
...
...
@@ -584,7 +584,7 @@ char *taos_errstr(TAOS_RES *tres) {
void
taos_config
(
int
debug
,
char
*
log_path
)
{
uDebugFlag
=
debug
;
strcpy
(
tsLogDir
,
log_path
);
tstrncpy
(
tsLogDir
,
log_path
,
TSDB_FILENAME_LEN
);
}
char
*
taos_get_server_info
(
TAOS
*
taos
)
{
...
...
@@ -719,6 +719,7 @@ int taos_validate_sql(TAOS *taos, const char *sql) {
if
(
sqlLen
>
tsMaxSQLStringLen
)
{
tscError
(
"%p sql too long"
,
pSql
);
pRes
->
code
=
TSDB_CODE_TSC_INVALID_SQL
;
tfree
(
pSql
);
return
pRes
->
code
;
}
...
...
@@ -727,6 +728,7 @@ int taos_validate_sql(TAOS *taos, const char *sql) {
pRes
->
code
=
TSDB_CODE_TSC_OUT_OF_MEMORY
;
tscError
(
"%p failed to malloc sql string buffer"
,
pSql
);
tscTrace
(
"%p Valid SQL result:%d, %s pObj:%p"
,
pSql
,
pRes
->
code
,
taos_errstr
(
taos
),
pObj
);
tfree
(
pSql
);
return
pRes
->
code
;
}
...
...
@@ -851,6 +853,7 @@ int taos_load_table_info(TAOS *taos, const char *tableNameList) {
if
(
tblListLen
>
MAX_TABLE_NAME_LENGTH
)
{
tscError
(
"%p tableNameList too long, length:%d, maximum allowed:%d"
,
pSql
,
tblListLen
,
MAX_TABLE_NAME_LENGTH
);
pRes
->
code
=
TSDB_CODE_TSC_INVALID_SQL
;
tfree
(
pSql
);
return
pRes
->
code
;
}
...
...
@@ -858,6 +861,7 @@ int taos_load_table_info(TAOS *taos, const char *tableNameList) {
if
(
str
==
NULL
)
{
pRes
->
code
=
TSDB_CODE_TSC_OUT_OF_MEMORY
;
tscError
(
"%p failed to malloc sql string buffer"
,
pSql
);
tfree
(
pSql
);
return
pRes
->
code
;
}
...
...
@@ -873,6 +877,7 @@ int taos_load_table_info(TAOS *taos, const char *tableNameList) {
free
(
str
);
if
(
pRes
->
code
!=
TSDB_CODE_SUCCESS
)
{
tscFreeSqlObj
(
pSql
);
return
pRes
->
code
;
}
...
...
src/client/src/tscStream.c
浏览文件 @
2306992b
...
...
@@ -125,7 +125,7 @@ static void tscProcessStreamTimer(void *handle, void *tmrId) {
}
// launch stream computing in a new thread
SSchedMsg
schedMsg
;
SSchedMsg
schedMsg
=
{
0
}
;
schedMsg
.
fp
=
tscProcessStreamLaunchQuery
;
schedMsg
.
ahandle
=
pStream
;
schedMsg
.
thandle
=
(
void
*
)
1
;
...
...
@@ -239,7 +239,7 @@ static void tscProcessStreamRetrieveResult(void *param, TAOS_RES *res, int numOf
/* no resuls in the query range, retry */
// todo set retry dynamic time
int32_t
retry
=
tsProjectExecInterval
;
tscError
(
"%p stream:%p, retrieve no data, code:%d, retry in %"
PRId
64
"ms"
,
pSql
,
pStream
,
numOfRows
,
retry
);
tscError
(
"%p stream:%p, retrieve no data, code:%d, retry in %"
PRId
32
"ms"
,
pSql
,
pStream
,
numOfRows
,
retry
);
tscSetRetryTimer
(
pStream
,
pStream
->
pSql
,
retry
);
return
;
...
...
@@ -250,7 +250,7 @@ static void tscProcessStreamRetrieveResult(void *param, TAOS_RES *res, int numOf
}
}
tscTrace
(
"%p stream:%p, query on:%s, fetch result completed, fetched rows:%
d"
,
pSql
,
pStream
,
pTableMetaInfo
->
name
,
tscTrace
(
"%p stream:%p, query on:%s, fetch result completed, fetched rows:%
"
PRId64
,
pSql
,
pStream
,
pTableMetaInfo
->
name
,
pStream
->
numOfRes
);
// release the metric/meter meta information reference, so data in cache can be updated
...
...
src/client/src/tscSub.c
浏览文件 @
2306992b
...
...
@@ -291,7 +291,7 @@ static int tscLoadSubscriptionProgress(SSub* pSub) {
fclose
(
fp
);
taosArraySort
(
progress
,
tscCompareSubscriptionProgress
);
tscTrace
(
"subscription progress loaded, %
d
tables: %s"
,
taosArrayGetSize
(
progress
),
pSub
->
topic
);
tscTrace
(
"subscription progress loaded, %
z
tables: %s"
,
taosArrayGetSize
(
progress
),
pSub
->
topic
);
return
1
;
}
...
...
@@ -350,7 +350,7 @@ TAOS_SUB *taos_subscribe(TAOS *taos, int restart, const char* topic, const char
pSub
->
interval
=
interval
;
if
(
fp
!=
NULL
)
{
tscTrace
(
"asynchronize subscription, create new timer"
,
topic
);
tscTrace
(
"asynchronize subscription, create new timer
: %s
"
,
topic
);
pSub
->
fp
=
fp
;
pSub
->
param
=
param
;
taosTmrReset
(
tscProcessSubscriptionTimer
,
interval
,
pSub
,
tscTmr
,
&
pSub
->
pTimer
);
...
...
@@ -435,7 +435,9 @@ void taos_unsubscribe(TAOS_SUB *tsub, int keepProgress) {
}
else
{
char
path
[
256
];
sprintf
(
path
,
"%s/subscribe/%s"
,
tsDataDir
,
pSub
->
topic
);
remove
(
path
);
if
(
remove
(
path
)
!=
0
)
{
tscError
(
"failed to remove progress file, topic = %s, error = %s"
,
pSub
->
topic
,
strerror
(
errno
));
}
}
tscFreeSqlObj
(
pSub
->
pSql
);
...
...
src/client/src/tscSubquery.c
浏览文件 @
2306992b
...
...
@@ -354,7 +354,7 @@ static int32_t tscLaunchSecondPhaseSubqueries(SSqlObj* pSql) {
}
size_t
numOfCols
=
taosArrayGetSize
(
pNewQueryInfo
->
colList
);
tscTrace
(
"%p subquery:%p tableIndex:%d, vgroupIndex:%d, type:%d, exprInfo:%
d, colList:%d
, fieldsInfo:%d, name:%s"
,
tscTrace
(
"%p subquery:%p tableIndex:%d, vgroupIndex:%d, type:%d, exprInfo:%
z, colList:%z
, fieldsInfo:%d, name:%s"
,
pSql
,
pNew
,
0
,
pTableMetaInfo
->
vgroupIndex
,
pNewQueryInfo
->
type
,
taosArrayGetSize
(
pNewQueryInfo
->
exprList
),
numOfCols
,
pNewQueryInfo
->
fieldsInfo
.
numOfOutput
,
pTableMetaInfo
->
name
);
}
...
...
@@ -551,7 +551,7 @@ static void issueTSCompQuery(SSqlObj* pSql, SJoinSupporter* pSupporter, SSqlObj*
tscTrace
(
"%p subquery:%p tableIndex:%d, vgroupIndex:%d, numOfVgroups:%d, type:%d, ts_comp query to retrieve timestamps, "
"numOfExpr:%
d, colList:%d
, numOfOutputFields:%d, name:%s"
,
"numOfExpr:%
z, colList:%z
, numOfOutputFields:%d, name:%s"
,
pParent
,
pSql
,
0
,
pTableMetaInfo
->
vgroupIndex
,
pTableMetaInfo
->
vgroupList
->
numOfVgroups
,
pQueryInfo
->
type
,
tscSqlExprNumOfExprs
(
pQueryInfo
),
numOfCols
,
pQueryInfo
->
fieldsInfo
.
numOfOutput
,
pTableMetaInfo
->
name
);
...
...
@@ -713,28 +713,31 @@ static void tidTagRetrieveCallback(void* param, TAOS_RES* tres, int32_t numOfRow
if
(
taosArrayGetSize
(
s1
)
==
0
||
taosArrayGetSize
(
s2
)
==
0
)
{
// no results,return.
tscTrace
(
"%p free all sub SqlObj and quit"
,
pParentSql
);
freeJoinSubqueryObj
(
pParentSql
);
return
;
}
// proceed to for ts_comp query
SSqlCmd
*
pSubCmd1
=
&
pParentSql
->
pSubs
[
0
]
->
cmd
;
SSqlCmd
*
pSubCmd2
=
&
pParentSql
->
pSubs
[
1
]
->
cmd
;
}
else
{
// proceed to for ts_comp query
SSqlCmd
*
pSubCmd1
=
&
pParentSql
->
pSubs
[
0
]
->
cmd
;
SSqlCmd
*
pSubCmd2
=
&
pParentSql
->
pSubs
[
1
]
->
cmd
;
SQueryInfo
*
pQueryInfo1
=
tscGetQueryInfoDetail
(
pSubCmd1
,
0
);
STableMetaInfo
*
pTableMetaInfo1
=
tscGetMetaInfo
(
pQueryInfo1
,
0
);
tscBuildVgroupTableInfo
(
pParentSql
,
pTableMetaInfo1
,
s1
);
SQueryInfo
*
pQueryInfo1
=
tscGetQueryInfoDetail
(
pSubCmd1
,
0
);
STableMetaInfo
*
pTableMetaInfo1
=
tscGetMetaInfo
(
pQueryInfo1
,
0
);
tscBuildVgroupTableInfo
(
pParentSql
,
pTableMetaInfo1
,
s1
);
SQueryInfo
*
pQueryInfo2
=
tscGetQueryInfoDetail
(
pSubCmd2
,
0
);
STableMetaInfo
*
pTableMetaInfo2
=
tscGetMetaInfo
(
pQueryInfo2
,
0
);
tscBuildVgroupTableInfo
(
pParentSql
,
pTableMetaInfo2
,
s2
);
SQueryInfo
*
pQueryInfo2
=
tscGetQueryInfoDetail
(
pSubCmd2
,
0
);
STableMetaInfo
*
pTableMetaInfo2
=
tscGetMetaInfo
(
pQueryInfo2
,
0
);
tscBuildVgroupTableInfo
(
pParentSql
,
pTableMetaInfo2
,
s2
);
pSupporter
->
pState
->
numOfTotal
=
2
;
pSupporter
->
pState
->
numOfRemain
=
pSupporter
->
pState
->
numOfTotal
;
pSupporter
->
pState
->
numOfTotal
=
2
;
pSupporter
->
pState
->
numOfRemain
=
pSupporter
->
pState
->
numOfTotal
;
for
(
int32_t
m
=
0
;
m
<
pParentSql
->
numOfSubs
;
++
m
)
{
SSqlObj
*
sub
=
pParentSql
->
pSubs
[
m
];
issueTSCompQuery
(
sub
,
sub
->
param
,
pParentSql
);
for
(
int32_t
m
=
0
;
m
<
pParentSql
->
numOfSubs
;
++
m
)
{
SSqlObj
*
sub
=
pParentSql
->
pSubs
[
m
];
issueTSCompQuery
(
sub
,
sub
->
param
,
pParentSql
);
}
}
taosArrayDestroy
(
s1
);
taosArrayDestroy
(
s2
);
}
static
void
tsCompRetrieveCallback
(
void
*
param
,
TAOS_RES
*
tres
,
int32_t
numOfRows
)
{
...
...
@@ -1242,7 +1245,7 @@ int32_t tscLaunchJoinSubquery(SSqlObj *pSql, int16_t tableIndex, SJoinSupporter
tscTrace
(
"%p subquery:%p tableIndex:%d, vgroupIndex:%d, type:%d, transfer to tid_tag query to retrieve (tableId, tags), "
"exprInfo:%
d, colList:%d
, fieldsInfo:%d, tagIndex:%d, name:%s"
,
"exprInfo:%
z, colList:%z
, fieldsInfo:%d, tagIndex:%d, name:%s"
,
pSql
,
pNew
,
tableIndex
,
pTableMetaInfo
->
vgroupIndex
,
pNewQueryInfo
->
type
,
tscSqlExprNumOfExprs
(
pNewQueryInfo
),
numOfCols
,
pNewQueryInfo
->
fieldsInfo
.
numOfOutput
,
index
.
columnIndex
,
pNewQueryInfo
->
pTableMetaInfo
[
0
]
->
name
);
}
else
{
...
...
@@ -1276,8 +1279,8 @@ int32_t tscLaunchJoinSubquery(SSqlObj *pSql, int16_t tableIndex, SJoinSupporter
size_t
numOfCols
=
taosArrayGetSize
(
pNewQueryInfo
->
colList
);
tscTrace
(
"%p subquery:%p tableIndex:%d, vgroupIndex:%d, type:%
d
, transfer to ts_comp query to retrieve timestamps, "
"exprInfo:%
d, colList:%d
, fieldsInfo:%d, name:%s"
,
"%p subquery:%p tableIndex:%d, vgroupIndex:%d, type:%
u
, transfer to ts_comp query to retrieve timestamps, "
"exprInfo:%
z, colList:%z
, fieldsInfo:%d, name:%s"
,
pSql
,
pNew
,
tableIndex
,
pTableMetaInfo
->
vgroupIndex
,
pNewQueryInfo
->
type
,
tscSqlExprNumOfExprs
(
pNewQueryInfo
),
numOfCols
,
pNewQueryInfo
->
fieldsInfo
.
numOfOutput
,
pNewQueryInfo
->
pTableMetaInfo
[
0
]
->
name
);
}
...
...
@@ -1699,11 +1702,11 @@ static void tscRetrieveFromDnodeCallBack(void *param, TAOS_RES *tres, int numOfR
assert
(
pRes
->
numOfRows
==
numOfRows
);
int64_t
num
=
atomic_add_fetch_64
(
&
pState
->
numOfRetrievedRows
,
numOfRows
);
tscTrace
(
"%p sub:%p retrieve numOfRows:%
d totalNumOfRows:%d
from ip:%s, orderOfSub:%d"
,
pPObj
,
pSql
,
tscTrace
(
"%p sub:%p retrieve numOfRows:%
"
PRId64
" totalNumOfRows:%"
PRIu64
"
from ip:%s, orderOfSub:%d"
,
pPObj
,
pSql
,
pRes
->
numOfRows
,
pState
->
numOfRetrievedRows
,
pSql
->
ipList
.
fqdn
[
pSql
->
ipList
.
inUse
],
idx
);
if
(
num
>
tsMaxNumOfOrderedResults
&&
tscIsProjectionQueryOnSTable
(
pQueryInfo
,
0
))
{
tscError
(
"%p sub:%p num of OrderedRes is too many, max allowed:%"
PRId
64
" , current:%"
PRId64
,
tscError
(
"%p sub:%p num of OrderedRes is too many, max allowed:%"
PRId
32
" , current:%"
PRId64
,
pPObj
,
pSql
,
tsMaxNumOfOrderedResults
,
num
);
tscAbortFurtherRetryRetrieval
(
trsupport
,
tres
,
TSDB_CODE_TSC_SORTED_RES_TOO_MANY
);
return
;
...
...
@@ -1728,6 +1731,7 @@ static void tscRetrieveFromDnodeCallBack(void *param, TAOS_RES *tres, int numOfR
pRes
->
numOfRows
,
pQueryInfo
->
groupbyExpr
.
orderType
);
if
(
ret
<
0
)
{
// set no disk space error info, and abort retry
tscAbortFurtherRetryRetrieval
(
trsupport
,
tres
,
TSDB_CODE_TSC_NO_DISKSPACE
);
pthread_mutex_unlock
(
&
trsupport
->
queryMutex
);
}
else
if
(
pRes
->
completed
)
{
tscAllDataRetrievedFromDnode
(
trsupport
,
pSql
);
...
...
@@ -1738,7 +1742,6 @@ static void tscRetrieveFromDnodeCallBack(void *param, TAOS_RES *tres, int numOfR
taos_fetch_rows_a
(
tres
,
tscRetrieveFromDnodeCallBack
,
param
);
}
pthread_mutex_unlock
(
&
trsupport
->
queryMutex
);
}
else
{
// all data has been retrieved to client
tscAllDataRetrievedFromDnode
(
trsupport
,
pSql
);
}
...
...
@@ -1827,7 +1830,7 @@ void tscRetrieveDataRes(void *param, TAOS_RES *tres, int code) {
}
if
(
pParentSql
->
res
.
code
!=
TSDB_CODE_SUCCESS
)
{
// at least one peer subquery failed, abort current query
tscTrace
(
"%p sub:%p query failed,ip:%
u
,vgId:%d,orderOfSub:%d,global code:%d"
,
pParentSql
,
pSql
,
tscTrace
(
"%p sub:%p query failed,ip:%
s
,vgId:%d,orderOfSub:%d,global code:%d"
,
pParentSql
,
pSql
,
pVgroup
->
ipAddr
[
0
].
fqdn
,
pVgroup
->
vgId
,
trsupport
->
subqueryIndex
,
pParentSql
->
res
.
code
);
tscHandleSubqueryError
(
param
,
tres
,
pParentSql
->
res
.
code
);
...
...
src/client/src/tscSystem.c
浏览文件 @
2306992b
...
...
@@ -220,7 +220,7 @@ static int taos_options_imp(TSDB_OPTION option, const char *pStr) {
if
(
strlen
(
tsLocale
)
==
0
)
{
// locale does not set yet
char
*
defaultLocale
=
setlocale
(
LC_CTYPE
,
""
);
strcpy
(
tsLocale
,
defaultLocale
);
tstrncpy
(
tsLocale
,
defaultLocale
,
sizeof
(
tsLocale
)
);
}
// set the user specified locale
...
...
@@ -304,7 +304,7 @@ static int taos_options_imp(TSDB_OPTION option, const char *pStr) {
assert
(
cfg
!=
NULL
);
if
(
cfg
->
cfgStatus
<=
TAOS_CFG_CSTATUS_OPTION
)
{
strcpy
(
tsTimezone
,
pStr
);
tstrncpy
(
tsTimezone
,
pStr
,
sizeof
(
tsTimezone
)
);
tsSetTimeZone
();
cfg
->
cfgStatus
=
TAOS_CFG_CSTATUS_OPTION
;
tscTrace
(
"timezone set:%s, input:%s by taos_options"
,
tsTimezone
,
pStr
);
...
...
src/client/src/tscUtil.c
浏览文件 @
2306992b
...
...
@@ -1840,7 +1840,7 @@ SSqlObj* createSubqueryObj(SSqlObj* pSql, int16_t tableIndex, void (*fp)(), void
size_t
size
=
taosArrayGetSize
(
pNewQueryInfo
->
colList
);
tscTrace
(
"%p new subquery:%p, tableIndex:%d, vgroupIndex:%d, type:%d, exprInfo:%
d, colList:%d
,"
"%p new subquery:%p, tableIndex:%d, vgroupIndex:%d, type:%d, exprInfo:%
zu, colList:%zu
,"
"fieldInfo:%d, name:%s, qrang:%"
PRId64
" - %"
PRId64
" order:%d, limit:%"
PRId64
,
pSql
,
pNew
,
tableIndex
,
pTableMetaInfo
->
vgroupIndex
,
pNewQueryInfo
->
type
,
tscSqlExprNumOfExprs
(
pNewQueryInfo
),
size
,
pNewQueryInfo
->
fieldsInfo
.
numOfOutput
,
pFinalInfo
->
name
,
pNewQueryInfo
->
window
.
skey
,
...
...
@@ -2002,7 +2002,7 @@ void tscTryQueryNextVnode(SSqlObj* pSql, __async_cb_func_t fp) {
int32_t
totalVgroups
=
pTableMetaInfo
->
vgroupList
->
numOfVgroups
;
while
(
++
pTableMetaInfo
->
vgroupIndex
<
totalVgroups
)
{
tscTrace
(
"%p results from vgroup index:%d completed, try next:%d. total vgroups:%d. current numOfRes:%
d"
,
pSql
,
tscTrace
(
"%p results from vgroup index:%d completed, try next:%d. total vgroups:%d. current numOfRes:%
"
PRId64
,
pSql
,
pTableMetaInfo
->
vgroupIndex
-
1
,
pTableMetaInfo
->
vgroupIndex
,
totalVgroups
,
pRes
->
numOfClauseTotal
);
/*
...
...
src/rpc/src/rpcMain.c
浏览文件 @
2306992b
...
...
@@ -574,19 +574,15 @@ static void rpcReleaseConn(SRpcConn *pConn) {
char
hashstr
[
40
]
=
{
0
};
size_t
size
=
snprintf
(
hashstr
,
sizeof
(
hashstr
),
"%x:%x:%x:%d"
,
pConn
->
peerIp
,
pConn
->
linkUid
,
pConn
->
peerId
,
pConn
->
connType
);
taosHashRemove
(
pRpc
->
hash
,
hashstr
,
size
);
rpcFreeMsg
(
pConn
->
pRspMsg
);
// it may have a response msg saved, but not request msg
pConn
->
pRspMsg
=
NULL
;
pConn
->
inType
=
0
;
pConn
->
inTranId
=
0
;
}
else
{
pConn
->
outType
=
0
;
pConn
->
outTranId
=
0
;
pConn
->
pReqMsg
=
NULL
;
}
taosFreeId
(
pRpc
->
idPool
,
pConn
->
sid
);
pConn
->
pContext
=
NULL
;
}
// lockedBy can not be reset, since it maybe hold by a thread
int
sid
=
pConn
->
sid
;
int64_t
lockedBy
=
pConn
->
lockedBy
;
memset
(
pConn
,
0
,
sizeof
(
SRpcConn
));
pConn
->
lockedBy
=
lockedBy
;
taosFreeId
(
pRpc
->
idPool
,
sid
);
tTrace
(
"%s, rpc connection is released"
,
pConn
->
info
);
}
...
...
@@ -611,7 +607,6 @@ static SRpcConn *rpcAllocateClientConn(SRpcInfo *pRpc) {
terrno
=
TSDB_CODE_RPC_MAX_SESSIONS
;
}
else
{
pConn
=
pRpc
->
connList
+
sid
;
memset
(
pConn
,
0
,
sizeof
(
SRpcConn
));
pConn
->
pRpc
=
pRpc
;
pConn
->
sid
=
sid
;
...
...
src/util/inc/tutil.h
浏览文件 @
2306992b
...
...
@@ -117,6 +117,8 @@ extern "C" {
#define POW2(x) ((x) * (x))
int
taosRand
(
void
);
int32_t
strdequote
(
char
*
src
);
size_t
strtrim
(
char
*
src
);
...
...
src/util/src/tcache.c
浏览文件 @
2306992b
...
...
@@ -506,7 +506,7 @@ void taosAddToTrash(SCacheObj *pCacheObj, SCacheDataNode *pNode) {
void
taosRemoveFromTrashCan
(
SCacheObj
*
pCacheObj
,
STrashElem
*
pElem
)
{
if
(
pElem
->
pData
->
signature
!=
(
uint64_t
)
pElem
->
pData
)
{
uError
(
"key:sig:0x%
x
%p data has been released, ignore"
,
pElem
->
pData
->
signature
,
pElem
->
pData
);
uError
(
"key:sig:0x%
"
PRIx64
"
%p data has been released, ignore"
,
pElem
->
pData
->
signature
,
pElem
->
pData
);
return
;
}
...
...
src/util/src/tconfig.c
浏览文件 @
2306992b
...
...
@@ -119,8 +119,13 @@ static void taosReadDirectoryConfig(SGlobalCfg *cfg, char *input_value) {
struct
stat
dirstat
;
if
(
stat
(
option
,
&
dirstat
)
<
0
)
{
int
code
=
mkdir
(
option
,
0755
);
uPrint
(
"config option:%s, input value:%s, directory not exist, create with return code:%d"
,
cfg
->
option
,
input_value
,
code
);
if
(
code
<
0
)
{
uError
(
"config option:%s, input value:%s, directory not exist, create fail with return code:%d"
,
cfg
->
option
,
input_value
,
code
);
}
else
{
uPrint
(
"config option:%s, input value:%s, directory not exist, create with return code:%d"
,
cfg
->
option
,
input_value
,
code
);
}
}
cfg
->
cfgStatus
=
TAOS_CFG_CSTATUS_FILE
;
}
else
{
...
...
src/util/src/tdes.c
浏览文件 @
2306992b
...
...
@@ -140,7 +140,7 @@ void print_char_as_binary(char input) {
void
generate_key
(
unsigned
char
*
key
)
{
int
i
;
for
(
i
=
0
;
i
<
8
;
i
++
)
{
key
[
i
]
=
r
and
()
%
255
;
key
[
i
]
=
taosR
and
()
%
255
;
}
}
...
...
src/util/src/tlog.c
浏览文件 @
2306992b
...
...
@@ -233,7 +233,9 @@ static void taosGetLogFileName(char *fn) {
}
}
strcpy
(
tsLogObj
.
logName
,
fn
);
if
(
strlen
(
fn
)
<
LOG_FILE_NAME_LEN
)
{
strcpy
(
tsLogObj
.
logName
,
fn
);
}
}
static
int32_t
taosOpenLogFile
(
char
*
fn
,
int32_t
maxLines
,
int32_t
maxFileNum
)
{
...
...
@@ -253,15 +255,20 @@ static int32_t taosOpenLogFile(char *fn, int32_t maxLines, int32_t maxFileNum) {
tsLogObj
.
fileNum
=
maxFileNum
;
taosGetLogFileName
(
fn
);
strcpy
(
name
,
fn
);
strcat
(
name
,
".0"
);
if
(
strlen
(
fn
)
<
LOG_FILE_NAME_LEN
+
50
-
2
)
{
strcpy
(
name
,
fn
);
strcat
(
name
,
".0"
);
}
// if none of the log files exist, open 0, if both exists, open the old one
if
(
stat
(
name
,
&
logstat0
)
<
0
)
{
tsLogObj
.
flag
=
0
;
}
else
{
strcpy
(
name
,
fn
);
strcat
(
name
,
".1"
);
if
(
strlen
(
fn
)
<
LOG_FILE_NAME_LEN
+
50
-
2
)
{
strcpy
(
name
,
fn
);
strcat
(
name
,
".1"
);
}
if
(
stat
(
name
,
&
logstat1
)
<
0
)
{
tsLogObj
.
flag
=
1
;
}
else
{
...
...
src/util/src/tnote.c
浏览文件 @
2306992b
...
...
@@ -169,7 +169,9 @@ void taosGetNoteName(char *fn, taosNoteInfo * pNote)
}
}
strcpy
(
pNote
->
taosNoteName
,
fn
);
if
(
strlen
(
fn
)
<
NOTE_FILE_NAME_LEN
)
{
strcpy
(
pNote
->
taosNoteName
,
fn
);
}
}
int
taosOpenNoteWithMaxLines
(
char
*
fn
,
int
maxLines
,
int
maxNoteNum
,
taosNoteInfo
*
pNote
)
...
...
@@ -182,14 +184,18 @@ int taosOpenNoteWithMaxLines(char *fn, int maxLines, int maxNoteNum, taosNoteInf
pNote
->
taosNoteFileNum
=
maxNoteNum
;
taosGetNoteName
(
fn
,
pNote
);
if
(
strlen
(
fn
)
>
NOTE_FILE_NAME_LEN
*
2
-
2
)
{
fprintf
(
stderr
,
"the len of file name overflow:%s
\n
"
,
fn
);
return
-
1
;
}
strcpy
(
name
,
fn
);
strcat
(
name
,
".0"
);
// if none of the note files exist, open 0, if both exists, open the old one
if
(
stat
(
name
,
&
notestat0
)
<
0
)
{
pNote
->
taosNoteFlag
=
0
;
}
else
{
}
else
{
strcpy
(
name
,
fn
);
strcat
(
name
,
".1"
);
if
(
stat
(
name
,
&
notestat1
)
<
0
)
{
...
...
src/util/src/tskiplist.c
浏览文件 @
2306992b
...
...
@@ -38,7 +38,7 @@ static FORCE_INLINE int32_t getSkipListNodeRandomHeight(SSkipList *pSkipList) {
const
uint32_t
factor
=
4
;
int32_t
n
=
1
;
while
((
r
and
()
%
factor
)
==
0
&&
n
<=
pSkipList
->
maxLevel
)
{
while
((
taosR
and
()
%
factor
)
==
0
&&
n
<=
pSkipList
->
maxLevel
)
{
n
++
;
}
...
...
src/util/src/tutil.c
浏览文件 @
2306992b
...
...
@@ -27,6 +27,33 @@
#include "tulog.h"
#include "taoserror.h"
#ifdef WINDOWS
int
taosRand
(
void
)
{
return
rand
();
}
#else
int
taosRand
(
void
)
{
int
fd
;
int
seed
;
fd
=
open
(
"/dev/urandom"
,
0
);
if
(
fd
<
0
)
{
seed
=
time
(
0
);
}
else
{
int
len
=
read
(
fd
,
&
seed
,
sizeof
(
seed
));
if
(
len
<
0
)
{
seed
=
time
(
0
);
}
close
(
fd
);
}
return
seed
;
}
#endif
int32_t
strdequote
(
char
*
z
)
{
if
(
z
==
NULL
)
{
return
0
;
...
...
@@ -434,8 +461,10 @@ void getTmpfilePath(const char *fileNamePrefix, char *dstPath) {
strcpy
(
tmpPath
,
tmpDir
);
strcat
(
tmpPath
,
tdengineTmpFileNamePrefix
);
strcat
(
tmpPath
,
fileNamePrefix
);
strcat
(
tmpPath
,
"-%d-%s"
);
if
(
strlen
(
tmpPath
)
+
strlen
(
fileNamePrefix
)
+
strlen
(
"-%d-%s"
)
<
PATH_MAX
)
{
strcat
(
tmpPath
,
fileNamePrefix
);
strcat
(
tmpPath
,
"-%d-%s"
);
}
char
rand
[
8
]
=
{
0
};
taosRandStr
(
rand
,
tListLen
(
rand
)
-
1
);
...
...
@@ -447,7 +476,7 @@ void taosRandStr(char* str, int32_t size) {
int32_t
len
=
39
;
for
(
int32_t
i
=
0
;
i
<
size
;
++
i
)
{
str
[
i
]
=
set
[
r
and
()
%
len
];
str
[
i
]
=
set
[
taosR
and
()
%
len
];
}
}
...
...
@@ -718,4 +747,4 @@ void taosRemoveDir(char *rootDir) {
rmdir
(
rootDir
);
uPrint
(
"dir:%s is removed"
,
rootDir
);
}
\ No newline at end of file
}
tests/script/general/parser/null_char.sim
浏览文件 @
2306992b
...
...
@@ -206,68 +206,70 @@ endi
################# binary
sql alter table st41 set tag tag_binary = "shanghai"
sql
describe
st41
if $data
23
!= shanghai then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
00
!= shanghai then
return -1
endi
##### test 'space' case
#$tagvalue = '
#$tagvalue = $tagvalue '
#sql alter table st41 set tag tag_binary = $tagvalue
system_content echo ' ' | sed 's/ //g' | tr -d '\n' # Construct an empty result for later result checking
sql alter table st41 set tag tag_binary = ""
#sql describe st41
#if $data23 != $tagvalue then
# return -1
#endi
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
if $data00 != $system_content then
print expect [ $system_content ], actual [ $data00 ]
return -1
endi
sql alter table st41 set tag tag_binary = "NULL"
sql
describe
st41
if $data
23
!= NULL then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
00
!= NULL then
return -1
endi
sql alter table st41 set tag tag_binary = NULL
sql
describe
st41
if $data
23
!= NULL then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
00
!= NULL then
print ==8== expect: NULL, actually: $data23
return -1
endi
################### nchar
sql alter table st41 set tag tag_nchar = "��˼����"
sql
describe
st41
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
#sleep 1000
#if $data
33
!= ��˼���� then
# print ==== expect ��˼����, actually $data
33
#if $data
01
!= ��˼���� then
# print ==== expect ��˼����, actually $data
01
# return -1
#endi
##### test 'space' case
#$tagvalue = '
#$tagvalue = $tagvalue '
sql alter table st41 set tag tag_nchar = ''
#sql
describe
st41
#if $data
33
!= $tagvalue then
#sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
#if $data
01
!= $tagvalue then
# return -1
#endi
sql alter table st41 set tag tag_nchar = "NULL"
sql
describe
st41
if $data
33
!= NULL then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
01
!= NULL then
return -1
endi
sql alter table st41 set tag tag_nchar = NULL
#sql
describe
st41
#if $data
33
!= then
# print ==9== expect , actually $data
33
#sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
#if $data
01
!= then
# print ==9== expect , actually $data
01
# return -1
#endi
################### int
sql alter table st41 set tag tag_int = -2147483647
sql
describe
st41
if $data
43
!= -2147483647 then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
02
!= -2147483647 then
return -1
endi
sql alter table st41 set tag tag_int = 2147483647
sql
describe
st41
if $data
43
!= 2147483647 then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
02
!= 2147483647 then
return -1
endi
...
...
@@ -275,19 +277,19 @@ sql_error alter table st41 set tag tag_int = -2147483648
sql_error alter table st41 set tag tag_int = 2147483648
sql alter table st41 set tag tag_int = '-379'
sql
describe
st41
if $data
43
!= -379 then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
02
!= -379 then
return -1
endi
sql alter table st41 set tag tag_int = -2000
sql
describe
st41
if $data
43
!= -2000 then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
02
!= -2000 then
return -1
endi
sql alter table st41 set tag tag_int = NULL
sql
describe
st41
if $data
43
!= NULL then
print ==10== expect: NULL, actually: $data
43
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
02
!= NULL then
print ==10== expect: NULL, actually: $data
02
return -1
endi
sql alter table st41 set tag tag_int = 'NULL'
...
...
@@ -296,34 +298,34 @@ sql_error alter table st41 set tag tag_int = abc379
################### bool
sql alter table st41 set tag tag_bool = 'true'
sql
describe
st41
if $data
53 != true
then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
03 != 1
then
return -1
endi
sql alter table st41 set tag tag_bool = 'false'
sql
describe
st41
if $data
53 != false
then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
03 != 0
then
return -1
endi
sql alter table st41 set tag tag_bool = 0
sql
describe
st41
if $data
53 != false
then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
03 != 0
then
return -1
endi
sql alter table st41 set tag tag_bool = 123
sql
describe
st41
if $data
53 != true
then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
03 != 1
then
return -1
endi
sql alter table st41 set tag tag_bool = 'NULL'
sql
describe
st41
if $data
5
3 != NULL then
print ==14== expect: NULL, actually: $data
5
3
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
0
3 != NULL then
print ==14== expect: NULL, actually: $data
0
3
return -1
endi
sql alter table st41 set tag tag_bool = NULL
sql
describe
st41
if $data
5
3 != NULL then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
0
3 != NULL then
return -1
endi
...
...
@@ -333,50 +335,51 @@ sql_error alter table st41 set tag tag_bool = abc379
################### float
sql alter table st41 set tag tag_float = -32
sql describe st41
if $data63 != -32.000000 then
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
if $data04 != -32.00000 then
print expect -32.00000 actual $data04
return -1
endi
sql alter table st41 set tag tag_float = 54.123456
sql
describe
st41
if $data
63
!= 54.123455 then
print ==15== expect: 54.123455, actually: $data
63
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
04
!= 54.123455 then
print ==15== expect: 54.123455, actually: $data
04
# return -1
endi
sql alter table st41 set tag tag_float = 54.12345
sql
describe
st41
if $data
63 != 54.123451
then
print ==16== expect: 54.12345
1, actually: $data63
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
04 != 54.12345
then
print ==16== expect: 54.12345
, actually: $data04
return -1
endi
sql alter table st41 set tag tag_float = 54.12345678
sql
describe
st41
if $data
63 != 54.123455
then
print ==11== expect: 54.1234
55, actually : $data63
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
04 != 54.12346
then
print ==11== expect: 54.1234
6, actually : $data04
return -1
endi
sql alter table st41 set tag tag_float = NULL
sql
describe
st41
if $data
63
!= NULL then
print ==12== expect: NULL, actually : $data
63
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
04
!= NULL then
print ==12== expect: NULL, actually : $data
04
return -1
endi
sql alter table st41 set tag tag_float = 'NULL'
sql
describe
st41
if $data
63
!= NULL then
print ==17== expect: NULL, actually : $data
63
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
04
!= NULL then
print ==17== expect: NULL, actually : $data
04
return -1
endi
sql alter table st41 set tag tag_float = '54.123456'
sql
describe
st41
if $data
63 != 54.123455
then
print ==18== expect: 54.1234
55, actually : $data63
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
04 != 54.12346
then
print ==18== expect: 54.1234
6, actually : $data04
return -1
endi
sql alter table st41 set tag tag_float = '-54.123456'
sql
describe
st41
if $data
63 != -54.123455
then
print ==19== expect: -54.1234
55, actually : $data63
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
04 != -54.12346
then
print ==19== expect: -54.1234
6, actually : $data04
return -1
endi
sql_error alter table st41 set tag tag_float = ''
...
...
@@ -387,30 +390,32 @@ sql_error alter table st41 set tag tag_float = abc
################### double
sql alter table st41 set tag tag_double = -92
sql describe st41
if $data73 != -92.000000 then
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
if $data05 != -92.000000000 then
print expect -92.000000000 actual $data05
return -1
endi
sql alter table st41 set tag tag_double = 184
sql describe st41
if $data73 != 184.000000 then
sql select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from st41
if $data05 != 184.000000000 then
print expect 184.000000000 actual $data05
return -1
endi
sql alter table st41 set tag tag_double = '-2456'
sql
describe
st41
if $data
73 != -2456.
000000 then
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
05 != -2456.000
000000 then
return -1
endi
sql alter table st41 set tag tag_double = NULL
sql
describe
st41
if $data
73
!= NULL then
print ==13== expect: NULL, actually : $data
73
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
05
!= NULL then
print ==13== expect: NULL, actually : $data
05
return -1
endi
sql alter table st41 set tag tag_double = 'NULL'
sql
describe
st41
if $data
73
!= NULL then
print ==20== expect: NULL, actually : $data
73
sql
select tag_binary, tag_nchar, tag_int, tag_bool, tag_float, tag_double from
st41
if $data
05
!= NULL then
print ==20== expect: NULL, actually : $data
05
return -1
endi
sql_error alter table st41 set tag tag_double = ''
...
...
@@ -427,23 +432,22 @@ sql alter table st51 set tag tag_bigint = '-379'
sql alter table st51 set tag tag_bigint = -2000
sql alter table st51 set tag tag_bigint = NULL
sql alter table st51 set tag tag_bigint = 9223372036854775807
sql
describe
st51
if $data
23
!= 9223372036854775807 then
sql
select tag_bigint, tag_smallint, tag_tinyint from
st51
if $data
00
!= 9223372036854775807 then
return -1
endi
sql alter table st51 set tag tag_bigint = 9223372036854775808
sql
describe
st51
if $data
23
!= 9223372036854775807 then
sql
select tag_bigint, tag_smallint, tag_tinyint from
st51
if $data
00
!= 9223372036854775807 then
return -1
endi
sql alter table st51 set tag tag_bigint = -9223372036854775807
sql
describe
st51
if $data
23
!= -9223372036854775807 then
sql
select tag_bigint, tag_smallint, tag_tinyint from
st51
if $data
00
!= -9223372036854775807 then
return -1
endi
sql_error alter table st51 set tag tag_bigint = -9223372036854775808
sql alter table st51 set tag tag_bigint = 'NULL'
sql_error alter table st51 set tag tag_bigint = ''
sql_error alter table st51 set tag tag_bigint = abc379
...
...
@@ -452,15 +456,15 @@ sql_error alter table st51 set tag tag_bigint = abc379
sql alter table st51 set tag tag_smallint = -2000
sql alter table st51 set tag tag_smallint = NULL
sql alter table st51 set tag tag_smallint = 32767
sql
describe
st51
if $data
33
!= 32767 then
sql
select tag_bigint, tag_smallint, tag_tinyint from
st51
if $data
01
!= 32767 then
return -1
endi
sql_error alter table st51 set tag tag_smallint = 32768
sql alter table st51 set tag tag_smallint = -32767
sql
describe
st51
if $data
33
!= -32767 then
sql
select tag_bigint, tag_smallint, tag_tinyint from
st51
if $data
01
!= -32767 then
return -1
endi
sql_error alter table st51 set tag tag_smallint = -32768
...
...
@@ -473,13 +477,13 @@ sql_error alter table st51 set tag tag_smallint = abc379
sql alter table st51 set tag tag_tinyint = -127
sql alter table st51 set tag tag_tinyint = NULL
sql alter table st51 set tag tag_tinyint = 127
sql
describe
st51
if $data
43
!= 127 then
sql
select tag_bigint, tag_smallint, tag_tinyint from
st51
if $data
02
!= 127 then
return -1
endi
sql alter table st51 set tag tag_tinyint = -127
sql
describe
st51
if $data
43
!= -127 then
sql
select tag_bigint, tag_smallint, tag_tinyint from
st51
if $data
02
!= -127 then
return -1
endi
sql_error alter table st51 set tag tag_tinyint = '-128'
...
...
@@ -493,4 +497,4 @@ sql_error alter table st51 set tag tag_tinyint = abc379
#sql drop database $db
system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
system sh/exec.sh -n dnode1 -s stop -x SIGINT
tests/script/jenkins/basic.txt
浏览文件 @
2306992b
...
...
@@ -120,7 +120,7 @@ cd ../../../debug; make
#./test.sh -f general/parser/import_file.sim
./test.sh -f general/parser/lastrow.sim
./test.sh -f general/parser/nchar.sim
#
./test.sh -f general/parser/null_char.sim
./test.sh -f general/parser/null_char.sim
./test.sh -f general/parser/single_row_in_tb.sim
./test.sh -f general/parser/select_from_cache_disk.sim
./test.sh -f general/parser/mixed_blocks.sim
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录