[TD-2175]<fix>: fix the error in result field name and nchar column length
This commit is contained in:
parent
8d2a64b7d4
commit
d0e8522840
|
@ -420,7 +420,16 @@ TAOS_FIELD *taos_fetch_fields(TAOS_RES *res) {
|
|||
for(int32_t i = 0; i < pFieldInfo->numOfOutput; ++i) {
|
||||
SInternalField* pField = tscFieldInfoGetInternalField(pFieldInfo, i);
|
||||
if (pField->visible) {
|
||||
f[j++] = pField->field;
|
||||
f[j] = pField->field;
|
||||
|
||||
// revise the length for binary and nchar fields
|
||||
if (f[j].type == TSDB_DATA_TYPE_BINARY) {
|
||||
f[j].bytes -= VARSTR_HEADER_SIZE;
|
||||
} else if (f[j].type == TSDB_DATA_TYPE_NCHAR) {
|
||||
f[j].bytes = (f[j].bytes - VARSTR_HEADER_SIZE)/TSDB_NCHAR_SIZE;
|
||||
}
|
||||
|
||||
j += 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -556,11 +556,11 @@ having_opt(A) ::= HAVING expr(X). {A = X;}
|
|||
//limit-offset subclause
|
||||
%type limit_opt {SLimitVal}
|
||||
limit_opt(A) ::= . {A.limit = -1; A.offset = 0;}
|
||||
limit_opt(A) ::= LIMIT signed(X). {printf("aa1, %d\n", X); A.limit = X; A.offset = 0;}
|
||||
limit_opt(A) ::= LIMIT signed(X). {A.limit = X; A.offset = 0;}
|
||||
limit_opt(A) ::= LIMIT signed(X) OFFSET signed(Y).
|
||||
{printf("aa2\n, %d\n", X); A.limit = X; A.offset = Y;}
|
||||
{ A.limit = X; A.offset = Y;}
|
||||
limit_opt(A) ::= LIMIT signed(X) COMMA signed(Y).
|
||||
{printf("aa3\n, %d\n", X); A.limit = Y; A.offset = X;}
|
||||
{ A.limit = Y; A.offset = X;}
|
||||
|
||||
%type slimit_opt {SLimitVal}
|
||||
slimit_opt(A) ::= . {A.limit = -1; A.offset = 0;}
|
||||
|
@ -581,7 +581,7 @@ where_opt(A) ::= WHERE expr(X). {A = X;}
|
|||
%type expr {tSQLExpr*}
|
||||
%destructor expr {tSQLExprDestroy($$);}
|
||||
|
||||
expr(A) ::= LP expr(X) RP. {A = X; }
|
||||
expr(A) ::= LP(X) expr(Y) RP(Z). {A = Y; A->token.z = X.z; A->token.n = (Z.z - X.z + 1);}
|
||||
|
||||
expr(A) ::= ID(X). {A = tSQLExprIdValueCreate(&X, TK_ID);}
|
||||
expr(A) ::= ID(X) DOT ID(Y). {X.n += (1+Y.n); A = tSQLExprIdValueCreate(&X, TK_ID);}
|
||||
|
|
|
@ -2628,16 +2628,14 @@ static void yy_reduce(
|
|||
{yymsp[1].minor.yy216.limit = -1; yymsp[1].minor.yy216.offset = 0;}
|
||||
break;
|
||||
case 177: /* limit_opt ::= LIMIT signed */
|
||||
case 181: /* slimit_opt ::= SLIMIT signed */ yytestcase(yyruleno==181);
|
||||
{yymsp[-1].minor.yy216.limit = yymsp[0].minor.yy207; yymsp[-1].minor.yy216.offset = 0;}
|
||||
break;
|
||||
case 178: /* limit_opt ::= LIMIT signed OFFSET signed */
|
||||
{yymsp[-3].minor.yy216.limit = yymsp[-2].minor.yy207; yymsp[-3].minor.yy216.offset = yymsp[0].minor.yy207;}
|
||||
{ yymsp[-3].minor.yy216.limit = yymsp[-2].minor.yy207; yymsp[-3].minor.yy216.offset = yymsp[0].minor.yy207;}
|
||||
break;
|
||||
case 179: /* limit_opt ::= LIMIT signed COMMA signed */
|
||||
{yymsp[-3].minor.yy216.limit = yymsp[0].minor.yy207; yymsp[-3].minor.yy216.offset = yymsp[-2].minor.yy207;}
|
||||
break;
|
||||
case 181: /* slimit_opt ::= SLIMIT signed */
|
||||
{yymsp[-1].minor.yy216.limit = yymsp[0].minor.yy207; yymsp[-1].minor.yy216.offset = 0;}
|
||||
{ yymsp[-3].minor.yy216.limit = yymsp[0].minor.yy207; yymsp[-3].minor.yy216.offset = yymsp[-2].minor.yy207;}
|
||||
break;
|
||||
case 182: /* slimit_opt ::= SLIMIT signed SOFFSET signed */
|
||||
{yymsp[-3].minor.yy216.limit = yymsp[-2].minor.yy207; yymsp[-3].minor.yy216.offset = yymsp[0].minor.yy207;}
|
||||
|
@ -2646,7 +2644,8 @@ static void yy_reduce(
|
|||
{yymsp[-3].minor.yy216.limit = yymsp[0].minor.yy207; yymsp[-3].minor.yy216.offset = yymsp[-2].minor.yy207;}
|
||||
break;
|
||||
case 186: /* expr ::= LP expr RP */
|
||||
{yymsp[-2].minor.yy64 = yymsp[-1].minor.yy64; }
|
||||
{yylhsminor.yy64 = yymsp[-1].minor.yy64; yylhsminor.yy64->token.z = yymsp[-2].minor.yy0.z; yylhsminor.yy64->token.n = (yymsp[0].minor.yy0.z - yymsp[-2].minor.yy0.z + 1);}
|
||||
yymsp[-2].minor.yy64 = yylhsminor.yy64;
|
||||
break;
|
||||
case 187: /* expr ::= ID */
|
||||
{yylhsminor.yy64 = tSQLExprIdValueCreate(&yymsp[0].minor.yy0, TK_ID);}
|
||||
|
|
Loading…
Reference in New Issue