[TD-5578]<fix> the max length of like condition can be configured
This commit is contained in:
parent
9e6dd46611
commit
5bc82ffc3f
|
@ -4401,7 +4401,7 @@ static int32_t validateLikeExpr(tSqlExpr* pExpr, STableMeta* pTableMeta, int32_t
|
||||||
tSqlExpr* pRight = pExpr->pRight;
|
tSqlExpr* pRight = pExpr->pRight;
|
||||||
|
|
||||||
if (pExpr->tokenId == TK_LIKE) {
|
if (pExpr->tokenId == TK_LIKE) {
|
||||||
if (pRight->value.nLen > TSDB_PATTERN_STRING_MAX_LEN) {
|
if (pRight->value.nLen > tsMaxLikeStringLen) {
|
||||||
return invalidOperationMsg(msgBuf, msg1);
|
return invalidOperationMsg(msgBuf, msg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,6 +70,7 @@ extern int8_t tsKeepOriginalColumnName;
|
||||||
|
|
||||||
// client
|
// client
|
||||||
extern int32_t tsMaxSQLStringLen;
|
extern int32_t tsMaxSQLStringLen;
|
||||||
|
extern int32_t tsMaxLikeStringLen;
|
||||||
extern int8_t tsTscEnableRecordSql;
|
extern int8_t tsTscEnableRecordSql;
|
||||||
extern int32_t tsMaxNumOfOrderedResults;
|
extern int32_t tsMaxNumOfOrderedResults;
|
||||||
extern int32_t tsMinSlidingTime;
|
extern int32_t tsMinSlidingTime;
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
#include "tutil.h"
|
#include "tutil.h"
|
||||||
#include "tlocale.h"
|
#include "tlocale.h"
|
||||||
#include "ttimezone.h"
|
#include "ttimezone.h"
|
||||||
|
#include "tcompare.h"
|
||||||
|
|
||||||
// cluster
|
// cluster
|
||||||
char tsFirst[TSDB_EP_LEN] = {0};
|
char tsFirst[TSDB_EP_LEN] = {0};
|
||||||
|
@ -75,6 +76,7 @@ int32_t tsCompressMsgSize = -1;
|
||||||
|
|
||||||
// client
|
// client
|
||||||
int32_t tsMaxSQLStringLen = TSDB_MAX_ALLOWED_SQL_LEN;
|
int32_t tsMaxSQLStringLen = TSDB_MAX_ALLOWED_SQL_LEN;
|
||||||
|
int32_t tsMaxLikeStringLen = TSDB_PATTERN_STRING_MAX_LEN;
|
||||||
int8_t tsTscEnableRecordSql = 0;
|
int8_t tsTscEnableRecordSql = 0;
|
||||||
|
|
||||||
// the maximum number of results for projection query on super table that are returned from
|
// the maximum number of results for projection query on super table that are returned from
|
||||||
|
@ -984,6 +986,16 @@ static void doInitGlobalConfig(void) {
|
||||||
cfg.unitType = TAOS_CFG_UTYPE_BYTE;
|
cfg.unitType = TAOS_CFG_UTYPE_BYTE;
|
||||||
taosInitConfigOption(cfg);
|
taosInitConfigOption(cfg);
|
||||||
|
|
||||||
|
cfg.option = "maxLikeLength";
|
||||||
|
cfg.ptr = &tsMaxLikeStringLen;
|
||||||
|
cfg.valType = TAOS_CFG_VTYPE_INT32;
|
||||||
|
cfg.cfgType = TSDB_CFG_CTYPE_B_CONFIG | TSDB_CFG_CTYPE_B_CLIENT | TSDB_CFG_CTYPE_B_SHOW;
|
||||||
|
cfg.minValue = 0;
|
||||||
|
cfg.maxValue = TSDB_MAX_ALLOWED_SQL_LEN;
|
||||||
|
cfg.ptrLength = 0;
|
||||||
|
cfg.unitType = TAOS_CFG_UTYPE_BYTE;
|
||||||
|
taosInitConfigOption(cfg);
|
||||||
|
|
||||||
cfg.option = "maxNumOfOrderedRes";
|
cfg.option = "maxNumOfOrderedRes";
|
||||||
cfg.ptr = &tsMaxNumOfOrderedResults;
|
cfg.ptr = &tsMaxNumOfOrderedResults;
|
||||||
cfg.valType = TAOS_CFG_VTYPE_INT32;
|
cfg.valType = TAOS_CFG_VTYPE_INT32;
|
||||||
|
@ -1531,6 +1543,7 @@ static void doInitGlobalConfig(void) {
|
||||||
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
cfg.unitType = TAOS_CFG_UTYPE_NONE;
|
||||||
taosInitConfigOption(cfg);
|
taosInitConfigOption(cfg);
|
||||||
|
|
||||||
|
assert(tsGlobalConfigNum <= TSDB_CFG_MAX_NUM);
|
||||||
#ifdef TD_TSZ
|
#ifdef TD_TSZ
|
||||||
// lossy compress
|
// lossy compress
|
||||||
cfg.option = "lossyColumns";
|
cfg.option = "lossyColumns";
|
||||||
|
|
|
@ -25,7 +25,7 @@ extern "C" {
|
||||||
#define TSDB_PATTERN_MATCH 0
|
#define TSDB_PATTERN_MATCH 0
|
||||||
#define TSDB_PATTERN_NOMATCH 1
|
#define TSDB_PATTERN_NOMATCH 1
|
||||||
#define TSDB_PATTERN_NOWILDCARDMATCH 2
|
#define TSDB_PATTERN_NOWILDCARDMATCH 2
|
||||||
#define TSDB_PATTERN_STRING_MAX_LEN 20
|
#define TSDB_PATTERN_STRING_MAX_LEN 100
|
||||||
|
|
||||||
#define FLT_COMPAR_TOL_FACTOR 4
|
#define FLT_COMPAR_TOL_FACTOR 4
|
||||||
#define FLT_EQUAL(_x, _y) (fabs((_x) - (_y)) <= (FLT_COMPAR_TOL_FACTOR * FLT_EPSILON))
|
#define FLT_EQUAL(_x, _y) (fabs((_x) - (_y)) <= (FLT_COMPAR_TOL_FACTOR * FLT_EPSILON))
|
||||||
|
|
Loading…
Reference in New Issue