Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
83ae535c
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
83ae535c
编写于
10月 11, 2021
作者:
wmmhello
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
support describe JSON NCHAR
上级
241b64c9
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
27 addition
and
5 deletion
+27
-5
src/client/src/tscLocal.c
src/client/src/tscLocal.c
+13
-2
src/common/src/ttypes.c
src/common/src/ttypes.c
+12
-1
src/inc/taos.h
src/inc/taos.h
+1
-1
src/inc/ttype.h
src/inc/ttype.h
+1
-1
未找到文件。
src/client/src/tscLocal.c
浏览文件 @
83ae535c
...
...
@@ -85,9 +85,20 @@ static int32_t tscSetValueToResObj(SSqlObj *pSql, int32_t rowLen) {
pField
=
tscFieldInfoGetField
(
&
pQueryInfo
->
fieldsInfo
,
1
);
dst
=
pRes
->
data
+
tscFieldInfoGetOffset
(
pQueryInfo
,
1
)
*
totalNumOfRows
+
pField
->
bytes
*
i
;
STR_WITH_MAXSIZE_TO_VARSTR
(
dst
,
type
,
pField
->
bytes
);
char
*
postfix
=
NULL
;
if
(
pSchema
[
i
].
type
==
TSDB_DATA_TYPE_JSON
&&
JSON_TYPE_BINARY
){
postfix
=
" BINARY"
;
}
else
if
(
pSchema
[
i
].
type
==
TSDB_DATA_TYPE_JSON
&&
JSON_TYPE_NCHAR
)
{
postfix
=
" NCHAR"
;
}
if
(
postfix
){
strncpy
(
varDataVal
(
dst
),
postfix
,
pField
->
bytes
-
varDataTLen
(
dst
));
varDataSetLen
(
dst
,
varDataLen
(
dst
)
+
strlen
(
postfix
));
}
int32_t
bytes
=
pSchema
[
i
].
bytes
;
if
(
pSchema
[
i
].
type
==
TSDB_DATA_TYPE_BINARY
||
(
pSchema
[
i
].
type
==
TSDB_DATA_TYPE_JSON
&&
JSON_TYPE_BINARY
)){
bytes
-=
VARSTR_HEADER_SIZE
;
...
...
src/common/src/ttypes.c
浏览文件 @
83ae535c
...
...
@@ -17,6 +17,7 @@
#include "ttype.h"
#include "ttokendef.h"
#include "tscompression.h"
#include "tglobal.h"
const
int32_t
TYPE_BYTES
[
16
]
=
{
-
1
,
// TSDB_DATA_TYPE_NULL
...
...
@@ -368,6 +369,16 @@ static void getStatics_nchr(const void *pData, int32_t numOfRow, int64_t *min, i
*
maxIndex
=
0
;
}
static
void
getStatics_json
(
const
void
*
pData
,
int32_t
numOfRow
,
int64_t
*
min
,
int64_t
*
max
,
int64_t
*
sum
,
int16_t
*
minIndex
,
int16_t
*
maxIndex
,
int16_t
*
numOfNull
)
{
if
(
JSON_TYPE_NCHAR
)
{
getStatics_nchr
(
pData
,
numOfRow
,
min
,
max
,
sum
,
minIndex
,
maxIndex
,
numOfNull
);
}
else
{
getStatics_bin
(
pData
,
numOfRow
,
min
,
max
,
sum
,
minIndex
,
maxIndex
,
numOfNull
);
}
}
tDataTypeDescriptor
tDataTypes
[
16
]
=
{
{
TSDB_DATA_TYPE_NULL
,
6
,
1
,
"NOTYPE"
,
0
,
0
,
NULL
,
NULL
,
NULL
},
{
TSDB_DATA_TYPE_BOOL
,
4
,
CHAR_BYTES
,
"BOOL"
,
false
,
true
,
tsCompressBool
,
tsDecompressBool
,
getStatics_bool
},
...
...
@@ -384,7 +395,7 @@ tDataTypeDescriptor tDataTypes[16] = {
{
TSDB_DATA_TYPE_USMALLINT
,
17
,
SHORT_BYTES
,
"SMALLINT UNSIGNED"
,
0
,
UINT16_MAX
,
tsCompressSmallint
,
tsDecompressSmallint
,
getStatics_u16
},
{
TSDB_DATA_TYPE_UINT
,
12
,
INT_BYTES
,
"INT UNSIGNED"
,
0
,
UINT32_MAX
,
tsCompressInt
,
tsDecompressInt
,
getStatics_u32
},
{
TSDB_DATA_TYPE_UBIGINT
,
15
,
LONG_BYTES
,
"BIGINT UNSIGNED"
,
0
,
UINT64_MAX
,
tsCompressBigint
,
tsDecompressBigint
,
getStatics_u64
},
{
TSDB_DATA_TYPE_JSON
,
4
,
0
,
"JSON"
,
0
,
0
,
tsCompressString
,
tsDecompressString
,
getStatics_
nchr
},
{
TSDB_DATA_TYPE_JSON
,
4
,
0
,
"JSON"
,
0
,
0
,
tsCompressString
,
tsDecompressString
,
getStatics_
json
},
};
char
tTokenTypeSwitcher
[
13
]
=
{
...
...
src/inc/taos.h
浏览文件 @
83ae535c
...
...
@@ -46,7 +46,7 @@ typedef void **TAOS_ROW;
#define TSDB_DATA_TYPE_USMALLINT 12 // 2 bytes
#define TSDB_DATA_TYPE_UINT 13 // 4 bytes
#define TSDB_DATA_TYPE_UBIGINT 14 // 8 bytes
#define TSDB_DATA_TYPE_JSON 15
#define TSDB_DATA_TYPE_JSON 15
// json string
typedef
enum
{
TSDB_OPTION_LOCALE
,
...
...
src/inc/ttype.h
浏览文件 @
83ae535c
...
...
@@ -189,7 +189,7 @@ typedef struct tDataTypeDescriptor {
int
(
*
decompFunc
)(
const
char
*
const
input
,
int
compressedSize
,
const
int
nelements
,
char
*
const
output
,
int
outputSize
,
char
algorithm
,
char
*
const
buffer
,
int
bufferSize
);
void
(
*
statisFunc
)(
const
void
*
pData
,
int32_t
numofrow
,
int64_t
*
min
,
int64_t
*
max
,
int64_t
*
sum
,
int16_t
*
minindex
,
int16_t
*
maxindex
,
int16_t
*
numofnull
);
int16_t
*
minindex
,
int16_t
*
maxindex
,
int16_t
*
numofnull
);
}
tDataTypeDescriptor
;
extern
tDataTypeDescriptor
tDataTypes
[
16
];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录