Merge pull request #21221 from taosdata/szhou/fix-ts3374
fix: check varchar/nchar column length for alter normal table
This commit is contained in:
commit
7d1a6e0e40
|
@ -8265,6 +8265,11 @@ static int32_t buildAddColReq(STranslateContext* pCxt, SAlterTableStmt* pStmt, S
|
||||||
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_DUPLICATED_COLUMN);
|
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_DUPLICATED_COLUMN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((TSDB_DATA_TYPE_VARCHAR == pStmt->dataType.type && calcTypeBytes(pStmt->dataType) > TSDB_MAX_BINARY_LEN) ||
|
||||||
|
(TSDB_DATA_TYPE_NCHAR == pStmt->dataType.type && calcTypeBytes(pStmt->dataType) > TSDB_MAX_NCHAR_LEN)) {
|
||||||
|
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_INVALID_VAR_COLUMN_LEN);
|
||||||
|
}
|
||||||
|
|
||||||
if (TSDB_MAX_COLUMNS == pTableMeta->tableInfo.numOfColumns) {
|
if (TSDB_MAX_COLUMNS == pTableMeta->tableInfo.numOfColumns) {
|
||||||
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_TOO_MANY_COLUMNS);
|
return generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_TOO_MANY_COLUMNS);
|
||||||
}
|
}
|
||||||
|
|
|
@ -657,6 +657,17 @@ if $data20 != null then
|
||||||
return -1
|
return -1
|
||||||
endi
|
endi
|
||||||
|
|
||||||
|
print =============== error
|
||||||
|
sql create table tb2023(ts timestamp, f int);
|
||||||
|
sql_error alter table tb2023 add column v varchar(16375);
|
||||||
|
sql_error alter table tb2023 add column v varchar(16385);
|
||||||
|
sql_error alter table tb2023 add column v varchar(33100);
|
||||||
|
sql alter table tb2023 add column v varchar(16374);
|
||||||
|
sql desc tb2023
|
||||||
|
sql alter table tb2023 drop column v
|
||||||
|
sql_error alter table tb2023 add column v nchar(4094);
|
||||||
|
sql alter table tb2023 add column v nchar(4093);
|
||||||
|
sql desc tb2023
|
||||||
print ======= over
|
print ======= over
|
||||||
sql drop database d1
|
sql drop database d1
|
||||||
sql select * from information_schema.ins_databases
|
sql select * from information_schema.ins_databases
|
||||||
|
|
Loading…
Reference in New Issue