enh: column/row max length support up to 64K
This commit is contained in:
parent
37bc1bca36
commit
303bc7dc23
|
@ -231,16 +231,7 @@ typedef enum ELogicConditionType {
|
||||||
#define TSDB_QUERY_ID_LEN 26
|
#define TSDB_QUERY_ID_LEN 26
|
||||||
#define TSDB_TRANS_OPER_LEN 16
|
#define TSDB_TRANS_OPER_LEN 16
|
||||||
|
|
||||||
/**
|
#define TSDB_MAX_BYTES_PER_ROW 65531 // 49151:65531
|
||||||
* In some scenarios uint16_t (0~65535) is used to store the row len.
|
|
||||||
* - Firstly, we use 65531(65535 - 4), as the SDataRow/SKVRow contains 4 bits header.
|
|
||||||
* - Secondly, if all cols are VarDataT type except primary key, we need 4 bits to store the offset, thus
|
|
||||||
* the final value is 65531-(4096-1)*4 = 49151.
|
|
||||||
*
|
|
||||||
* History value:49151/65531
|
|
||||||
* - 65531 compatible with 2.0
|
|
||||||
*/
|
|
||||||
#define TSDB_MAX_BYTES_PER_ROW 65531
|
|
||||||
#define TSDB_MAX_TAGS_LEN 16384
|
#define TSDB_MAX_TAGS_LEN 16384
|
||||||
#define TSDB_MAX_TAGS 128
|
#define TSDB_MAX_TAGS 128
|
||||||
|
|
||||||
|
@ -409,9 +400,9 @@ typedef enum ELogicConditionType {
|
||||||
#define TSDB_EXPLAIN_RESULT_ROW_SIZE (16 * 1024)
|
#define TSDB_EXPLAIN_RESULT_ROW_SIZE (16 * 1024)
|
||||||
#define TSDB_EXPLAIN_RESULT_COLUMN_NAME "QUERY_PLAN"
|
#define TSDB_EXPLAIN_RESULT_COLUMN_NAME "QUERY_PLAN"
|
||||||
|
|
||||||
#define TSDB_MAX_FIELD_LEN 65519 // compatible with 2.0
|
#define TSDB_MAX_FIELD_LEN 65519 // 16384:65519
|
||||||
#define TSDB_MAX_BINARY_LEN TSDB_MAX_FIELD_LEN // 16384:65519
|
#define TSDB_MAX_BINARY_LEN TSDB_MAX_FIELD_LEN // 16384-8:65519
|
||||||
#define TSDB_MAX_NCHAR_LEN TSDB_MAX_FIELD_LEN // 16384:65519
|
#define TSDB_MAX_NCHAR_LEN TSDB_MAX_FIELD_LEN // 16384-8:65519
|
||||||
#define PRIMARYKEY_TIMESTAMP_COL_ID 1
|
#define PRIMARYKEY_TIMESTAMP_COL_ID 1
|
||||||
#define COL_REACH_END(colId, maxColId) ((colId) > (maxColId))
|
#define COL_REACH_END(colId, maxColId) ((colId) > (maxColId))
|
||||||
|
|
||||||
|
|
|
@ -575,7 +575,7 @@ static int32_t smlConvertJSONString(SSmlKv *pVal, char *typeStr, cJSON *value) {
|
||||||
uError("OTD:invalid type(%s) for JSON String", typeStr);
|
uError("OTD:invalid type(%s) for JSON String", typeStr);
|
||||||
return TSDB_CODE_TSC_INVALID_JSON_TYPE;
|
return TSDB_CODE_TSC_INVALID_JSON_TYPE;
|
||||||
}
|
}
|
||||||
pVal->length = strlen(value->valuestring);
|
pVal->length = (uint16_t)strlen(value->valuestring);
|
||||||
|
|
||||||
if (pVal->type == TSDB_DATA_TYPE_BINARY && pVal->length > TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE) {
|
if (pVal->type == TSDB_DATA_TYPE_BINARY && pVal->length > TSDB_MAX_BINARY_LEN - VARSTR_HEADER_SIZE) {
|
||||||
return TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN;
|
return TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN;
|
||||||
|
|
Loading…
Reference in New Issue