提交 68e2be03 编写于 作者: Y yihaoDeng

[TD-3086]<feature> tag support timestamp

上级 78f30314
...@@ -6791,7 +6791,7 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) { ...@@ -6791,7 +6791,7 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
const int32_t STABLE_INDEX = 1; const int32_t STABLE_INDEX = 1;
STableMetaInfo* pStableMetaInfo = tscGetMetaInfo(pQueryInfo, STABLE_INDEX); STableMetaInfo* pStableMetaInfo = tscGetMetaInfo(pQueryInfo, STABLE_INDEX);
// super table name, create table by using dst // super table name, create table by using dst
int32_t numOfTables = (int32_t) taosArrayGetSize(pCreateTable->childTableInfo); int32_t numOfTables = (int32_t) taosArrayGetSize(pCreateTable->childTableInfo);
for(int32_t j = 0; j < numOfTables; ++j) { for(int32_t j = 0; j < numOfTables; ++j) {
...@@ -6820,6 +6820,7 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) { ...@@ -6820,6 +6820,7 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
// too long tag values will return invalid sql, not be truncated automatically // too long tag values will return invalid sql, not be truncated automatically
SSchema *pTagSchema = tscGetTableTagSchema(pStableMetaInfo->pTableMeta); SSchema *pTagSchema = tscGetTableTagSchema(pStableMetaInfo->pTableMeta);
STableComInfo tinfo = tscGetTableInfo(pStableMetaInfo->pTableMeta);
STagData *pTag = &pCreateTableInfo->tagdata; STagData *pTag = &pCreateTableInfo->tagdata;
SKVRowBuilder kvRowBuilder = {0}; SKVRowBuilder kvRowBuilder = {0};
...@@ -6869,8 +6870,12 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) { ...@@ -6869,8 +6870,12 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
tdDestroyKVRowBuilder(&kvRowBuilder); tdDestroyKVRowBuilder(&kvRowBuilder);
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg3); return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg3);
} }
} else if (pSchema->type == TSDB_DATA_TYPE_TIMESTAMP) {
pItem->pVar.i64 =
convertTimePrecision(pItem->pVar.i64, TSDB_TIME_PRECISION_NANO, tinfo.precision);
} }
ret = tVariantDump(&(pItem->pVar), tagVal, pSchema->type, true); ret = tVariantDump(&(pItem->pVar), tagVal, pSchema->type, true);
// check again after the convert since it may be converted from binary to nchar. // check again after the convert since it may be converted from binary to nchar.
...@@ -6915,7 +6920,11 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) { ...@@ -6915,7 +6920,11 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
tdDestroyKVRowBuilder(&kvRowBuilder); tdDestroyKVRowBuilder(&kvRowBuilder);
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg3); return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg3);
} }
} else if (pSchema->type == TSDB_DATA_TYPE_TIMESTAMP) {
pItem->pVar.i64 =
convertTimePrecision(pItem->pVar.i64, TSDB_TIME_PRECISION_NANO, tinfo.precision);
} }
ret = tVariantDump(&(pItem->pVar), tagVal, pSchema->type, true); ret = tVariantDump(&(pItem->pVar), tagVal, pSchema->type, true);
......
...@@ -16,106 +16,105 @@ ...@@ -16,106 +16,105 @@
#ifndef TDENGINE_TTOKENDEF_H #ifndef TDENGINE_TTOKENDEF_H
#define TDENGINE_TTOKENDEF_H #define TDENGINE_TTOKENDEF_H
#define TK_ID 1
#define TK_ID 1 #define TK_BOOL 2
#define TK_BOOL 2 #define TK_TINYINT 3
#define TK_TINYINT 3 #define TK_SMALLINT 4
#define TK_SMALLINT 4 #define TK_INTEGER 5
#define TK_INTEGER 5 #define TK_BIGINT 6
#define TK_BIGINT 6 #define TK_FLOAT 7
#define TK_FLOAT 7 #define TK_DOUBLE 8
#define TK_DOUBLE 8 #define TK_STRING 9
#define TK_STRING 9 #define TK_TIMESTAMP 10
#define TK_TIMESTAMP 10 #define TK_BINARY 11
#define TK_BINARY 11 #define TK_NCHAR 12
#define TK_NCHAR 12 #define TK_OR 13
#define TK_OR 13 #define TK_AND 14
#define TK_AND 14 #define TK_NOT 15
#define TK_NOT 15 #define TK_EQ 16
#define TK_EQ 16 #define TK_NE 17
#define TK_NE 17 #define TK_ISNULL 18
#define TK_ISNULL 18 #define TK_NOTNULL 19
#define TK_NOTNULL 19 #define TK_IS 20
#define TK_IS 20 #define TK_LIKE 21
#define TK_LIKE 21 #define TK_GLOB 22
#define TK_GLOB 22 #define TK_BETWEEN 23
#define TK_BETWEEN 23 #define TK_IN 24
#define TK_IN 24 #define TK_GT 25
#define TK_GT 25 #define TK_GE 26
#define TK_GE 26 #define TK_LT 27
#define TK_LT 27 #define TK_LE 28
#define TK_LE 28 #define TK_BITAND 29
#define TK_BITAND 29 #define TK_BITOR 30
#define TK_BITOR 30 #define TK_LSHIFT 31
#define TK_LSHIFT 31 #define TK_RSHIFT 32
#define TK_RSHIFT 32 #define TK_PLUS 33
#define TK_PLUS 33 #define TK_MINUS 34
#define TK_MINUS 34 #define TK_DIVIDE 35
#define TK_DIVIDE 35 #define TK_TIMES 36
#define TK_TIMES 36 #define TK_STAR 37
#define TK_STAR 37 #define TK_SLASH 38
#define TK_SLASH 38 #define TK_REM 39
#define TK_REM 39 #define TK_CONCAT 40
#define TK_CONCAT 40 #define TK_UMINUS 41
#define TK_UMINUS 41 #define TK_UPLUS 42
#define TK_UPLUS 42 #define TK_BITNOT 43
#define TK_BITNOT 43 #define TK_SHOW 44
#define TK_SHOW 44 #define TK_DATABASES 45
#define TK_DATABASES 45 #define TK_TOPICS 46
#define TK_TOPICS 46 #define TK_MNODES 47
#define TK_MNODES 47 #define TK_DNODES 48
#define TK_DNODES 48 #define TK_ACCOUNTS 49
#define TK_ACCOUNTS 49 #define TK_USERS 50
#define TK_USERS 50 #define TK_MODULES 51
#define TK_MODULES 51 #define TK_QUERIES 52
#define TK_QUERIES 52 #define TK_CONNECTIONS 53
#define TK_CONNECTIONS 53 #define TK_STREAMS 54
#define TK_STREAMS 54 #define TK_VARIABLES 55
#define TK_VARIABLES 55 #define TK_SCORES 56
#define TK_SCORES 56 #define TK_GRANTS 57
#define TK_GRANTS 57 #define TK_VNODES 58
#define TK_VNODES 58 #define TK_IPTOKEN 59
#define TK_IPTOKEN 59 #define TK_DOT 60
#define TK_DOT 60 #define TK_CREATE 61
#define TK_CREATE 61 #define TK_TABLE 62
#define TK_TABLE 62 #define TK_STABLE 63
#define TK_STABLE 63 #define TK_DATABASE 64
#define TK_DATABASE 64 #define TK_TABLES 65
#define TK_TABLES 65 #define TK_STABLES 66
#define TK_STABLES 66 #define TK_VGROUPS 67
#define TK_VGROUPS 67 #define TK_DROP 68
#define TK_DROP 68 #define TK_TOPIC 69
#define TK_TOPIC 69 #define TK_DNODE 70
#define TK_DNODE 70 #define TK_USER 71
#define TK_USER 71 #define TK_ACCOUNT 72
#define TK_ACCOUNT 72 #define TK_USE 73
#define TK_USE 73 #define TK_DESCRIBE 74
#define TK_DESCRIBE 74 #define TK_ALTER 75
#define TK_ALTER 75 #define TK_PASS 76
#define TK_PASS 76 #define TK_PRIVILEGE 77
#define TK_PRIVILEGE 77 #define TK_LOCAL 78
#define TK_LOCAL 78 #define TK_IF 79
#define TK_IF 79 #define TK_EXISTS 80
#define TK_EXISTS 80 #define TK_PPS 81
#define TK_PPS 81 #define TK_TSERIES 82
#define TK_TSERIES 82 #define TK_DBS 83
#define TK_DBS 83 #define TK_STORAGE 84
#define TK_STORAGE 84 #define TK_QTIME 85
#define TK_QTIME 85 #define TK_CONNS 86
#define TK_CONNS 86 #define TK_STATE 87
#define TK_STATE 87 #define TK_COMMA 88
#define TK_COMMA 88 #define TK_KEEP 89
#define TK_KEEP 89 #define TK_CACHE 90
#define TK_CACHE 90 #define TK_REPLICA 91
#define TK_REPLICA 91 #define TK_QUORUM 92
#define TK_QUORUM 92 #define TK_DAYS 93
#define TK_DAYS 93 #define TK_MINROWS 94
#define TK_MINROWS 94 #define TK_MAXROWS 95
#define TK_MAXROWS 95 #define TK_BLOCKS 96
#define TK_BLOCKS 96 #define TK_CTIME 97
#define TK_CTIME 97 #define TK_WAL 98
#define TK_WAL 98 #define TK_FSYNC 99
#define TK_FSYNC 99
#define TK_COMP 100 #define TK_COMP 100
#define TK_PRECISION 101 #define TK_PRECISION 101
#define TK_UPDATE 102 #define TK_UPDATE 102
...@@ -128,29 +127,29 @@ ...@@ -128,29 +127,29 @@
#define TK_USING 109 #define TK_USING 109
#define TK_AS 110 #define TK_AS 110
#define TK_NULL 111 #define TK_NULL 111
#define TK_SELECT 112 #define TK_NOW 112
#define TK_UNION 113 #define TK_SELECT 113
#define TK_ALL 114 #define TK_UNION 114
#define TK_DISTINCT 115 #define TK_ALL 115
#define TK_FROM 116 #define TK_DISTINCT 116
#define TK_VARIABLE 117 #define TK_FROM 117
#define TK_INTERVAL 118 #define TK_VARIABLE 118
#define TK_SESSION 119 #define TK_INTERVAL 119
#define TK_STATE_WINDOW 120 #define TK_SESSION 120
#define TK_FILL 121 #define TK_STATE_WINDOW 121
#define TK_SLIDING 122 #define TK_FILL 122
#define TK_ORDER 123 #define TK_SLIDING 123
#define TK_BY 124 #define TK_ORDER 124
#define TK_ASC 125 #define TK_BY 125
#define TK_DESC 126 #define TK_ASC 126
#define TK_GROUP 127 #define TK_DESC 127
#define TK_HAVING 128 #define TK_GROUP 128
#define TK_LIMIT 129 #define TK_HAVING 129
#define TK_OFFSET 130 #define TK_LIMIT 130
#define TK_SLIMIT 131 #define TK_OFFSET 131
#define TK_SOFFSET 132 #define TK_SLIMIT 132
#define TK_WHERE 133 #define TK_SOFFSET 133
#define TK_NOW 134 #define TK_WHERE 134
#define TK_RESET 135 #define TK_RESET 135
#define TK_QUERY 136 #define TK_QUERY 136
#define TK_SYNCDB 137 #define TK_SYNCDB 137
...@@ -207,11 +206,6 @@ ...@@ -207,11 +206,6 @@
#define TK_VALUES 188 #define TK_VALUES 188
#define TK_SPACE 300 #define TK_SPACE 300
#define TK_COMMENT 301 #define TK_COMMENT 301
#define TK_ILLEGAL 302 #define TK_ILLEGAL 302
......
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册