[tarantool-patches] Re: [PATCH v2 1/1] sql: disallow returning many rows from subselect

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Mon Jul 2 17:42:17 MSK 2018


Thanks for the fixes!
>> 3. I do not see where do you set an appropriate error code (p5).
>> 4. Same.
> @@ -2145,6 +2145,7 @@ computeLimitRegisters(Parse * pParse, Select * p, int iBreak)
>                                  sqlite3VdbeAddOp4(v, OP_Halt,
>                                                    SQL_TARANTOOL_ERROR,
>                                                    0, 0, error, P4_STATIC);
> +                               sqlite3VdbeChangeP5(v, ER_SQL_EXECUTE);
>                                  sqlite3VdbeResolveLabel(v, no_err);
>                                  sqlite3ReleaseTempReg(pParse, r1);
>   
> @@ -5452,6 +5453,7 @@ vdbe_code_raise_on_multiple_rows(struct Parse *parser, int limit_reg, int end_ma
>          sqlite3VdbeAddOp4(v, OP_Halt, SQL_TARANTOOL_ERROR,
>                            ON_CONFLICT_ACTION_FAIL, 0,
>                            error, P4_STATIC);
> +       sqlite3VdbeChangeP5(v, SQL_TARANTOOL_ERROR);

SQL_TARANTOOL_ERROR is not error code. See errcode.h. The previous
hunk is correct.




More information about the Tarantool-patches mailing list