[tarantool-patches] Re: [PATCH] sql: correct confusing message
n.pettik
korablev at tarantool.org
Tue Mar 27 19:36:00 MSK 2018
If you decided to send patch v2, you should specify it:
git format-patch --subject-prefix='PATCH v2’
Moreover, as a rule if you send patch v2,
you should add brief change log.
Overall, patch seems to be OK, except for very minor remark:
please, deal with your IDE or text editor to avoid extra diffs
due to wrong indentation.
You can update remotely your branch and send only diff
in reply to this message.
> On 27 Mar 2018, at 19:02, N.Tatunov <hollow653 at gmail.com> wrote:
>
> From: Hollow <hollow653 at gmail.com>
>
> Required to fix the following message:
>
> "- error: expressions prohibited in PRIMARY KEY and UNIQUE constraints"
>
> Currently this message appears even when user tries to CREATE
> non-unique functional index which isn't concerned with the
> following error message. Thus far the message was corrected
> to the proper one.
>
> Closes #3236
> ---
>
> Branch: https://github.com/tarantool/tarantool
> Issue: https://github.com/tarantool/tarantool/issues/3236
>
> src/box/sql/build.c | 8 +++----
> test/sql-tap/colname.test.lua | 4 ++--
> test/sql/message-func-indexes.result | 41 ++++++++++++++++++++++++++++++++++
> test/sql/message-func-indexes.test.lua | 18 +++++++++++++++
> 4 files changed, 65 insertions(+), 6 deletions(-)
> create mode 100644 test/sql/message-func-indexes.result
> create mode 100644 test/sql/message-func-indexes.test.lua
>
> diff --git a/src/box/sql/build.c b/src/box/sql/build.c
> index dd0f45c..c7f6b3c 100644
> --- a/src/box/sql/build.c
> +++ b/src/box/sql/build.c
> @@ -1802,7 +1802,7 @@ emitNewSysSpaceSequenceRecord(Parse *pParse, int space_id, const char reg_seq_id
>
> /* 1. Space id */
> sqlite3VdbeAddOp2(v, OP_SCopy, space_id, first_col + 1);
> -
> +
Still redundant diff. Please check it carefully and don’t hurry.
> /* 2. Sequence id */
> sqlite3VdbeAddOp2(v, OP_IntCopy, reg_seq_id, first_col + 2);
>
> @@ -2015,7 +2015,7 @@ sqlite3EndTable(Parse * pParse, /* Parse context */
>
> sqlite3OpenTable(pParse, iCursor, sys_space_sequence,
> OP_OpenWrite);
> -
> +
The same: redundant diff.
> reg_space_seq_record = emitNewSysSpaceSequenceRecord(
> pParse,
> iSpaceId,
> @@ -3065,8 +3065,8 @@ sqlite3CreateIndex(Parse * pParse, /* All information about this parse */
> pCExpr = sqlite3ExprSkipCollate(pListItem->pExpr);
> if (pCExpr->op != TK_COLUMN) {
> sqlite3ErrorMsg(pParse,
> - "expressions prohibited in PRIMARY KEY and "
> - "UNIQUE constraints");
> + "functional indexes aren't supported "
> + "in the current version");
> goto exit_create_index;
> } else {
> j = pCExpr->iColumn;
> diff --git a/test/sql-tap/colname.test.lua b/test/sql-tap/colname.test.lua
> index 71010da..c96623e 100755
> --- a/test/sql-tap/colname.test.lua
> +++ b/test/sql-tap/colname.test.lua
> @@ -643,13 +643,13 @@ test:do_catchsql_test(
> "colname-11.2",
> [[CREATE TABLE t1(a, b, c, d, e,
> PRIMARY KEY(a), UNIQUE('b' COLLATE "unicode_ci" DESC));]],
> - {1, "/expressions prohibited in PRIMARY KEY/"})
> + {1, "/functional indexes aren't supported in the current version/"})
>
> test:execsql("create table table1(a primary key, b, c)")
>
> test:do_catchsql_test(
> "colname-11.3",
> [[ CREATE INDEX t1c ON table1('c'); ]],
> - {1, "/expressions prohibited in PRIMARY KEY/"})
> + {1, "/functional indexes aren't supported in the current version/"})
>
> test:finish_test()
> diff --git a/test/sql/message-func-indexes.result b/test/sql/message-func-indexes.result
> new file mode 100644
> index 0000000..797cf28
> --- /dev/null
> +++ b/test/sql/message-func-indexes.result
> @@ -0,0 +1,41 @@
> +test_run = require('test_run').new()
> +---
> +...
> +-- Creating tables.
> +box.sql.execute("CREATE TABLE t1(id INTEGER PRIMARY KEY, a INTEGER)")
> +---
> +...
> +box.sql.execute("CREATE TABLE t2(object INTEGER PRIMARY KEY, price INTEGER, count INTEGER)")
> +---
> +...
> +-- Expressions that're supposed to create functional indexes
> +-- should return certain message.
> +box.sql.execute("CREATE INDEX i1 ON t1(a+1)")
> +---
> +- error: functional indexes aren't supported in the current version
> +...
> +box.sql.execute("CREATE INDEX i2 ON t1(a)")
> +---
> +...
> +box.sql.execute("CREATE INDEX i3 ON t2(price + 100)")
> +---
> +- error: functional indexes aren't supported in the current version
> +...
> +box.sql.execute("CREATE INDEX i4 ON t2(price)")
> +---
> +...
> +box.sql.execute("CREATE INDEX i5 ON t2(count + 1)")
> +---
> +- error: functional indexes aren't supported in the current version
> +...
> +box.sql.execute("CREATE INDEX i6 ON t2(count * price)")
> +---
> +- error: functional indexes aren't supported in the current version
> +...
> +-- Cleaning up.
> +box.sql.execute("DROP TABLE t1")
> +---
> +...
> +box.sql.execute("DROP TABLE t2")
> +---
> +...
> diff --git a/test/sql/message-func-indexes.test.lua b/test/sql/message-func-indexes.test.lua
> new file mode 100644
> index 0000000..fac715b
> --- /dev/null
> +++ b/test/sql/message-func-indexes.test.lua
> @@ -0,0 +1,18 @@
> +test_run = require('test_run').new()
> +
> +-- Creating tables.
> +box.sql.execute("CREATE TABLE t1(id INTEGER PRIMARY KEY, a INTEGER)")
> +box.sql.execute("CREATE TABLE t2(object INTEGER PRIMARY KEY, price INTEGER, count INTEGER)")
> +
> +-- Expressions that're supposed to create functional indexes
> +-- should return certain message.
> +box.sql.execute("CREATE INDEX i1 ON t1(a+1)")
> +box.sql.execute("CREATE INDEX i2 ON t1(a)")
> +box.sql.execute("CREATE INDEX i3 ON t2(price + 100)")
> +box.sql.execute("CREATE INDEX i4 ON t2(price)")
> +box.sql.execute("CREATE INDEX i5 ON t2(count + 1)")
> +box.sql.execute("CREATE INDEX i6 ON t2(count * price)")
> +
> +-- Cleaning up.
> +box.sql.execute("DROP TABLE t1")
> +box.sql.execute("DROP TABLE t2")
> --
> 2.7.4
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20180327/470fb55c/attachment.html>
More information about the Tarantool-patches
mailing list