[tarantool-patches] [PATCH v1 1/1] sql: rework "no such object" and "object exists" errors
imeevma at tarantool.org
imeevma at tarantool.org
Fri Feb 15 13:06:26 MSK 2019
This patch reworks SQL errors of types "no such object" and
"object exists". After this patch, these error will be set as
Tarantool errors.
Part of #3965
---
src/box/errcode.h | 7 ++---
src/box/lua/schema.lua | 4 +--
src/box/space.h | 2 +-
src/box/sql/build.c | 37 +++++++++++++-------------
src/box/sql/delete.c | 3 ++-
src/box/sql/expr.c | 5 ++--
src/box/sql/pragma.c | 3 ++-
src/box/sql/resolve.c | 19 +++++++------
src/box/sql/select.c | 12 +++++----
src/box/sql/sqlInt.h | 8 ++++++
src/box/sql/update.c | 5 ++--
src/box/sql/util.c | 10 +++++++
test/box/misc.result | 5 +++-
test/sql-tap/alter.test.lua | 2 +-
test/sql-tap/analyzeF.test.lua | 4 +--
test/sql-tap/check.test.lua | 4 +--
test/sql-tap/fkey2.test.lua | 2 +-
test/sql-tap/func.test.lua | 2 +-
test/sql-tap/gh-2367-pragma.test.lua | 2 +-
test/sql-tap/gh-2996-indexed-by.test.lua | 12 ++++-----
test/sql-tap/gh2130-index-refer-table.test.lua | 4 +--
test/sql-tap/identifier_case.test.lua | 2 +-
test/sql-tap/in1.test.lua | 2 +-
test/sql-tap/in3.test.lua | 2 +-
test/sql-tap/index-info.test.lua | 2 +-
test/sql-tap/index1.test.lua | 6 ++---
test/sql-tap/insert1.test.lua | 6 ++---
test/sql-tap/insert3.test.lua | 4 +--
test/sql-tap/join.test.lua | 2 +-
test/sql-tap/limit.test.lua | 4 +--
test/sql-tap/lua-tables.test.lua | 2 +-
test/sql-tap/lua_sql.test.lua | 2 +-
test/sql-tap/misc1.test.lua | 4 +--
test/sql-tap/select1.test.lua | 12 ++++-----
test/sql-tap/select4.test.lua | 2 +-
test/sql-tap/select5.test.lua | 8 +++---
test/sql-tap/table.test.lua | 16 +++++------
test/sql-tap/tkt-4ef7e3cfca.test.lua | 2 +-
test/sql-tap/tkt3346.test.lua | 2 +-
test/sql-tap/tkt3442.test.lua | 2 +-
test/sql-tap/triggerB.test.lua | 6 ++---
test/sql-tap/update.test.lua | 16 +++++------
test/sql-tap/view.test.lua | 6 ++---
test/sql-tap/with2.test.lua | 4 +--
test/sql/checks.result | 4 +--
test/sql/delete.result | 4 +--
test/sql/drop-table.result | 4 +--
test/sql/gh-2929-primary-key.result | 2 +-
test/sql/gh-3613-idx-alter-update.result | 2 +-
test/sql/gh-3888-values-blob-assert.result | 4 +--
test/sql/icu-upper-lower.result | 2 +-
test/sql/iproto.result | 2 +-
52 files changed, 161 insertions(+), 129 deletions(-)
diff --git a/src/box/errcode.h b/src/box/errcode.h
index f7dbb94..e25e05c 100644
--- a/src/box/errcode.h
+++ b/src/box/errcode.h
@@ -87,7 +87,7 @@ struct errcode_record {
/* 32 */_(ER_PROC_LUA, "%s") \
/* 33 */_(ER_NO_SUCH_PROC, "Procedure '%.*s' is not defined") \
/* 34 */_(ER_NO_SUCH_TRIGGER, "Trigger '%s' doesn't exist") \
- /* 35 */_(ER_NO_SUCH_INDEX, "No index #%u is defined in space '%s'") \
+ /* 35 */_(ER_NO_SUCH_INDEX_ID, "No index #%u is defined in space '%s'") \
/* 36 */_(ER_NO_SUCH_SPACE, "Space '%s' does not exist") \
/* 37 */_(ER_NO_SUCH_FIELD, "Field %d was not found in the tuple") \
/* 38 */_(ER_EXACT_FIELD_COUNT, "Tuple field count %u does not match space field count %u") \
@@ -200,12 +200,12 @@ struct errcode_record {
/*145 */_(ER_NO_SUCH_SEQUENCE, "Sequence '%s' does not exist") \
/*146 */_(ER_SEQUENCE_EXISTS, "Sequence '%s' already exists") \
/*147 */_(ER_SEQUENCE_OVERFLOW, "Sequence '%s' has overflowed") \
- /*148 */_(ER_UNUSED5, "") \
+ /*148 */_(ER_NO_SUCH_INDEX_NAME, "No index '%s' is defined in space '%s'") \
/*149 */_(ER_SPACE_FIELD_IS_DUPLICATE, "Space field '%s' is duplicate") \
/*150 */_(ER_CANT_CREATE_COLLATION, "Failed to initialize collation: %s.") \
/*151 */_(ER_WRONG_COLLATION_OPTIONS, "Wrong collation options (field %u): %s") \
/*152 */_(ER_NULLABLE_PRIMARY, "Primary index of the space '%s' can not contain nullable parts") \
- /*153 */_(ER_UNUSED, "") \
+ /*153 */_(ER_NO_SUCH_FIELD_NAME, "Field '%s' doesn't exist") \
/*154 */_(ER_TRANSACTION_YIELD, "Transaction has been aborted by a fiber yield") \
/*155 */_(ER_NO_SUCH_GROUP, "Replication group '%s' does not exist") \
/*156 */_(ER_SQL_BIND_VALUE, "Bind value for parameter %s is out of range for type %s") \
@@ -227,6 +227,7 @@ struct errcode_record {
/*172 */_(ER_ROWID_OVERFLOW, "Rowid is overflowed: too many entries in ephemeral space") \
/*173 */_(ER_DROP_COLLATION, "Can't drop collation %s : %s") \
/*174 */_(ER_ILLEGAL_COLLATION_MIX, "Illegal mix of collations") \
+ /*175 */_(ER_SQL_NO_SUCH_PRAGMA, "Pragma '%s' does not exist") \
/*
* !IMPORTANT! Please follow instructions at start of the file
diff --git a/src/box/lua/schema.lua b/src/box/lua/schema.lua
index 0daf484..6049931 100644
--- a/src/box/lua/schema.lua
+++ b/src/box/lua/schema.lua
@@ -947,7 +947,7 @@ box.schema.index.alter = function(space_id, index_id, options)
box.error(box.error.NO_SUCH_SPACE, '#'..tostring(space_id))
end
if space.index[index_id] == nil then
- box.error(box.error.NO_SUCH_INDEX, index_id, space.name)
+ box.error(box.error.NO_SUCH_INDEX_ID, index_id, space.name)
end
if options == nil then
return
@@ -1175,7 +1175,7 @@ box.internal.check_index_arg = check_index_arg -- for net.box
local function check_primary_index(space)
local pk = space.index[0]
if pk == nil then
- box.error(box.error.NO_SUCH_INDEX, 0, space.name)
+ box.error(box.error.NO_SUCH_INDEX_ID, 0, space.name)
end
return pk
end
diff --git a/src/box/space.h b/src/box/space.h
index 7eb7ae2..ee5ffe6 100644
--- a/src/box/space.h
+++ b/src/box/space.h
@@ -263,7 +263,7 @@ index_find(struct space *space, uint32_t index_id)
{
struct index *index = space_index(space, index_id);
if (index == NULL) {
- diag_set(ClientError, ER_NO_SUCH_INDEX, index_id,
+ diag_set(ClientError, ER_NO_SUCH_INDEX_ID, index_id,
space_name(space));
diag_log();
}
diff --git a/src/box/sql/build.c b/src/box/sql/build.c
index 5dc3d02..e471dba 100644
--- a/src/box/sql/build.c
+++ b/src/box/sql/build.c
@@ -415,8 +415,8 @@ sqlStartTable(Parse *pParse, Token *pName, int noErr)
struct space *space = space_by_name(zName);
if (space != NULL) {
if (!noErr) {
- sqlErrorMsg(pParse, "table %s already exists",
- zName);
+ diag_set(ClientError, ER_SPACE_EXISTS, zName);
+ sql_parser_error(pParse);
} else {
assert(!db->init.busy || CORRUPT_DB);
}
@@ -533,7 +533,8 @@ sqlAddColumn(Parse * pParse, Token * pName, struct type_def *type_def)
sqlNormalizeName(z);
for (i = 0; i < (int)p->def->field_count; i++) {
if (strcmp(z, p->def->fields[i].name) == 0) {
- sqlErrorMsg(pParse, "duplicate column name: %s", z);
+ diag_set(ClientError, ER_SPACE_FIELD_IS_DUPLICATE, z);
+ sql_parser_error(pParse);
return;
}
}
@@ -1697,12 +1698,10 @@ sql_drop_table(struct Parse *parse_context, struct SrcList *table_name_list,
const char *space_name = table_name_list->a[0].zName;
struct space *space = space_by_name(space_name);
if (space == NULL) {
- if (!is_view && !if_exists)
- sqlErrorMsg(parse_context, "no such table: %s",
- space_name);
- if (is_view && !if_exists)
- sqlErrorMsg(parse_context, "no such view: %s",
- space_name);
+ if (!if_exists) {
+ diag_set(ClientError, ER_NO_SUCH_SPACE, space_name);
+ sql_parser_error(parse_context);
+ }
goto exit_drop_table;
}
/*
@@ -2287,9 +2286,8 @@ sql_create_index(struct Parse *parse, struct Token *token,
goto exit_create_index;
if (sql_space_index_by_name(space, name) != NULL) {
if (!if_not_exist) {
- sqlErrorMsg(parse,
- "index %s.%s already exists",
- def->name, name);
+ diag_set(ClientError, ER_INDEX_EXISTS, name);
+ sql_parser_error(parse);
}
goto exit_create_index;
}
@@ -2548,18 +2546,21 @@ sql_drop_index(struct Parse *parse_context, struct SrcList *index_name_list,
assert(table_token->n > 0);
struct space *space = space_by_name(table_name);
if (space == NULL) {
- if (!if_exists)
- sqlErrorMsg(parse_context, "no such space: %s",
- table_name);
+ if (!if_exists) {
+ diag_set(ClientError, ER_NO_SUCH_SPACE, table_name);
+ sql_parser_error(parse_context);
+ }
goto exit_drop_index;
}
const char *index_name = index_name_list->a[0].zName;
uint32_t index_id = box_index_id_by_name(space->def->id, index_name,
strlen(index_name));
if (index_id == BOX_ID_NIL) {
- if (!if_exists)
- sqlErrorMsg(parse_context, "no such index: %s.%s",
- table_name, index_name);
+ if (!if_exists) {
+ diag_set(ClientError, ER_NO_SUCH_INDEX_NAME,
+ index_name, table_name);
+ sql_parser_error(parse_context);
+ }
goto exit_drop_index;
}
struct index *index = space_index(space, index_id);
diff --git a/src/box/sql/delete.c b/src/box/sql/delete.c
index 41daa44..1f5aa79 100644
--- a/src/box/sql/delete.c
+++ b/src/box/sql/delete.c
@@ -42,7 +42,8 @@ sql_lookup_table(struct Parse *parse, struct SrcList_item *tbl_name)
assert(tbl_name->pTab == NULL);
struct space *space = space_by_name(tbl_name->zName);
if (space == NULL) {
- sqlErrorMsg(parse, "no such table: %s", tbl_name->zName);
+ diag_set(ClientError, ER_NO_SUCH_SPACE, tbl_name->zName);
+ sql_parser_error(parse);
return NULL;
}
assert(space != NULL);
diff --git a/src/box/sql/expr.c b/src/box/sql/expr.c
index 4450ac7..ef272f9 100644
--- a/src/box/sql/expr.c
+++ b/src/box/sql/expr.c
@@ -3940,8 +3940,9 @@ sqlExprCodeTarget(Parse * pParse, Expr * pExpr, int target)
}
#endif
if (pDef == 0 || pDef->xFinalize != 0) {
- sqlErrorMsg(pParse,
- "unknown function: %s()", zId);
+ diag_set(ClientError, ER_NO_SUCH_FUNCTION,
+ zId);
+ sql_parser_error(pParse);
break;
}
diff --git a/src/box/sql/pragma.c b/src/box/sql/pragma.c
index f3e66f5..a82ec9b 100644
--- a/src/box/sql/pragma.c
+++ b/src/box/sql/pragma.c
@@ -453,7 +453,8 @@ sqlPragma(Parse * pParse, Token * pId, /* First part of [schema.]id field */
/* Locate the pragma in the lookup table */
pPragma = pragmaLocate(zLeft);
if (pPragma == 0) {
- sqlErrorMsg(pParse, "no such pragma: %s", zLeft);
+ diag_set(ClientError, ER_SQL_NO_SUCH_PRAGMA, zLeft);
+ sql_parser_error(pParse);
goto pragma_out;
}
/* Register the result column names for pragmas that return results */
diff --git a/src/box/sql/resolve.c b/src/box/sql/resolve.c
index 029eb40..a3ff5b2 100644
--- a/src/box/sql/resolve.c
+++ b/src/box/sql/resolve.c
@@ -426,16 +426,20 @@ lookupName(Parse * pParse, /* The parsing context */
* cnt==0 means there was not match. cnt>1 means there were two or
* more matches. Either way, we have an error.
*/
- if (cnt != 1) {
- const char *zErr;
- zErr = cnt == 0 ? "no such column" : "ambiguous column name";
+ if (cnt > 1) {
if (zTab) {
- sqlErrorMsg(pParse, "%s: %s.%s", zErr, zTab, zCol);
+ sqlErrorMsg(pParse, "ambiguous column name: %s.%s",
+ zTab, zCol);
} else {
- sqlErrorMsg(pParse, "%s: %s", zErr, zCol);
+ sqlErrorMsg(pParse, "ambiguous column name: %s", zCol);
}
pTopNC->nErr++;
}
+ if (cnt == 0) {
+ diag_set(ClientError, ER_NO_SUCH_FIELD_NAME, zCol);
+ sql_parser_error(pParse);
+ pTopNC->nErr++;
+ }
/* If a column from a table in pSrcList is referenced, then record
* this fact in the pSrcList.a[].colUsed bitmask. Column 0 causes
@@ -698,9 +702,8 @@ resolveExprStep(Walker * pWalker, Expr * pExpr)
&& pParse->explain == 0
#endif
) {
- sqlErrorMsg(pParse,
- "no such function: %.*s", nId,
- zId);
+ diag_set(ClientError, ER_NO_SUCH_FUNCTION, zId);
+ sql_parser_error(pParse);
pNC->nErr++;
} else if (wrong_num_args) {
sqlErrorMsg(pParse,
diff --git a/src/box/sql/select.c b/src/box/sql/select.c
index a6e78d0..4283262 100644
--- a/src/box/sql/select.c
+++ b/src/box/sql/select.c
@@ -4426,8 +4426,9 @@ sqlIndexedByLookup(Parse * pParse, struct SrcList_item *pFrom)
}
}
if (idx == NULL) {
- sqlErrorMsg(pParse, "no such index: %s", zIndexedBy,
- 0);
+ diag_set(ClientError, ER_NO_SUCH_INDEX_NAME,
+ zIndexedBy, pTab->def->name);
+ sql_parser_error(pParse);
return SQL_ERROR;
}
pFrom->pIBIndex = idx->def;
@@ -5065,9 +5066,10 @@ selectExpander(Walker * pWalker, Select * p)
}
if (!tableSeen) {
if (zTName) {
- sqlErrorMsg(pParse,
- "no such table: %s",
- zTName);
+ diag_set(ClientError,
+ ER_NO_SUCH_SPACE,
+ zTName);
+ sql_parser_error(pParse);
} else {
sqlErrorMsg(pParse,
"no tables specified");
diff --git a/src/box/sql/sqlInt.h b/src/box/sql/sqlInt.h
index 7f17fd8..daeb02c 100644
--- a/src/box/sql/sqlInt.h
+++ b/src/box/sql/sqlInt.h
@@ -3270,6 +3270,14 @@ int sqlKeywordCode(const unsigned char *, int);
int sqlRunParser(Parse *, const char *, char **);
/**
+ * Increment error counter if error suppression isn't set.
+ *
+ * @param parse_context Current parsing context.
+ */
+void
+sql_parser_error(struct Parse *parse_context);
+
+/**
* This routine is called after a single SQL statement has been
* parsed and a VDBE program to execute that statement has been
* prepared. This routine puts the finishing touches on the
diff --git a/src/box/sql/update.c b/src/box/sql/update.c
index ba24283..d203604 100644
--- a/src/box/sql/update.c
+++ b/src/box/sql/update.c
@@ -191,8 +191,9 @@ sqlUpdate(Parse * pParse, /* The parser context */
}
}
if (j >= (int)def->field_count) {
- sqlErrorMsg(pParse, "no such column: %s",
- pChanges->a[i].zName);
+ diag_set(ClientError, ER_NO_SUCH_FIELD_NAME,
+ pChanges->a[i].zName);
+ sql_parser_error(pParse);
goto update_cleanup;
}
}
diff --git a/src/box/sql/util.c b/src/box/sql/util.c
index dadae18..ad7bb1e 100644
--- a/src/box/sql/util.c
+++ b/src/box/sql/util.c
@@ -246,6 +246,16 @@ sqlErrorMsg(Parse * pParse, const char *zFormat, ...)
}
}
+void
+sql_parser_error(struct Parse *parse_context)
+{
+ if (parse_context->db->suppressErr)
+ return;
+ parse_context->nErr++;
+ parse_context->rc = SQL_TARANTOOL_ERROR;
+}
+
+
/*
* Convert an SQL-style quoted string into a normal string by removing
* the quote characters. The conversion is done in-place. If the
diff --git a/test/box/misc.result b/test/box/misc.result
index 97189ec..fce6c67 100644
--- a/test/box/misc.result
+++ b/test/box/misc.result
@@ -365,7 +365,7 @@ t;
32: box.error.PROC_LUA
33: box.error.NO_SUCH_PROC
34: box.error.NO_SUCH_TRIGGER
- 35: box.error.NO_SUCH_INDEX
+ 35: box.error.NO_SUCH_INDEX_ID
36: box.error.NO_SUCH_SPACE
37: box.error.NO_SUCH_FIELD
38: box.error.EXACT_FIELD_COUNT
@@ -477,10 +477,12 @@ t;
145: box.error.NO_SUCH_SEQUENCE
146: box.error.SEQUENCE_EXISTS
147: box.error.SEQUENCE_OVERFLOW
+ 148: box.error.NO_SUCH_INDEX_NAME
149: box.error.SPACE_FIELD_IS_DUPLICATE
150: box.error.CANT_CREATE_COLLATION
151: box.error.WRONG_COLLATION_OPTIONS
152: box.error.NULLABLE_PRIMARY
+ 153: box.error.NO_SUCH_FIELD_NAME
154: box.error.TRANSACTION_YIELD
155: box.error.NO_SUCH_GROUP
156: box.error.SQL_BIND_VALUE
@@ -502,6 +504,7 @@ t;
172: box.error.ROWID_OVERFLOW
173: box.error.DROP_COLLATION
174: box.error.ILLEGAL_COLLATION_MIX
+ 175: box.error.SQL_NO_SUCH_PRAGMA
...
test_run:cmd("setopt delimiter ''");
---
diff --git a/test/sql-tap/alter.test.lua b/test/sql-tap/alter.test.lua
index 1aad555..3b2eceb 100755
--- a/test/sql-tap/alter.test.lua
+++ b/test/sql-tap/alter.test.lua
@@ -403,7 +403,7 @@ test:do_catchsql_test(
SELECT * FROM t1;
]], {
-- <alter-7.6>
- 1, "no such table: T1"
+ 1, "Space 'T1' does not exist"
-- </alter-7.6>
})
diff --git a/test/sql-tap/analyzeF.test.lua b/test/sql-tap/analyzeF.test.lua
index 77d53a6..0df4db4 100755
--- a/test/sql-tap/analyzeF.test.lua
+++ b/test/sql-tap/analyzeF.test.lua
@@ -83,7 +83,7 @@ test:do_catchsql_test(
SELECT * FROM t1 WHERE x = substr('145', 2, 1) AND y = func(1, 2, 3);
]], {
-- <2.1>
- 1, "no such function: FUNC"
+ 1, "Function 'FUNC' does not exist"
-- </2.1>
})
@@ -93,7 +93,7 @@ test:do_catchsql_test(
UPDATE t1 SET y=y+1 WHERE x = substr('145', 2, 1) AND y = func(1, 2, 3)
]], {
-- <2.2>
- 1, "no such function: FUNC"
+ 1, "Function 'FUNC' does not exist"
-- </2.2>
})
diff --git a/test/sql-tap/check.test.lua b/test/sql-tap/check.test.lua
index ace35eb..d5c3f2c 100755
--- a/test/sql-tap/check.test.lua
+++ b/test/sql-tap/check.test.lua
@@ -344,7 +344,7 @@ test:do_catchsql_test(
);
]], {
-- <check-3.3>
- 1, "Failed to create space 'T3': SQL error: no such column: Q"
+ 1, "Failed to create space 'T3': Field 'Q' doesn't exist"
-- </check-3.3>
})
@@ -368,7 +368,7 @@ test:do_catchsql_test(
);
]], {
-- <check-3.5>
- 1, "Failed to create space 'T3': SQL error: no such column: T2.X"
+ 1, "Failed to create space 'T3': Field 'X' doesn't exist"
-- </check-3.5>
})
diff --git a/test/sql-tap/fkey2.test.lua b/test/sql-tap/fkey2.test.lua
index 03bf025..d347e5a 100755
--- a/test/sql-tap/fkey2.test.lua
+++ b/test/sql-tap/fkey2.test.lua
@@ -309,7 +309,7 @@ test:do_catchsql_test(
INSERT INTO t9 VALUES(1, 3);
]], {
-- <fkey2-1.29>
- 1, "no such table: T9"
+ 1, "Space 'T9' does not exist"
-- </fkey2-1.29>
})
diff --git a/test/sql-tap/func.test.lua b/test/sql-tap/func.test.lua
index e6b7956..2336fe1 100755
--- a/test/sql-tap/func.test.lua
+++ b/test/sql-tap/func.test.lua
@@ -2550,7 +2550,7 @@ test:do_test(
]])
end, {
-- <func-28.1>
- 1, "unknown function: NOSUCHFUNC()"
+ 1, "Function 'NOSUCHFUNC' does not exist"
-- </func-28.1>
})
diff --git a/test/sql-tap/gh-2367-pragma.test.lua b/test/sql-tap/gh-2367-pragma.test.lua
index c0792c9..d874bce 100755
--- a/test/sql-tap/gh-2367-pragma.test.lua
+++ b/test/sql-tap/gh-2367-pragma.test.lua
@@ -8,7 +8,7 @@ test:do_catchsql_test(
[[
PRAGMA kek = 'ON';
]], {
- 1, "no such pragma: KEK"
+ 1, "Pragma 'KEK' does not exist"
})
---
diff --git a/test/sql-tap/gh-2996-indexed-by.test.lua b/test/sql-tap/gh-2996-indexed-by.test.lua
index 7ee86be..1039ac1 100755
--- a/test/sql-tap/gh-2996-indexed-by.test.lua
+++ b/test/sql-tap/gh-2996-indexed-by.test.lua
@@ -60,7 +60,7 @@ test:do_catchsql_test(
"indexed-by-1.3",
"SELECT b FROM t1 INDEXED BY t1ix1 WHERE b <= 5", {
-- <indexed-by-1.3>
- 1, "no such index: T1IX1"
+ 1, "No index 'T1IX1' is defined in space 'T1'"
-- <indexed-by-1.3>
})
@@ -68,7 +68,7 @@ test:do_catchsql_test(
"indexed-by-1.4",
"SELECT b FROM t1 INDEXED BY t1ix2 WHERE b <= 5", {
-- <indexed-by-1.4>
- 1, "no such index: T1IX2"
+ 1, "No index 'T1IX2' is defined in space 'T1'"
-- <indexed-by-1.4>
})
@@ -103,7 +103,7 @@ test:do_catchsql_test(
"indexed-by-1.7",
"DELETE FROM t1 INDEXED BY t1ix1 WHERE b <= 5", {
-- <indexed-by-1.7>
- 1, "no such index: T1IX1"
+ 1, "No index 'T1IX1' is defined in space 'T1'"
-- <indexed-by-1.7>
})
@@ -111,7 +111,7 @@ test:do_catchsql_test(
"indexed-by-1.8",
"DELETE FROM t1 INDEXED BY t1ix2 WHERE b <= 5", {
-- <indexed-by-1.8>
- 1, "no such index: T1IX2"
+ 1, "No index 'T1IX2' is defined in space 'T1'"
-- <indexed-by-1.8>
})
@@ -145,7 +145,7 @@ test:do_catchsql_test(
"indexed-by-1.11",
"UPDATE t1 INDEXED BY t1ix1 SET b = 20 WHERE b = 10", {
-- <indexed-by-1.11>
- 1, "no such index: T1IX1"
+ 1, "No index 'T1IX1' is defined in space 'T1'"
-- <indexed-by-1.11>
})
@@ -153,7 +153,7 @@ test:do_catchsql_test(
"indexed-by-1.12",
"UPDATE t1 INDEXED BY t1ix2 SET b = 20 WHERE b = 10", {
-- <indexed-by-1.12>
- 1, "no such index: T1IX2"
+ 1, "No index 'T1IX2' is defined in space 'T1'"
-- <indexed-by-1.12>
})
diff --git a/test/sql-tap/gh2130-index-refer-table.test.lua b/test/sql-tap/gh2130-index-refer-table.test.lua
index b3bf519..99a7579 100755
--- a/test/sql-tap/gh2130-index-refer-table.test.lua
+++ b/test/sql-tap/gh2130-index-refer-table.test.lua
@@ -41,7 +41,7 @@ test:do_catchsql_test(
]],
{
-- <index-1.3>
- 1, "index T1.SAME_INDEX_NAME already exists"
+ 1, "Index 'SAME_INDEX_NAME' already exists"
-- <index-1.3>
})
@@ -52,7 +52,7 @@ test:do_catchsql_test(
]],
{
-- <index-1.4>
- 1, "index T2.SAME_INDEX_NAME already exists"
+ 1, "Index 'SAME_INDEX_NAME' already exists"
-- <index-1.4>
})
diff --git a/test/sql-tap/identifier_case.test.lua b/test/sql-tap/identifier_case.test.lua
index f26399e..923d5e6 100755
--- a/test/sql-tap/identifier_case.test.lua
+++ b/test/sql-tap/identifier_case.test.lua
@@ -75,7 +75,7 @@ data = {
{ 4, [[ "COLUMNN" ]], {0} },
{ 5, [[ "columnn" ]], {0} },
{ 6, [[ "Columnn" ]], {0} },
- { 7, [[ "columNN" ]], {1, "/duplicate column name/"} }
+ { 7, [[ "columNN" ]], {1, "Space field 'columNN' is duplicate"} }
}
for _, row in ipairs(data) do
diff --git a/test/sql-tap/in1.test.lua b/test/sql-tap/in1.test.lua
index e46ecb7..d32506c 100755
--- a/test/sql-tap/in1.test.lua
+++ b/test/sql-tap/in1.test.lua
@@ -220,7 +220,7 @@ test:do_catchsql_test(
SELECT a FROM t1 WHERE c IN (10,20)
]], {
-- <in-2.11>
- 1, "no such column: C"
+ 1, "Field 'C' doesn't exist"
-- </in-2.11>
})
diff --git a/test/sql-tap/in3.test.lua b/test/sql-tap/in3.test.lua
index 3f69a77..41f08c8 100755
--- a/test/sql-tap/in3.test.lua
+++ b/test/sql-tap/in3.test.lua
@@ -469,7 +469,7 @@ test:do_catchsql_test(
(SELECT folderid FROM Folder WHERE path LIKE 'C:\MP3\Albums\' || '%');
]], {
-- <in3-5.2>
- 1, "no such table: FOLDER"
+ 1, "Space 'FOLDER' does not exist"
-- </in3-5.2>
})
diff --git a/test/sql-tap/index-info.test.lua b/test/sql-tap/index-info.test.lua
index 17f7414..d052e8c 100755
--- a/test/sql-tap/index-info.test.lua
+++ b/test/sql-tap/index-info.test.lua
@@ -18,7 +18,7 @@ test:do_catchsql_test(
"index-info-1.1",
"PRAGMA index_xinfo (t1.a);",
{
- 1, "no such pragma: INDEX_XINFO",
+ 1, "Pragma 'INDEX_XINFO' does not exist",
})
-- Case: old index_info syntax is banned.
diff --git a/test/sql-tap/index1.test.lua b/test/sql-tap/index1.test.lua
index 117a4a5..3979fe0 100755
--- a/test/sql-tap/index1.test.lua
+++ b/test/sql-tap/index1.test.lua
@@ -97,7 +97,7 @@ test:do_test(
return test:catchsql "CREATE INDEX index1 ON test1(f4)"
end, {
-- <index-2.1b>
- 1, "no such column: F4"
+ 1, "Field 'F4' doesn't exist"
-- </index-2.1b>
})
@@ -115,7 +115,7 @@ test:do_test(
return table.insert(v,msg) or v
end, {
-- <index-2.2>
- 1, "no such column: F4"
+ 1, "Field 'F4' doesn't exist"
-- </index-2.2>
})
@@ -411,7 +411,7 @@ test:do_catchsql_test(
DROP INDEX index1 ON test1
]], {
-- <index-8.1>
- 1, "no such index: TEST1.INDEX1"
+ 1, "No index 'INDEX1' is defined in space 'TEST1'"
-- </index-8.1>
})
diff --git a/test/sql-tap/insert1.test.lua b/test/sql-tap/insert1.test.lua
index 86cb141..b1c8957 100755
--- a/test/sql-tap/insert1.test.lua
+++ b/test/sql-tap/insert1.test.lua
@@ -26,7 +26,7 @@ test:do_catchsql_test("insert-1.1", [[
INSERT INTO test1 VALUES(1,2,3)
]], {
-- <insert-1.1>
- 1, "no such table: TEST1"
+ 1, "Space 'TEST1' does not exist"
-- </insert-1.1>
})
@@ -240,7 +240,7 @@ end, {
SELECT * FROM t3 ORDER BY a;
]], {
-- <insert-4.3>
- 1, "no such column: T3.A"
+ 1, "Field 'A' doesn't exist"
-- </insert-4.3>
})
@@ -268,7 +268,7 @@ test:do_catchsql_test("insert-4.6", [[
INSERT INTO t3 VALUES(notafunc(2,3),2,3);
]], {
-- <insert-4.6>
- 1, "no such function: NOTAFUNC"
+ 1, "Function 'NOTAFUNC' does not exist"
-- </insert-4.6>
})
diff --git a/test/sql-tap/insert3.test.lua b/test/sql-tap/insert3.test.lua
index 1bcc71d..46f6399 100755
--- a/test/sql-tap/insert3.test.lua
+++ b/test/sql-tap/insert3.test.lua
@@ -172,7 +172,7 @@ test:do_catchsql_test(
INSERT INTO t3 (a,b,c)VALUES(1,2,3)
]], {
-- <insert3-3.2>
- 1, "no such column: NOSUCHCOL"
+ 1, "Field 'NOSUCHCOL' doesn't exist"
-- </insert3-3.2>
})
@@ -195,7 +195,7 @@ test:do_catchsql_test(
INSERT INTO t4 (a,b,c)VALUES(1,2,3)
]], {
-- <insert3-3.4>
- 1, "no such column: NOSUCHCOL"
+ 1, "Field 'NOSUCHCOL' doesn't exist"
-- </insert3-3.4>
})
diff --git a/test/sql-tap/join.test.lua b/test/sql-tap/join.test.lua
index fbcfb0c..b531bbd 100755
--- a/test/sql-tap/join.test.lua
+++ b/test/sql-tap/join.test.lua
@@ -580,7 +580,7 @@ test:do_catchsql_test(
SELECT * FROM t1 JOIN t2 ON t3.a=t2.b;
]], {
-- <join-3.6>
- 1, "no such column: T3.A"
+ 1, "Field 'A' doesn't exist"
-- </join-3.6>
})
diff --git a/test/sql-tap/limit.test.lua b/test/sql-tap/limit.test.lua
index 788823f..033a345 100755
--- a/test/sql-tap/limit.test.lua
+++ b/test/sql-tap/limit.test.lua
@@ -795,7 +795,7 @@ test:do_catchsql_test(
SELECT * FROM t1 LIMIT x
]], {
-- <limit-12.3>
- 1, "no such column: X"
+ 1, "Field 'X' doesn't exist"
-- </limit-12.3>
})
@@ -805,7 +805,7 @@ test:do_catchsql_test(
SELECT * FROM t1 LIMIT 1 OFFSET x
]], {
-- <limit-12.4>
- 1, "no such column: X"
+ 1, "Field 'X' doesn't exist"
-- </limit-12.4>
})
diff --git a/test/sql-tap/lua-tables.test.lua b/test/sql-tap/lua-tables.test.lua
index 409976b..aa10c70 100755
--- a/test/sql-tap/lua-tables.test.lua
+++ b/test/sql-tap/lua-tables.test.lua
@@ -40,7 +40,7 @@ test:do_execsql_test(
test:do_catchsql_test(
"lua-tables-4",
[[SELECT * from t1]],
- {1, "no such table: T1"}
+ {1, "Space 'T1' does not exist"}
)
test:do_catchsql_test(
diff --git a/test/sql-tap/lua_sql.test.lua b/test/sql-tap/lua_sql.test.lua
index 0ef0837..1b10b0b 100755
--- a/test/sql-tap/lua_sql.test.lua
+++ b/test/sql-tap/lua_sql.test.lua
@@ -53,7 +53,7 @@ test:do_test(
test:do_catchsql_test(
"lua_sql-1.0",
"select func3(1)",
- {1, "no such function: FUNC3"})
+ {1, "Function 'FUNC3' does not exist"})
-- check for different types
diff --git a/test/sql-tap/misc1.test.lua b/test/sql-tap/misc1.test.lua
index e9b5e1c..4358b58 100755
--- a/test/sql-tap/misc1.test.lua
+++ b/test/sql-tap/misc1.test.lua
@@ -423,7 +423,7 @@ test:do_catchsql_test(
SELECT t1.*;
]], {
-- <misc1-8.2>
- 1, "no such table: T1"
+ 1, "Space 'T1' does not exist"
-- </misc1-8.2>
})
@@ -887,7 +887,7 @@ test:do_catchsql_test(
CREATE TABLE test(a integer, primary key(a));
]], {
-- <misc1-16.2>
- 1, "table TEST already exists"
+ 1, "Space 'TEST' already exists"
-- </misc1-16.2>
})
diff --git a/test/sql-tap/select1.test.lua b/test/sql-tap/select1.test.lua
index bacc2b5..9ad0075 100755
--- a/test/sql-tap/select1.test.lua
+++ b/test/sql-tap/select1.test.lua
@@ -13,7 +13,7 @@ test:do_catchsql_test(
SELECT * FROM test1
]], {
-- <select1-1.1>
- 1, "no such table: TEST1"
+ 1, "Space 'TEST1' does not exist"
-- </select1-1.1>
})
@@ -25,7 +25,7 @@ test:do_catchsql_test(
SELECT * FROM test1, test2
]], {
-- <select1-1.2>
- 1, "no such table: TEST2"
+ 1, "Space 'TEST2' does not exist"
-- </select1-1.2>
})
@@ -35,7 +35,7 @@ test:do_catchsql_test(
SELECT * FROM test2, test1
]], {
-- <select1-1.3>
- 1, "no such table: TEST2"
+ 1, "Space 'TEST2' does not exist"
-- </select1-1.3>
})
@@ -519,7 +519,7 @@ test:do_catchsql_test(
SELECT XYZZY(f1) FROM test1
]], {
-- <select1-2.18>
- 1, "no such function: XYZZY"
+ 1, "Function 'XYZZY' does not exist"
-- </select1-2.18>
})
@@ -1795,7 +1795,7 @@ test:do_catchsql_test(
SELECT t5.* FROM t3, t4;
]], {
-- <select1-11.10>
- 1, "no such table: T5"
+ 1, "Space 'T5' does not exist"
-- </select1-11.10>
})
@@ -1805,7 +1805,7 @@ test:do_catchsql_test(
SELECT t3.* FROM t3 AS x, t4;
]], {
-- <select1-11.11>
- 1, "no such table: T3"
+ 1, "Space 'T3' does not exist"
-- </select1-11.11>
})
diff --git a/test/sql-tap/select4.test.lua b/test/sql-tap/select4.test.lua
index dd2d68b..bf600f9 100755
--- a/test/sql-tap/select4.test.lua
+++ b/test/sql-tap/select4.test.lua
@@ -411,7 +411,7 @@ test:do_catchsql_test(
ORDER BY log;
]], {
-- <select4-5.1>
- 1, "no such table: T2"
+ 1, "Space 'T2' does not exist"
-- </select4-5.1>
})
diff --git a/test/sql-tap/select5.test.lua b/test/sql-tap/select5.test.lua
index 053e4c8..0d132db 100755
--- a/test/sql-tap/select5.test.lua
+++ b/test/sql-tap/select5.test.lua
@@ -88,7 +88,7 @@ test:do_catchsql_test(
SELECT y, count(*) FROM t1 GROUP BY z ORDER BY y
]], {
-- <select5-2.1.1>
- 1, "no such column: Z"
+ 1, "Field 'Z' doesn't exist"
-- </select5-2.1.1>
})
@@ -98,7 +98,7 @@ test:do_catchsql_test(
SELECT y, count(*) FROM t1 GROUP BY z(y) ORDER BY y
]], {
-- <select5-2.2>
- 1, "no such function: Z"
+ 1, "Function 'Z' does not exist"
-- </select5-2.2>
})
@@ -118,7 +118,7 @@ test:do_catchsql_test(
SELECT y, count(*) FROM t1 GROUP BY y HAVING z(y)<3 ORDER BY y
]], {
-- <select5-2.4>
- 1, "no such function: Z"
+ 1, "Function 'Z' does not exist"
-- </select5-2.4>
})
@@ -128,7 +128,7 @@ test:do_catchsql_test(
SELECT y, count(*) FROM t1 GROUP BY y HAVING count(*)<z ORDER BY y
]], {
-- <select5-2.5>
- 1, "no such column: Z"
+ 1, "Field 'Z' doesn't exist"
-- </select5-2.5>
})
diff --git a/test/sql-tap/table.test.lua b/test/sql-tap/table.test.lua
index 851e574..2bcc5aa 100755
--- a/test/sql-tap/table.test.lua
+++ b/test/sql-tap/table.test.lua
@@ -131,7 +131,7 @@ test:do_test(
return test:catchsql "CREATE TABLE test2(id primary key, two text default 'hi')"
end, {
-- <table-2.1>
- 1, "table TEST2 already exists"
+ 1, "Space 'TEST2' already exists"
-- </table-2.1>
})
@@ -266,7 +266,7 @@ test:do_catchsql_test(
CREATE TABLE BIG(xyz int primary key)
]], {
-- <table-3.2>
- 1, "table BIG already exists"
+ 1, "Space 'BIG' already exists"
-- </table-3.2>
})
@@ -276,7 +276,7 @@ test:do_catchsql_test(
CREATE TABLE biG(xyz int primary key)
]], {
-- <table-3.3>
- 1, "table BIG already exists"
+ 1, "Space 'BIG' already exists"
-- </table-3.3>
})
@@ -286,7 +286,7 @@ test:do_catchsql_test(
CREATE TABLE bIg(xyz int primary key)
]], {
-- <table-3.4>
- 1, "table BIG already exists"
+ 1, "Space 'BIG' already exists"
-- </table-3.4>
})
@@ -377,7 +377,7 @@ test:do_catchsql_test(
DROP TABLE test009
]], {
-- <table-5.1.1>
- 1, "no such table: TEST009"
+ 1, "Space 'TEST009' does not exist"
-- </table-5.1.1>
})
@@ -650,7 +650,7 @@ test:do_catchsql_test(
SELECT * FROM t5;
]], {
-- <table-8.7>
- 1, "no such table: T5"
+ 1, "Space 'T5' does not exist"
-- </table-8.7>
})
@@ -697,7 +697,7 @@ test:do_catchsql_test(
CREATE TABLE t6(a int primary key,b int,a int);
]], {
-- <table-9.1>
- 1, "duplicate column name: A"
+ 1, "Space field 'A' is duplicate"
-- </table-9.1>
})
@@ -707,7 +707,7 @@ test:do_catchsql_test(
CREATE TABLE t6(a varchar(100) primary key, b blob, a integer);
]], {
-- <table-9.2>
- 1, "duplicate column name: A"
+ 1, "Space field 'A' is duplicate"
-- </table-9.2>
})
diff --git a/test/sql-tap/tkt-4ef7e3cfca.test.lua b/test/sql-tap/tkt-4ef7e3cfca.test.lua
index 29484dd..a30c45c 100755
--- a/test/sql-tap/tkt-4ef7e3cfca.test.lua
+++ b/test/sql-tap/tkt-4ef7e3cfca.test.lua
@@ -31,7 +31,7 @@ test:do_catchsql_test(
INSERT INTO x VALUES('assert');
]], {
-- <1.1>
- 1, "no such column: ABC.A"
+ 1, "Field 'A' doesn't exist"
-- </1.1>
})
diff --git a/test/sql-tap/tkt3346.test.lua b/test/sql-tap/tkt3346.test.lua
index 5774d29..bcd4d41 100755
--- a/test/sql-tap/tkt3346.test.lua
+++ b/test/sql-tap/tkt3346.test.lua
@@ -94,7 +94,7 @@ test:do_catchsql_test(
SELECT * FROM (SELECT a,b FROM t1 WHERE 1=x.a) AS x;
]], {
-- <tkt3346-2.1>
- 1, "no such column: X.A"
+ 1, "Field 'A' doesn't exist"
-- </tkt3346-2.1>
})
diff --git a/test/sql-tap/tkt3442.test.lua b/test/sql-tap/tkt3442.test.lua
index 8b03f6d..743045d 100755
--- a/test/sql-tap/tkt3442.test.lua
+++ b/test/sql-tap/tkt3442.test.lua
@@ -75,7 +75,7 @@ test:do_catchsql_test(
SELECT node FROM listhash WHERE id="5000" LIMIT 1;
]], {
-- <tkt3442-1.5>
- 1, "no such column: 5000"
+ 1, "Field '5000' doesn't exist"
-- </tkt3442-1.5>
})
diff --git a/test/sql-tap/triggerB.test.lua b/test/sql-tap/triggerB.test.lua
index 30207f0..24f75b7 100755
--- a/test/sql-tap/triggerB.test.lua
+++ b/test/sql-tap/triggerB.test.lua
@@ -60,7 +60,7 @@ test:do_catchsql_test(
INSERT INTO x VALUES(3,1,2);
]], {
-- <triggerB-2.1>
- 1, "no such column: WEN.X"
+ 1, "Field 'X' doesn't exist"
-- </triggerB-2.1>
})
@@ -73,7 +73,7 @@ test:do_catchsql_test(
UPDATE x SET y=y+1;
]], {
-- <triggerB-2.2>
- 1, "no such column: DLO.X"
+ 1, "Field 'X' doesn't exist"
-- </triggerB-2.2>
})
@@ -111,7 +111,7 @@ test:do_test(
]]
end, {
-- <triggerB-2.4>
- 1, "no such column: OLD.C"
+ 1, "Field 'C' doesn't exist"
-- </triggerB-2.4>
})
diff --git a/test/sql-tap/update.test.lua b/test/sql-tap/update.test.lua
index 5e242c0..c911969 100755
--- a/test/sql-tap/update.test.lua
+++ b/test/sql-tap/update.test.lua
@@ -25,7 +25,7 @@ test:do_catchsql_test("update-1.1", [[
UPDATE test1 SET f2=5 WHERE f1<1
]], {
-- <update-1.1>
- 1, "no such table: TEST1"
+ 1, "Space 'TEST1' does not exist"
-- </update-1.1>
})
@@ -58,7 +58,7 @@ test:do_catchsql_test("update-3.2", [[
UPDATE test1 SET f1=f3*2 WHERE f2==32
]], {
-- <update-3.2>
- 1, "no such column: F3"
+ 1, "Field 'F3' doesn't exist"
-- </update-3.2>
})
@@ -66,7 +66,7 @@ test:do_catchsql_test("update-3.3", [[
UPDATE test1 SET f1=test2.f1*2 WHERE f2==32
]], {
-- <update-3.3>
- 1, "no such column: TEST2.F1"
+ 1, "Field 'F1' doesn't exist"
-- </update-3.3>
})
@@ -74,7 +74,7 @@ test:do_catchsql_test("update-3.4", [[
UPDATE test1 SET f3=f1*2 WHERE f2==32
]], {
-- <update-3.4>
- 1, "no such column: F3"
+ 1, "Field 'F3' doesn't exist"
-- </update-3.4>
})
@@ -854,7 +854,7 @@ test:do_catchsql_test("update-9.1", [[
UPDATE test1 SET x=11 WHERE f1=1025
]], {
-- <update-9.1>
- 1, "no such column: X"
+ 1, "Field 'X' doesn't exist"
-- </update-9.1>
})
@@ -862,7 +862,7 @@ test:do_catchsql_test("update-9.2", [[
UPDATE test1 SET f1=x(11) WHERE f1=1025
]], {
-- <update-9.2>
- 1, "no such function: X"
+ 1, "Function 'X' does not exist"
-- </update-9.2>
})
@@ -870,7 +870,7 @@ test:do_catchsql_test("update-9.3", [[
UPDATE test1 SET f1=11 WHERE x=1025
]], {
-- <update-9.3>
- 1, "no such column: X"
+ 1, "Field 'X' doesn't exist"
-- </update-9.3>
})
@@ -878,7 +878,7 @@ test:do_catchsql_test("update-9.4", [[
UPDATE test1 SET f1=11 WHERE x(f1)=1025
]], {
-- <update-9.4>
- 1, "no such function: X"
+ 1, "Function 'X' does not exist"
-- </update-9.4>
})
diff --git a/test/sql-tap/view.test.lua b/test/sql-tap/view.test.lua
index 81dc9a4..d721361 100755
--- a/test/sql-tap/view.test.lua
+++ b/test/sql-tap/view.test.lua
@@ -69,7 +69,7 @@ if (0 > 0)
SELECT * FROM v1 ORDER BY a;
]], {
-- <view-1.2>
- 1, "no such table: v1"
+ 1, "Space 'V1' does not exist"
-- </view-1.2>
})
@@ -106,7 +106,7 @@ test:do_catchsql_test(
SELECT * FROM v1 ORDER BY a;
]], {
-- <view-1.4>
- 1, "no such table: V1"
+ 1, "Space 'V1' does not exist"
-- </view-1.4>
})
@@ -967,7 +967,7 @@ test:do_catchsql_test(
DROP VIEW nosuchview
]], {
-- <view-17.1>
- 1, "no such view: NOSUCHVIEW"
+ 1, "Space 'NOSUCHVIEW' does not exist"
-- </view-17.1>
})
diff --git a/test/sql-tap/with2.test.lua b/test/sql-tap/with2.test.lua
index d43076c..5b00dfd 100755
--- a/test/sql-tap/with2.test.lua
+++ b/test/sql-tap/with2.test.lua
@@ -537,7 +537,7 @@ test:do_catchsql_test("6.3.2", [[
INSERT INTO t2 SELECT a, b FROM abc;
]], {
-- <6.3>
- 1, "no such table: ABC"
+ 1, "Space 'ABC' does not exist"
-- </6.3>
})
@@ -600,7 +600,7 @@ test:do_catchsql_test("6.10", [[
SELECT * FROM x
]], {
-- <6.10>
- 1, "no such column: C"
+ 1, "Field 'C' doesn't exist"
-- </6.10>
})
diff --git a/test/sql/checks.result b/test/sql/checks.result
index 12a3aa1..2eafae8 100644
--- a/test/sql/checks.result
+++ b/test/sql/checks.result
@@ -111,11 +111,11 @@ s = box.space._space:insert(t)
--
box.sql.execute("CREATE TABLE w2 (s1 INT PRIMARY KEY, CHECK ((SELECT COUNT(*) FROM w2) = 0));")
---
-- error: 'Failed to create space ''W2'': SQL error: no such table: W2'
+- error: 'Failed to create space ''W2'': Space ''W2'' does not exist'
...
box.sql.execute("DROP TABLE w2;")
---
-- error: 'no such table: W2'
+- error: Space 'W2' does not exist
...
--
-- gh-3653: Dissallow bindings for DDL
diff --git a/test/sql/delete.result b/test/sql/delete.result
index 9071434..e024dd6 100644
--- a/test/sql/delete.result
+++ b/test/sql/delete.result
@@ -44,7 +44,7 @@ box.sql.execute("DROP TABLE t1;");
--
box.sql.execute("DELETE FROM t1;")
---
-- error: 'no such table: T1'
+- error: Space 'T1' does not exist
...
box.sql.execute("CREATE TABLE t2 (s1 INT PRIMARY KEY);")
---
@@ -54,7 +54,7 @@ box.sql.execute("CREATE TRIGGER t2 BEFORE INSERT ON t2 BEGIN DELETE FROM t1; END
...
box.sql.execute("INSERT INTO t2 VALUES (0);")
---
-- error: 'no such table: T1'
+- error: Space 'T1' does not exist
...
box.sql.execute("DROP TABLE t2;")
---
diff --git a/test/sql/drop-table.result b/test/sql/drop-table.result
index 29318a8..0e14d8a 100644
--- a/test/sql/drop-table.result
+++ b/test/sql/drop-table.result
@@ -27,7 +27,7 @@ box.sql.execute("DROP TABLE zzzoobar")
-- Table does not exist anymore. Should error here.
box.sql.execute("INSERT INTO zzzoobar VALUES (111, 222, 'c3', 444)")
---
-- error: 'no such table: ZZZOOBAR'
+- error: Space 'ZZZOOBAR' does not exist
...
-- gh-3712: if space features sequence, data from _sequence_data
-- must be deleted before space is dropped.
@@ -92,7 +92,7 @@ box.sql.execute('CREATE TABLE t1 (id INT PRIMARY KEY, a INT)')
-- Error: no such table.
box.sql.execute('DROP TABLE t1')
---
-- error: 'no such table: T1'
+- error: Space 'T1' does not exist
...
box.session.su('admin')
---
diff --git a/test/sql/gh-2929-primary-key.result b/test/sql/gh-2929-primary-key.result
index 5d95d41..aa91813 100644
--- a/test/sql/gh-2929-primary-key.result
+++ b/test/sql/gh-2929-primary-key.result
@@ -40,5 +40,5 @@ box.sql.execute("DROP TABLE t1")
--
box.sql.execute("CREATE TABLE tx (a INT, PRIMARY KEY (b));")
---
-- error: 'no such column: B'
+- error: Field 'B' doesn't exist
...
diff --git a/test/sql/gh-3613-idx-alter-update.result b/test/sql/gh-3613-idx-alter-update.result
index ac62b5f..2815428 100644
--- a/test/sql/gh-3613-idx-alter-update.result
+++ b/test/sql/gh-3613-idx-alter-update.result
@@ -28,7 +28,7 @@ box.snapshot()
test_run:cmd('restart server default')
box.sql.execute('DROP INDEX i ON j3')
---
-- error: 'no such index: J3.I'
+- error: No index 'I' is defined in space 'J3'
...
box.sql.execute('CREATE INDEX i ON j3 (s1)')
---
diff --git a/test/sql/gh-3888-values-blob-assert.result b/test/sql/gh-3888-values-blob-assert.result
index 75152bb..95a81c7 100644
--- a/test/sql/gh-3888-values-blob-assert.result
+++ b/test/sql/gh-3888-values-blob-assert.result
@@ -34,12 +34,12 @@ box.sql.execute('SELECT float')
-- check 'VALUES' against ID (should fail)
box.sql.execute('VALUES(TheColumnName)')
---
-- error: 'no such column: THECOLUMNNAME'
+- error: Field 'THECOLUMNNAME' doesn't exist
...
-- check 'SELECT' against ID (should fail)
box.sql.execute('SELECT TheColumnName')
---
-- error: 'no such column: THECOLUMNNAME'
+- error: Field 'THECOLUMNNAME' doesn't exist
...
-- check 'VALUES' well-formed expression (returns value)
box.sql.execute('VALUES(-0.5e-2)')
diff --git a/test/sql/icu-upper-lower.result b/test/sql/icu-upper-lower.result
index 6ca44b9..0ecfd23 100644
--- a/test/sql/icu-upper-lower.result
+++ b/test/sql/icu-upper-lower.result
@@ -163,7 +163,7 @@ box.sql.execute("select upper('1', 2)")
...
box.sql.execute("select upper(\"1\")")
---
-- error: 'no such column: 1'
+- error: Field '1' doesn't exist
...
box.sql.execute("select upper()")
---
diff --git a/test/sql/iproto.result b/test/sql/iproto.result
index b0736b0..562e068 100644
--- a/test/sql/iproto.result
+++ b/test/sql/iproto.result
@@ -92,7 +92,7 @@ cn:execute('delete from test where a = 12')
-- SQL errors.
cn:execute('insert into not_existing_table values ("kek")')
---
-- error: 'Failed to execute SQL statement: no such table: NOT_EXISTING_TABLE'
+- error: 'Failed to execute SQL statement: Space ''NOT_EXISTING_TABLE'' does not exist'
...
cn:execute('insert qwerty gjsdjq q qwd qmq;; q;qwd;')
---
--
2.7.4
More information about the Tarantool-patches
mailing list