[patches] [PATCH 1/3] sql: do not uppercase system space names

AKhatskevich avkhatskevich at tarantool.org
Mon Feb 5 19:51:36 MSK 2018


  According to ANSI ISO non-delimited identifiers comparition is performed
thrue normalization, which is converting to the upper case. It was decided
to store space names in normalized form, so that we cah create hash table
over tham.
  Storing system space names in lowercase in sql is natural, because this
is the way thay are stored in Tarantool. However, it makes one to delimit
it.

Part of #2126
---
 src/box/sql.c                                      | 34 +++++-----
 src/box/sql/analyze.c                              | 19 +++---
 src/box/sql/build.c                                | 59 +++++++++--------
 src/box/sql/delete.c                               | 10 +--
 src/box/sql/sqliteInt.h                            |  4 +-
 src/box/sql/tarantoolInt.h                         | 14 ++--
 src/box/sql/trigger.c                              |  9 +--
 test/sql-tap/alter.test.lua                        | 18 ++---
 test/sql-tap/analyze1.test.lua                     | 76 +++++++++++-----------
 test/sql-tap/analyze3.test.lua                     |  2 +-
 test/sql-tap/analyze4.test.lua                     |  6 +-
 test/sql-tap/analyze5.test.lua                     | 10 +--
 test/sql-tap/analyze9.test.lua                     | 56 ++++++++--------
 test/sql-tap/analyzeC.test.lua                     | 28 ++++----
 test/sql-tap/analyzeD.test.lua                     |  4 +-
 test/sql-tap/autoinc.test.lua                      | 16 ++---
 test/sql-tap/gh-2723-concurrency.test.lua          |  2 +-
 test/sql-tap/index1.test.lua                       | 38 +++++------
 test/sql-tap/intpkey.test.lua                      |  2 +-
 test/sql-tap/select9.test.lua                      |  4 +-
 test/sql-tap/selectA.test.lua                      |  2 +-
 test/sql-tap/table.test.lua                        | 10 +--
 test/sql-tap/trigger1.test.lua                     |  8 +--
 test/sql/gh2141-delete-trigger-drop-table.result   |  4 +-
 test/sql/gh2141-delete-trigger-drop-table.test.lua |  4 +-
 test/sql/persistency.result                        |  8 +--
 test/sql/persistency.test.lua                      |  8 +--
 27 files changed, 232 insertions(+), 223 deletions(-)

diff --git a/src/box/sql.c b/src/box/sql.c
index 498f943c0..82cdcadef 100644
--- a/src/box/sql.c
+++ b/src/box/sql.c
@@ -1401,48 +1401,48 @@ void tarantoolSqlite3LoadSchema(InitData *init)
 	sql_schema_put(
 		init, TARANTOOL_SYS_SCHEMA_NAME,
 		BOX_SCHEMA_ID, 0,
-		"CREATE TABLE "TARANTOOL_SYS_SCHEMA_NAME
-		" (key TEXT PRIMARY KEY, value)"
+		"CREATE TABLE \""TARANTOOL_SYS_SCHEMA_NAME
+		"\" (\"key\" TEXT PRIMARY KEY, \"value\")"
 	);
 
 	sql_schema_put(
 		init, TARANTOOL_SYS_SPACE_NAME,
 		BOX_SPACE_ID, 0,
-		"CREATE TABLE "TARANTOOL_SYS_SPACE_NAME
-		" (id INT PRIMARY KEY, owner INT, name TEXT, "
-		"engine TEXT, field_count INT, opts, format)"
+		"CREATE TABLE \""TARANTOOL_SYS_SPACE_NAME
+		"\" (\"id\" INT PRIMARY KEY, \"owner\" INT, \"name\" TEXT, "
+		"\"engine\" TEXT, \"field_count\" INT, \"opts\", \"format\")"
 	);
 
 	sql_schema_put(
 		init, TARANTOOL_SYS_INDEX_NAME,
 		BOX_INDEX_ID, 0,
-		"CREATE TABLE "TARANTOOL_SYS_INDEX_NAME" (id INT, iid INT, "
-		"name TEXT, type TEXT, opts, parts, "
-		"PRIMARY KEY (id, iid))"
+		"CREATE TABLE \""TARANTOOL_SYS_INDEX_NAME"\" "
+		"(\"id\" INT, \"iid\" INT, \"name\" TEXT, \"type\" TEXT,"
+		"\"opts\", \"parts\", PRIMARY KEY (\"id\", \"iid\"))"
 	);
 
 	sql_schema_put(
 		init, TARANTOOL_SYS_TRIGGER_NAME,
 		BOX_TRIGGER_ID, 0,
-		"CREATE TABLE "TARANTOOL_SYS_TRIGGER_NAME" ("
-		"name TEXT, opts, PRIMARY KEY(name))"
+		"CREATE TABLE \""TARANTOOL_SYS_TRIGGER_NAME"\" ("
+		"\"name\" TEXT PRIMARY KEY, \"opts\")"
 	);
 
 	sql_schema_put(
 		init, TARANTOOL_SYS_TRUNCATE_NAME,
 		BOX_TRUNCATE_ID, 0,
-		"CREATE TABLE "TARANTOOL_SYS_TRUNCATE_NAME
-		" (id INT PRIMARY KEY, count INT NOT NULL)"
+		"CREATE TABLE \""TARANTOOL_SYS_TRUNCATE_NAME
+		"\" (\"id\" INT PRIMARY KEY, \"count\" INT NOT NULL)"
 	);
 
 	sql_schema_put(init, TARANTOOL_SYS_SEQUENCE_NAME, BOX_SEQUENCE_ID, 0,
-		       "CREATE TABLE "TARANTOOL_SYS_SEQUENCE_NAME
-		       " (id INT PRIMARY KEY, uid INT, name TEXT, step INT, "
-		       "max INT, min INT, \"start\" INT, cache INT, cycle INT)");
+		       "CREATE TABLE \""TARANTOOL_SYS_SEQUENCE_NAME
+		       "\" (\"id\" INT PRIMARY KEY, \"uid\" INT, \"name\" TEXT, \"step\" INT, "
+		       "\"max\" INT, \"min\" INT, \"start\" INT, \"cache\" INT, \"cycle\" INT)");
 
 	sql_schema_put(init, TARANTOOL_SYS_SPACE_SEQUENCE_NAME, BOX_SPACE_SEQUENCE_ID, 0,
-		       "CREATE TABLE "TARANTOOL_SYS_SPACE_SEQUENCE_NAME
-		       " (space_id INT PRIMARY KEY, sequence_id INT, flag INT)");
+		       "CREATE TABLE \""TARANTOOL_SYS_SPACE_SEQUENCE_NAME
+		       "\" (\"space_id\" INT PRIMARY KEY, \"sequence_id\" INT, \"flag\" INT)");
 
 	/* Read _space */
 	if (space_foreach(space_foreach_put_cb, init) != 0) {
diff --git a/src/box/sql/analyze.c b/src/box/sql/analyze.c
index 47f9ed943..8d442c5a8 100644
--- a/src/box/sql/analyze.c
+++ b/src/box/sql/analyze.c
@@ -140,9 +140,9 @@ openStatTable(Parse * pParse,	/* Parsing context */
 		const char *zCols;
 	} aTable[] = {
 		{
-		"_SQL_STAT1", "tbl,idx,stat, PRIMARY KEY(tbl, idx)"},
+		"_sql_stat1", "\"tbl\",\"idx\",\"stat\", PRIMARY KEY(\"tbl\", \"idx\")"},
 		{
-		"_SQL_STAT4", "tbl,idx,neq,nlt,ndlt,sample, PRIMARY KEY(tbl, idx, sample)"}
+		"_sql_stat4", "\"tbl\",\"idx\",\"neq\",\"nlt\",\"ndlt\",\"sample\", PRIMARY KEY(\"tbl\", \"idx\", \"sample\")"}
 	};
 	int i;
 	sqlite3 *db = pParse->db;
@@ -168,7 +168,7 @@ openStatTable(Parse * pParse,	/* Parsing context */
 				 * because the OpenWrite opcode below will be needing it.
 				 */
 				sqlite3NestedParse(pParse,
-						   "CREATE TABLE %s(%s)", zTab,
+						   "CREATE TABLE \"%s\"(%s)", zTab,
 						   aTable[i].zCols);
 				aRoot[i] = pParse->regRoot;
 				aCreateTbl[i] = OPFLAG_P2ISREG;
@@ -182,7 +182,7 @@ openStatTable(Parse * pParse,	/* Parsing context */
 			aCreateTbl[i] = 0;
 			if (zWhere) {
 				sqlite3NestedParse(pParse,
-						   "DELETE FROM %s WHERE %s=%Q",
+						   "DELETE FROM \"%s\" WHERE \"%s\"=%Q",
 						   zTab, zWhereType, zWhere);
 			} else {
 				/* The sql_stat[14] table already exists.  Delete all rows. */
@@ -1658,11 +1658,12 @@ loadStat4(sqlite3 * db)
 	Table *pTab = 0;	/* Pointer to stat table */
 
 	assert(db->lookaside.bDisable);
-	if ((pTab = sqlite3FindTable(db, "_SQL_STAT4"))) {
+	pTab = sqlite3FindTable(db, "_sql_stat4");
+	if (pTab) {
 		rc = loadStatTbl(db,
 				 pTab,
-				 "SELECT tbl,idx,count(*) FROM _sql_stat4 GROUP BY tbl,idx",
-				 "SELECT tbl,idx,neq,nlt,ndlt,sample FROM _SQL_STAT4");
+				 "SELECT \"tbl\",\"idx\",count(*) FROM \"_sql_stat4\" GROUP BY \"tbl\",\"idx\"",
+				 "SELECT \"tbl\",\"idx\",\"neq\",\"nlt\",\"ndlt\",\"sample\" FROM \"_sql_stat4\"");
 	}
 	
 	return rc;
@@ -1709,8 +1710,8 @@ sqlite3AnalysisLoad(sqlite3 * db)
 
 	/* Load new statistics out of the _sql_stat1 table */
 	sInfo.db = db;
-	if (sqlite3FindTable(db, "_SQL_STAT1") != 0) {
-		zSql = "SELECT tbl,idx,stat FROM _sql_stat1";
+	if (sqlite3FindTable(db, "_sql_stat1") != 0) {
+		zSql = "SELECT \"tbl\",\"idx\",\"stat\" FROM \"_sql_stat1\"";
 		rc = sqlite3_exec(db, zSql, analysisLoader, &sInfo, 0);
 	}
 
diff --git a/src/box/sql/build.c b/src/box/sql/build.c
index df741516e..e4c1e61ce 100644
--- a/src/box/sql/build.c
+++ b/src/box/sql/build.c
@@ -2291,10 +2291,10 @@ sqlite3ClearStatTables(Parse * pParse,	/* The parsing context */
 	int i;
 	for (i = 1; i <= 4; i++) {
 		char zTab[24];
-		sqlite3_snprintf(sizeof(zTab), zTab, "_SQL_STAT%d", i);
+		sqlite3_snprintf(sizeof(zTab), zTab, "_sql_stat%d", i);
 		if (sqlite3FindTable(pParse->db, zTab)) {
 			sqlite3NestedParse(pParse,
-					   "DELETE FROM \"%s\" WHERE %s=%Q",
+					   "DELETE FROM \"%s\" WHERE \"%s\"=%Q",
 					   zTab, zType, zName);
 		}
 	}
@@ -2337,11 +2337,11 @@ sqlite3CodeDropTable(Parse * pParse, Table * pTab, int isView)
 	 */
 	if (pTab->tabFlags & TF_Autoincrement) {
 		sqlite3NestedParse(pParse,
-				   "DELETE FROM %s WHERE space_id=%d",
+				   "DELETE FROM \"%s\" WHERE \"space_id\"=%d",
 				   TARANTOOL_SYS_SPACE_SEQUENCE_NAME,
 				   SQLITE_PAGENO_TO_SPACEID(pTab->tnum));
 		sqlite3NestedParse(pParse,
-				   "DELETE FROM %s WHERE name=%Q",
+				   "DELETE FROM \"%s\" WHERE \"name\"=%Q",
 				   TARANTOOL_SYS_SEQUENCE_NAME,
 				   pTab->zName);
 	}
@@ -2359,28 +2359,27 @@ sqlite3CodeDropTable(Parse * pParse, Table * pTab, int isView)
 			/*  Remove all indexes, except for primary.
 			   Tarantool won't allow remove primary when secondary exist. */
 			sqlite3NestedParse(pParse,
-					   "DELETE FROM %s WHERE id=%d AND iid>0",
+					   "DELETE FROM \"%s\" WHERE \"id\"=%d AND \"iid\">0",
 					   TARANTOOL_SYS_INDEX_NAME, space_id);
 		}
 
 		/*  Remove primary index. */
 		sqlite3NestedParse(pParse,
-				   "DELETE FROM %s WHERE id=%d AND iid=0",
+				   "DELETE FROM \"%s\" WHERE \"id\"=%d AND \"iid\"=0",
 				   TARANTOOL_SYS_INDEX_NAME, space_id);
 	}
 	/* Delete records about the space from the _truncate. */
-	sqlite3NestedParse(pParse, "DELETE FROM "
-			   TARANTOOL_SYS_TRUNCATE_NAME " WHERE id = %d",
+	sqlite3NestedParse(pParse, "DELETE FROM \""
+			   TARANTOOL_SYS_TRUNCATE_NAME "\" WHERE \"id\" = %d",
 			   space_id);
 
-	Token _space =
-	    { TARANTOOL_SYS_SPACE_NAME, strlen(TARANTOOL_SYS_SPACE_NAME), false };
 	Expr *id_value = sqlite3ExprInteger(db, space_id);
-	const char *column = "ID";
+	const char *column = "id";
 	/* Execute not nested DELETE of a space to account DROP TABLE
 	 * changes.
 	 */
-	sqlite3DeleteByKey(pParse, &_space, &column, &id_value, 1);
+	sqlite3DeleteByKey(pParse, TARANTOOL_SYS_SPACE_NAME,
+			   &column, &id_value, 1);
 
 	/* Remove the table entry from SQLite's internal schema and modify
 	 * the schema cookie.
@@ -2483,7 +2482,7 @@ sqlite3DropTable(Parse * pParse, SrcList * pName, int isView, int noErr)
 	 */
 
 	sqlite3BeginWriteOperation(pParse, 1);
-	sqlite3ClearStatTables(pParse, "TBL", pTab->zName);
+	sqlite3ClearStatTables(pParse, "tbl", pTab->zName);
 	sqlite3FkDropTable(pParse, pName, pTab);
 	sqlite3CodeDropTable(pParse, pTab, isView);
 
@@ -3279,7 +3278,7 @@ sqlite3CreateIndex(Parse * pParse,	/* All information about this parse */
 
 		pSysIndex =
 		    sqlite3HashFind(&pParse->db->mdb.pSchema->tblHash,
-				    "_INDEX");
+				    TARANTOOL_SYS_INDEX_NAME);
 		if (NEVER(!pSysIndex))
 			return;
 
@@ -3466,18 +3465,15 @@ sqlite3DropIndex(Parse * pParse, SrcList * pName, Token * pName2, int ifExists)
 
 	/* Generate code to remove the index and from the master table */
 	sqlite3BeginWriteOperation(pParse, 1);
-
-	Token _index =
-	    { TARANTOOL_SYS_INDEX_NAME, strlen(TARANTOOL_SYS_INDEX_NAME), false };
-	const char *columns[2] = { "ID", "IID" };
+	const char *columns[2] = { "id", "iid" };
 	Expr *values[2];
 	values[0] =
 	    sqlite3ExprInteger(db, SQLITE_PAGENO_TO_SPACEID(pIndex->tnum));
 	values[1] =
 	    sqlite3ExprInteger(db, SQLITE_PAGENO_TO_INDEXID(pIndex->tnum));
-	sqlite3DeleteByKey(pParse, &_index, columns, values, 2);
-
-	sqlite3ClearStatTables(pParse, "IDX", pIndex->zName);
+	sqlite3DeleteByKey(pParse, TARANTOOL_SYS_INDEX_NAME,
+			   columns, values, 2);
+	sqlite3ClearStatTables(pParse, "idx", pIndex->zName);
 	sqlite3ChangeCookie(pParse);
 
 	sqlite3VdbeAddOp3(v, OP_DropIndex, 0, 0, 0);
@@ -3662,6 +3658,21 @@ sqlite3SrcListEnlarge(sqlite3 * db,	/* Database connection to notify of OOM erro
 	return pSrc;
 }
 
+SrcList *
+sql_alloc_src_list(sqlite3 *db)
+{
+	SrcList *pList;
+
+	pList = sqlite3DbMallocRawNN(db, sizeof(SrcList));
+	if (pList == 0)
+		return NULL;
+	pList->nAlloc = 1;
+	pList->nSrc = 1;
+	memset(&pList->a[0], 0, sizeof(pList->a[0]));
+	pList->a[0].iCursor = -1;
+	return pList;
+}
+
 /*
  * Append a new table name to the given SrcList.  Create a new SrcList if
  * need be.  A new entry is created in the SrcList even if pTable is NULL.
@@ -3705,13 +3716,9 @@ sqlite3SrcListAppend(sqlite3 * db,	/* Connection to notify of malloc failures */
 	struct SrcList_item *pItem;
 	assert(db != 0);
 	if (pList == 0) {
-		pList = sqlite3DbMallocRawNN(db, sizeof(SrcList));
+		pList = sql_alloc_src_list(db);
 		if (pList == 0)
 			return 0;
-		pList->nAlloc = 1;
-		pList->nSrc = 1;
-		memset(&pList->a[0], 0, sizeof(pList->a[0]));
-		pList->a[0].iCursor = -1;
 	} else {
 		pList = sqlite3SrcListEnlarge(db, pList, 1, pList->nSrc);
 	}
diff --git a/src/box/sql/delete.c b/src/box/sql/delete.c
index d91362c7c..fe6da6b63 100644
--- a/src/box/sql/delete.c
+++ b/src/box/sql/delete.c
@@ -608,15 +608,17 @@ sqlite3DeleteFrom(Parse * pParse,	/* The parser context */
  * In case of error the @values elements are deleted.
  */
 void
-sqlite3DeleteByKey(Parse * pParse, Token * pTab, const char **columns,
-		   Expr ** values, int nPairs)
+sqlite3DeleteByKey(Parse *pParse, char *zTab, const char **columns,
+		   Expr **values, int nPairs)
 {
 	Expr *where = NULL;
+	SrcList *src;
 
-	assert(nPairs > 0);
+		assert(nPairs > 0);
 	if (pParse->nErr > 0 || pParse->db->mallocFailed)
 		goto error;
-	SrcList *src = sqlite3SrcListAppend(pParse->db, NULL, pTab);
+	src = sql_alloc_src_list(pParse->db);
+	src->a[0].zName = sqlite3DbStrDup(pParse->db, zTab);
 	if (src == NULL)
 		goto error;
 	/* Dummy init of INDEXED BY clause. */
diff --git a/src/box/sql/sqliteInt.h b/src/box/sql/sqliteInt.h
index 571f0cde4..4dee24809 100644
--- a/src/box/sql/sqliteInt.h
+++ b/src/box/sql/sqliteInt.h
@@ -3165,6 +3165,8 @@ void *sqlite3ArrayAllocate(sqlite3 *, void *, int, int *, int *);
 IdList *sqlite3IdListAppend(sqlite3 *, IdList *, Token *);
 int sqlite3IdListIndex(IdList *, const char *);
 SrcList *sqlite3SrcListEnlarge(sqlite3 *, SrcList *, int, int);
+SrcList *
+sql_alloc_src_list(sqlite3 *db);
 SrcList *sqlite3SrcListAppend(sqlite3 *, SrcList *, Token *);
 SrcList *sqlite3SrcListAppendFromTerm(Parse *, SrcList *, Token *,
 				      Token *, Select *, Expr *, IdList *);
@@ -3191,7 +3193,7 @@ Expr *sqlite3LimitWhere(Parse *, SrcList *, Expr *, ExprList *, Expr *, Expr *,
 			char *);
 #endif
 void sqlite3DeleteFrom(Parse *, SrcList *, Expr *);
-void sqlite3DeleteByKey(Parse *, Token *, const char **, Expr **, int);
+void sqlite3DeleteByKey(Parse *, char *, const char **, Expr **, int);
 void sqlite3Update(Parse *, SrcList *, ExprList *, Expr *, int);
 WhereInfo *sqlite3WhereBegin(Parse *, SrcList *, Expr *, ExprList *, ExprList *,
 			     u16, int);
diff --git a/src/box/sql/tarantoolInt.h b/src/box/sql/tarantoolInt.h
index 88a6b6b68..4781bf574 100644
--- a/src/box/sql/tarantoolInt.h
+++ b/src/box/sql/tarantoolInt.h
@@ -11,13 +11,13 @@
 /*
  * Tarantool system spaces.
  */
-#define TARANTOOL_SYS_SEQUENCE_NAME "_SEQUENCE"
-#define TARANTOOL_SYS_SPACE_SEQUENCE_NAME "_SPACE_SEQUENCE"
-#define TARANTOOL_SYS_SCHEMA_NAME  "_SCHEMA"
-#define TARANTOOL_SYS_SPACE_NAME   "_SPACE"
-#define TARANTOOL_SYS_INDEX_NAME   "_INDEX"
-#define TARANTOOL_SYS_TRIGGER_NAME "_TRIGGER"
-#define TARANTOOL_SYS_TRUNCATE_NAME "_TRUNCATE"
+#define TARANTOOL_SYS_SEQUENCE_NAME "_sequence"
+#define TARANTOOL_SYS_SPACE_SEQUENCE_NAME "_space_sequence"
+#define TARANTOOL_SYS_SCHEMA_NAME  "_schema"
+#define TARANTOOL_SYS_SPACE_NAME   "_space"
+#define TARANTOOL_SYS_INDEX_NAME   "_index"
+#define TARANTOOL_SYS_TRIGGER_NAME "_trigger"
+#define TARANTOOL_SYS_TRUNCATE_NAME "_truncate"
 
 /* Max space id seen so far. */
 #define TARANTOOL_SYS_SCHEMA_MAXID_KEY "max_id"
diff --git a/src/box/sql/trigger.c b/src/box/sql/trigger.c
index fc6e91891..aeb80d0cf 100644
--- a/src/box/sql/trigger.c
+++ b/src/box/sql/trigger.c
@@ -591,13 +591,10 @@ sqlite3DropTriggerPtr(Parse * pParse, Trigger * pTrigger)
 	 */
 	assert(pTable != 0);
 	if ((v = sqlite3GetVdbe(pParse)) != 0) {
-		Token _trigger = { TARANTOOL_SYS_TRIGGER_NAME,
-			strlen(TARANTOOL_SYS_TRIGGER_NAME),
-			false
-		};
-		const char *column = "NAME";
+		const char *column = "name";
 		Expr *value = sqlite3Expr(db, TK_STRING, pTrigger->zName);
-		sqlite3DeleteByKey(pParse, &_trigger, &column, &value, 1);
+		sqlite3DeleteByKey(pParse, TARANTOOL_SYS_TRIGGER_NAME,
+				   &column, &value, 1);
 		sqlite3ChangeCookie(pParse);
 		sqlite3VdbeAddOp4(v, OP_DropTrigger, 0, 0, 0, pTrigger->zName,
 				  0);
diff --git a/test/sql-tap/alter.test.lua b/test/sql-tap/alter.test.lua
index 0352062c6..18de92d00 100755
--- a/test/sql-tap/alter.test.lua
+++ b/test/sql-tap/alter.test.lua
@@ -26,7 +26,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "alter-1.2",
     [[
-        SELECT count(*) FROM _space WHERE name IN ('T1', 't1x1', 'Space_Table')
+        SELECT count(*) FROM "_space" WHERE "name" IN ('T1', 't1x1', 'Space_Table')
     ]], {
         -- <alter-1.2>
         3
@@ -59,7 +59,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "alter-1.5",
     [[
-        SELECT count(*) FROM _space WHERE name IN ('T1', 't1x1', 'Space_Table', 'SPACE_TABLE', 't1', 'T2');
+        SELECT count(*) FROM "_space" WHERE "name" IN ('T1', 't1x1', 'Space_Table', 'SPACE_TABLE', 't1', 'T2');
     ]], {
         -- <alter-1.5>
         3
@@ -90,10 +90,10 @@ test:do_catchsql_test(
 test:do_catchsql_test(
     "alter-2.3",
     [[
-        ALTER TABLE _space RENAME TO space;
+        ALTER TABLE "_space" RENAME TO space;
     ]], {
         -- <alter-2.3>
-        1, "table _SPACE may not be altered"
+        1, "table _space may not be altered"
         -- </alter-2.3>
     })
 
@@ -139,7 +139,7 @@ test:do_execsql_test(
     "alter-3.3",
     [[
             DROP TRIGGER trig1;
-            SELECT * FROM _TRIGGER;
+            SELECT * FROM "_trigger";
     ]], {
         -- <alter-3.3>
         -- </alter-3.3>
@@ -242,7 +242,7 @@ test:do_execsql_test(
     [[
         CREATE TABLE xyz(x PRIMARY KEY);
         ALTER TABLE xyz RENAME TO "xyz1234abc";
-        SELECT name FROM _space WHERE name GLOB 'xyz*';
+        SELECT "name" FROM "_space" WHERE "name" GLOB 'xyz*';
     ]], {
         -- <alter-5.1>
         "xyz1234abc"
@@ -253,7 +253,7 @@ test:do_execsql_test(
     "alter-5.2",
     [[
         ALTER TABLE "xyz1234abc" RENAME TO xyzabc;
-        SELECT name FROM _space WHERE name GLOB 'XYZ*';
+        SELECT "name" FROM "_space" WHERE "name" GLOB 'XYZ*';
     ]], {
         -- <alter-5.2>
         "XYZABC"
@@ -285,7 +285,7 @@ test:do_execsql_test(
     "alter-6.2",
     [[
         DROP TRIGGER on_t2;
-        SELECT name FROM _TRIGGER;
+        SELECT "name" FROM "_trigger";
     ]], {
         -- <alter-6.2>
         "ON_T1", "ON_T3"
@@ -308,7 +308,7 @@ test:do_execsql_test(
     "alter-6.4",
     [[
         DROP TABLE "a";
-        SELECT * FROM _TRIGGER;
+        SELECT * FROM "_trigger";
     ]], {
         -- <alter-6.4>
         -- </alter-6.4>
diff --git a/test/sql-tap/analyze1.test.lua b/test/sql-tap/analyze1.test.lua
index 4f16829b6..b11f44400 100755
--- a/test/sql-tap/analyze1.test.lua
+++ b/test/sql-tap/analyze1.test.lua
@@ -33,7 +33,7 @@ test:do_catchsql_test(
 test:do_execsql_test(
     "analyze-1.2",
     [[
-        SELECT count(*) FROM _space WHERE name='_sql_stat1'
+        SELECT count(*) FROM "_space" WHERE "name"='_sql_stat1'
     ]], {
         -- <analyze-1.2>
         0
@@ -53,7 +53,7 @@ test:do_catchsql_test(
 test:do_execsql_test(
     "analyze-1.6",
     [[
-        SELECT count(*) FROM _space WHERE name='_SQL_STAT1'
+        SELECT count(*) FROM "_space" WHERE "name"='_sql_stat1'
     ]], {
         -- <analyze-1.6>
         1
@@ -65,7 +65,7 @@ test:do_execsql_test(
 -- test:do_catchsql_test(
 --     "analyze-1.6.2",
 --     [[
---         CREATE INDEX stat1idx ON _sql_stat1(idx);
+--         CREATE INDEX stat1"idx" ON _sql_stat1(idx);
 --     ]], {
 --         -- <analyze-1.6.2>
 --         1, "table sqlite_stat1 may not be indexed"
@@ -85,7 +85,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "analyze-1.7",
     [[
-        SELECT * FROM _sql_stat1 WHERE idx NOT NULL
+        SELECT * FROM "_sql_stat1" WHERE "idx" NOT NULL
     ]], {
         -- <analyze-1.7>
         -- </analyze-1.7>
@@ -104,7 +104,7 @@ test:do_catchsql_test(
 test:do_execsql_test(
     "analyze-1.9",
     [[
-        SELECT * FROM _sql_stat1 WHERE idx NOT NULL
+        SELECT * FROM "_sql_stat1" WHERE "idx" NOT NULL
     ]], {
         -- <analyze-1.9>
         -- </analyze-1.9>
@@ -125,7 +125,7 @@ test:do_catchsql_test(
 test:do_execsql_test(
     "analyze-1.11",
     [[
-        SELECT * FROM _sql_stat1
+        SELECT * FROM "_sql_stat1"
     ]], {
         -- <analyze-1.11>
         -- </analyze-1.11>
@@ -139,7 +139,7 @@ test:do_execsql_test(
     [[
         CREATE INDEX t1i1 ON t1(a);
         ANALYZE t1;
-        SELECT * FROM _sql_stat1 ORDER BY idx;
+        SELECT * FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-2.1>
         -- </analyze-2.1>
@@ -150,7 +150,7 @@ test:do_execsql_test(
     [[
         CREATE INDEX t1i2 ON t1(b);
         ANALYZE t1;
-        SELECT * FROM _sql_stat1 ORDER BY idx;
+        SELECT * FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-2.2>
         -- </analyze-2.2>
@@ -161,7 +161,7 @@ test:do_execsql_test(
     [[
         CREATE INDEX t1i3 ON t1(a,b);
         ANALYZE;
-        SELECT * FROM _sql_stat1 ORDER BY idx;
+        SELECT * FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-2.3>
         -- </analyze-2.3>
@@ -177,7 +177,7 @@ test:do_execsql_test(
         INSERT INTO t1 VALUES(1, 1,2);
         INSERT INTO t1 VALUES(2, 1,3);
         ANALYZE t1;
-        SELECT idx, stat FROM _sql_stat1 ORDER BY idx;
+        SELECT "idx", "stat" FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-3.1>
         "T1", "2 1", "T1I1", "2 2", "T1I2", "2 1", "T1I3", "2 2 1"
@@ -190,7 +190,7 @@ test:do_execsql_test(
         INSERT INTO t1 VALUES(3, 1,4);
         INSERT INTO t1 VALUES(4, 1,5);
         ANALYZE t1;
-        SELECT idx, stat FROM _sql_stat1 ORDER BY idx;
+        SELECT "idx", "stat" FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-3.2>
         "T1", "4 1", "T1I1", "4 4", "T1I2", "4 1", "T1I3", "4 4 1"
@@ -202,7 +202,7 @@ test:do_execsql_test(
     [[
         INSERT INTO t1 (a,b) VALUES(2,5);
         ANALYZE;
-        SELECT idx, stat FROM _sql_stat1 ORDER BY idx;
+        SELECT "idx", "stat" FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-3.3>
         "T1","5 1", "T1I1", "5 3", "T1I2", "5 2", "T1I3", "5 3 1"
@@ -218,7 +218,7 @@ test:do_execsql_test(
         CREATE INDEX t2i2 ON t2(b);
         CREATE INDEX t2i3 ON t2(a,b);
         ANALYZE;
-        SELECT idx, stat FROM _sql_stat1 ORDER BY idx;
+        SELECT "idx", "stat" FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-3.4>
         "T1","5 1","T1I1","5 3","T1I2","5 2","T1I3","5 3 1","T2","5 1","T2I1","5 3","T2I2","5 2","T2I3","5 3 1"
@@ -230,7 +230,7 @@ test:do_execsql_test(
     [[
         DROP INDEX t2i3 ON t2;;
         ANALYZE t1;
-        SELECT idx, stat FROM _sql_stat1 ORDER BY idx;
+        SELECT "idx", "stat" FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-3.5>
         "T1","5 1","T1I1","5 3","T1I2","5 2","T1I3","5 3 1","T2","5 1","T2I1","5 3","T2I2","5 2"
@@ -241,7 +241,7 @@ test:do_execsql_test(
     "analyze-3.6",
     [[
         ANALYZE t2;
-        SELECT idx, stat FROM _sql_stat1 ORDER BY idx;
+        SELECT "idx", "stat" FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-3.6>
         "T1","5 1","T1I1","5 3","T1I2","5 2","T1I3","5 3 1","T2","5 1","T2I1","5 3","T2I2","5 2"
@@ -253,7 +253,7 @@ test:do_execsql_test(
     [[
         DROP INDEX t2i2 ON t2;
         ANALYZE t2;
-        SELECT idx, stat FROM _sql_stat1 ORDER BY idx;
+        SELECT "idx", "stat" FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-3.7>
         "T1","5 1","T1I1","5 3","T1I2","5 2","T1I3","5 3 1","T2","5 1","T2I1","5 3"
@@ -270,7 +270,7 @@ test:do_execsql_test(
         CREATE INDEX t3i3 ON t3(d,b,c,a);
         DROP TABLE t1;
         DROP TABLE t2;
-        SELECT idx, stat FROM _sql_stat1 ORDER BY idx;
+        SELECT "idx", "stat" FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-3.8>      
         -- </analyze-3.8>
@@ -280,7 +280,7 @@ test:do_execsql_test(
     "analyze-3.9",
     [[
         ANALYZE;
-        SELECT idx, stat FROM _sql_stat1 ORDER BY idx;
+        SELECT "idx", "stat" FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-3.9>
         "T3","5 1","T3I1","5 3","T3I2","5 3 1 1 1","T3I3","5 5 2 1 1"
@@ -297,7 +297,7 @@ test:do_execsql_test(
 --         INSERT INTO [silly " name] (a,b,c) VALUES(1, 2, 3);
 --         INSERT INTO [silly " name] (a,b,c) VALUES(4, 5, 6);
 --         ANALYZE;
---         SELECT idx, stat FROM _sql_stat1 ORDER BY idx;
+--         SELECT "idx", "stat" FROM "_sql_stat1" ORDER BY "idx";
 --     ]], {
 --         -- <analyze-3.10>
 --         "another foolish ' name", "2 1", "foolish ' name", "2 1 1", "t3i1", "5 3", "t3i2", "5 3 1 1 1", "t3i3", "5 5 2 1 1"
@@ -308,7 +308,7 @@ test:do_execsql_test(
 --     "analyze-3.11",
 --     [[
 --         DROP INDEX "foolish ' name";
---         SELECT idx, stat FROM sqlite_stat1 ORDER BY idx;
+--         SELECT "idx", "stat" FROM sqlite_stat1 ORDER BY "idx";
 --     ]], {
 --         -- <analyze-3.11>
 --         "another foolish ' name", "2 1", "t3i1", "5 3", "t3i2", "5 3 1 1 1", "t3i3", "5 5 2 1 1"
@@ -319,7 +319,7 @@ test:do_execsql_test(
 --     "analyze-3.11",
 --     [[
 --         DROP TABLE "silly "" name";
---         SELECT idx, stat FROM sqlite_stat1 ORDER BY idx;
+--         SELECT "idx", "stat" FROM sqlite_stat1 ORDER BY "idx";
 --     ]], {
 --         -- <analyze-3.11>
 --         "t3i1", "5 3", "t3i2", "5 3 1 1 1", "t3i3", "5 5 2 1 1"
@@ -337,7 +337,7 @@ test:do_execsql_test(
         CREATE INDEX t4i2 ON t4(y);
         INSERT INTO t4 SELECT id,a,b,c FROM t3;
         ANALYZE;
-        SELECT idx, stat FROM _sql_stat1 ORDER BY idx;
+        SELECT "idx", "stat" FROM "_sql_stat1" ORDER BY "idx";
     ]], {
         -- <analyze-4.0>
         "T3", "5 1", "T3I1", "5 3", "T3I2", "5 3 1 1 1", "T3I3", "5 5 2 1 1", "T4", "5 1", "T4I1", "5 3", "T4I2", "5 2"
@@ -347,9 +347,9 @@ test:do_execsql_test(
 test:do_execsql_test(
     "analyze-4.1",
     [[
-        DELETE FROM _sql_stat1;
-        INSERT INTO _sql_stat1 VALUES('t4', 't4i1', 'nonsense');
-        INSERT INTO _sql_stat1 VALUES('t4', 't4i2', '432653287412874653284129847632');
+        DELETE FROM "_sql_stat1";
+        INSERT INTO "_sql_stat1" VALUES('t4', 't4i1', 'nonsense');
+        INSERT INTO "_sql_stat1" VALUES('t4', 't4i2', '432653287412874653284129847632');
         SELECT * FROM t4 WHERE x = 1234;
     ]], {
         -- <analyze-4.1>
@@ -359,7 +359,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "analyze-4.2",
     [[
-        INSERT INTO _sql_stat1 VALUES('t4', 'xyzzy', '0 1 2 3');
+        INSERT INTO "_sql_stat1" VALUES('t4', 'xyzzy', '0 1 2 3');
         SELECT * FROM t4 WHERE x = 1234;
     ]], {
         -- <analyze-4.2>
@@ -387,7 +387,7 @@ test:do_execsql_test(
         INSERT INTO t3 (a,b,c,d) SELECT a+64, b+64, c+64, d+64 FROM t3;
         INSERT INTO t4 (x,y,z) SELECT a, b, c FROM t3;
         ANALYZE;
-        SELECT DISTINCT tbl FROM _sql_stat1 ORDER BY 1;
+        SELECT DISTINCT "tbl" FROM "_sql_stat1" ORDER BY 1;
     ]], {
         -- <analyze-5.0>
         "T3", "T4"
@@ -397,7 +397,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "analyze-5.0.1",
     [[
-        SELECT DISTINCT idx FROM _sql_stat1 ORDER BY 1;
+        SELECT DISTINCT "idx" FROM "_sql_stat1" ORDER BY 1;
     ]], {
         -- <analyze-5.0>
         "T3", "T3I1", "T3I2", "T3I3", "T4", "T4I1", "T4I2"
@@ -409,7 +409,7 @@ stat = "_sql_stat4"
 test:do_execsql_test(
     "analyze-5.1",
     string.format([[
-            SELECT DISTINCT idx FROM %s ORDER BY 1;
+            SELECT DISTINCT "idx" FROM "%s" ORDER BY 1;
         ]], stat, stat), {
         -- <analyze-5.1>
         "T3", "T3I1", "T3I2", "T3I3", "T4", "T4I1", "T4I2"
@@ -419,7 +419,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "analyze-5.1.1",
     string.format([[
-            SELECT DISTINCT tbl FROM %s ORDER BY 1;
+            SELECT DISTINCT "tbl" FROM "%s" ORDER BY 1;
         ]], stat, stat), {
         -- <analyze-5.1>
         "T3", "T4"
@@ -431,7 +431,7 @@ test:do_execsql_test(
     [[
         DROP INDEX t3i2 ON t3;
         ANALYZE;
-        SELECT DISTINCT idx FROM _sql_stat1 ORDER BY 1;
+        SELECT DISTINCT "idx" FROM "_sql_stat1" ORDER BY 1;
     ]], {
         -- <analyze-5.2>
         "T3", "T3I1", "T3I3", "T4", "T4I1", "T4I2"
@@ -441,7 +441,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "analyze-5.2.1",
     [[
-        SELECT DISTINCT tbl FROM _sql_stat1 ORDER BY 1;
+        SELECT DISTINCT "tbl" FROM "_sql_stat1" ORDER BY 1;
     ]], {
         -- <analyze-5.2>
         "T3", "T4"
@@ -451,7 +451,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "analyze-5.3",
     string.format([[
-            SELECT DISTINCT idx FROM %s ORDER BY 1;
+            SELECT DISTINCT "idx" FROM "%s" ORDER BY 1;
         ]], stat, stat), {
         -- <analyze-5.3>
         "T3", "T3I1", "T3I3", "T4", "T4I1", "T4I2"
@@ -461,7 +461,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "analyze-5.3.1",
     string.format([[
-            SELECT DISTINCT tbl FROM %s ORDER BY 1;
+            SELECT DISTINCT "tbl" FROM "%s" ORDER BY 1;
         ]], stat, stat), {
         -- <analyze-5.3>
         "T3", "T4"
@@ -473,7 +473,7 @@ test:do_execsql_test(
     [[
         DROP TABLE IF EXISTS t3;
         ANALYZE;
-        SELECT DISTINCT idx FROM _sql_stat1 ORDER BY 1;
+        SELECT DISTINCT "idx" FROM "_sql_stat1" ORDER BY 1;
     ]], {
         -- <analyze-5.4>
         "T4", "T4I1", "T4I2"
@@ -483,7 +483,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "analyze-5.4.1",
     [[
-        SELECT DISTINCT tbl FROM _sql_stat1 ORDER BY 1;
+        SELECT DISTINCT "tbl" FROM "_sql_stat1" ORDER BY 1;
     ]], {
         -- <analyze-5.4>
         "T4"
@@ -493,7 +493,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "analyze-5.5",
     string.format([[
-            SELECT DISTINCT idx FROM %s ORDER BY 1;
+            SELECT DISTINCT "idx" FROM "%s" ORDER BY 1;
         ]], stat), {
         -- <analyze-5.5>
         "T4", "T4I1", "T4I2"
@@ -503,7 +503,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "analyze-5.5.1",
     string.format([[
-            SELECT DISTINCT tbl FROM %s ORDER BY 1;
+            SELECT DISTINCT "tbl" FROM "%s" ORDER BY 1;
         ]], stat), {
         -- <analyze-5.5>
         "T4"
diff --git a/test/sql-tap/analyze3.test.lua b/test/sql-tap/analyze3.test.lua
index 59ab14dc4..26f8793ae 100755
--- a/test/sql-tap/analyze3.test.lua
+++ b/test/sql-tap/analyze3.test.lua
@@ -93,7 +93,7 @@ test:do_test(
             COMMIT;
             ANALYZE;
         ]])
-        return test:execsql(" SELECT count(*)>0 FROM _sql_stat4; ")
+        return test:execsql([[ SELECT count(*)>0 FROM "_sql_stat4"; ]])
 
 
     end, {
diff --git a/test/sql-tap/analyze4.test.lua b/test/sql-tap/analyze4.test.lua
index e6f706c46..f71d394bd 100755
--- a/test/sql-tap/analyze4.test.lua
+++ b/test/sql-tap/analyze4.test.lua
@@ -54,7 +54,7 @@ test:do_test(
 --
 test:do_execsql_test(
     "analyze4-1.1",
-    [[ SELECT idx, stat FROM _sql_stat1 WHERE tbl='T1' ORDER BY idx; ]],
+    [[ SELECT "idx", "stat" FROM "_sql_stat1" WHERE "tbl"='T1' ORDER BY "idx"; ]],
     {
         -- <analyze4-1.1>
         "T1","128 1", "T1A", "128 1", "T1B", "128 128"
@@ -73,7 +73,7 @@ test:do_test(
 -- pragma vdbe_debug=1;
             ANALYZE;
 -- pragma vdbe_debug=0;
-            SELECT idx, stat FROM _sql_stat1 WHERE tbl='T1' ORDER BY idx;
+            SELECT "idx", "stat" FROM "_sql_stat1" WHERE "tbl"='T1' ORDER BY "idx";
         ]])
     end, {
         -- <analyze4-1.2>
@@ -111,7 +111,7 @@ test:do_execsql_test(
             CREATE INDEX t1cdb ON t1(c,d,b);
             CREATE INDEX t1cbd ON t1(c,b,d);
             ANALYZE;
-            SELECT idx, stat FROM _sql_stat1 WHERE tbl='T1' ORDER BY idx;
+            SELECT "idx", "stat" FROM "_sql_stat1" WHERE "tbl"='T1' ORDER BY "idx";
     ]]
     , {
         -- <analyze4-1.3>
diff --git a/test/sql-tap/analyze5.test.lua b/test/sql-tap/analyze5.test.lua
index fe5336ba9..d68bd3c5b 100755
--- a/test/sql-tap/analyze5.test.lua
+++ b/test/sql-tap/analyze5.test.lua
@@ -114,10 +114,10 @@ test:do_test(
 
         -- DISTINCT idx, sample -- lindex(test_decode(sample),0)
         -- WHERE idx='t1u' ORDER BY nlt;
-        return test:execsql([[ SELECT DISTINCT msgpack_decode(sample)
-                                 FROM _SQL_STAT4
-                                 WHERE idx='T1U'
-                                 ORDER BY nlt]])
+        return test:execsql([[ SELECT DISTINCT msgpack_decode("sample")
+                                 FROM "_sql_stat4"
+                                 WHERE "idx"='T1U'
+                                 ORDER BY "nlt"]])
     end, {
         -- <analyze5-1.0>
         "alpha", "bravo", "charlie", "delta"
@@ -143,7 +143,7 @@ test:do_test(
 test:do_test(
     "analyze5-1.2",
     function()
-        return test:execsql("SELECT idx, count(*) FROM _sql_stat4 GROUP BY 1 ORDER BY 1")
+        return test:execsql([[SELECT "idx", count(*) FROM "_sql_stat4" GROUP BY 1 ORDER BY 1]])
     end, {
         -- <analyze5-1.2>
         "T1",24,"T1T",4,"T1U",4,"T1V",1,"T1W",4,"T1X",4,"T1Y",2,"T1Z",4
diff --git a/test/sql-tap/analyze9.test.lua b/test/sql-tap/analyze9.test.lua
index f64896f38..30d5505b4 100755
--- a/test/sql-tap/analyze9.test.lua
+++ b/test/sql-tap/analyze9.test.lua
@@ -65,7 +65,7 @@ box.internal.sql_create_function("msgpack_decode_sample", msgpack_decode_sample)
 test:do_execsql_test(
     1.2,
     [[
-        SELECT tbl,idx,nEq,nLt,nDLt,msgpack_decode_sample(sample) FROM _sql_stat4 where idx = 'I1';
+        SELECT "tbl","idx","neq","nlt","ndlt",msgpack_decode_sample("sample") FROM "_sql_stat4" where "idx" = 'I1';
     ]], {
         -- <1.2>
         "T1", "I1", "1 1", "0 0", "0 0", "(0) (0)", "T1", "I1", "1 1", "1 1", "1 1", "(1) (1)", 
@@ -77,7 +77,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     1.3,
     [[
-        SELECT tbl,idx,nEq,nLt,nDLt,msgpack_decode_sample(sample) FROM _sql_stat4 where idx = 'T1';
+        SELECT "tbl","idx","neq","nlt","ndlt",msgpack_decode_sample("sample") FROM "_sql_stat4" where "idx" = 'T1';
 
     ]], {
         -- <1.3>
@@ -100,7 +100,7 @@ test:do_execsql_test(
         INSERT INTO t1 VALUES(22.0, 'some text');
         CREATE INDEX i1 ON t1(a, b);
         ANALYZE;
-        SELECT msgpack_decode_sample(sample) FROM _sql_stat4;
+        SELECT msgpack_decode_sample("sample") FROM "_sql_stat4";
     ]], {
         -- <2.1>
         "some text 14", "22 some text", "some text", 22
@@ -185,7 +185,7 @@ test:do_execsql_test(
     "3.3.2",
     [[
         ANALYZE;
-        SELECT lrange(nEq, 1, 1) FROM _sql_stat4 WHERE idx = 'I2';
+        SELECT lrange("neq", 1, 1) FROM "_sql_stat4" WHERE "idx" = 'I2';
     ]], generate_tens_str(24))
 
 ---------------------------------------------------------------------------
@@ -260,7 +260,7 @@ test:do_test(
             INSERT INTO t1(id, c, b, a) VALUES(null, 201, 4, 'h');
 
             ANALYZE;
-            SELECT count(*) FROM _sql_stat4;
+            SELECT count(*) FROM "_sql_stat4";
 
         ]])
         end, {
@@ -282,8 +282,8 @@ test:do_execsql_test(
 test:do_execsql_test(
     4.3,
     [[
-        SELECT neq, lrange(nlt, 1, 3), lrange(ndlt, 1, 3), lrange(msgpack_decode_sample(sample), 1, 3) 
-            FROM _sql_stat4 WHERE idx = 'I1' ORDER BY sample LIMIT 16;
+        SELECT "neq", lrange("nlt", 1, 3), lrange("ndlt", 1, 3), lrange(msgpack_decode_sample("sample"), 1, 3) 
+            FROM "_sql_stat4" WHERE "idx" = 'I1' ORDER BY "sample" LIMIT 16;
     ]], {
         -- <4.3>
         "10 10 1","0 0 8","0 0 8","0 0 0","10 10 1","10 10 10","1 1 10","1 1 1","10 10 1","20 20 28",
@@ -299,8 +299,8 @@ test:do_execsql_test(
 test:do_execsql_test(
     4.4,
     [[
-        SELECT neq, lrange(nlt, 1, 3), lrange(ndlt, 1, 3), lrange(msgpack_decode_sample(sample), 1, 3) 
-        FROM _sql_stat4 WHERE idx = 'I1' ORDER BY sample DESC LIMIT 2;
+        SELECT "neq", lrange("nlt", 1, 3), lrange("ndlt", 1, 3), lrange(msgpack_decode_sample("sample"), 1, 3) 
+        FROM "_sql_stat4" WHERE "idx" = 'I1' ORDER BY "sample" DESC LIMIT 2;
     ]], {
         -- <4.4>
         "2 1 1","295 296 296","120 122 296","201 4 h","5 3 1","290 290 291","119 119 291","200 1 b"
@@ -331,7 +331,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     4.7,
     [[
-        SELECT count(*) FROM _sql_stat4 WHERE msgpack_decode_sample(sample) IN (34, 68, 102, 136, 170, 204, 238, 272);
+        SELECT count(*) FROM "_sql_stat4" WHERE msgpack_decode_sample("sample") IN (34, 68, 102, 136, 170, 204, 238, 272);
     ]], {
         -- <4.7>
         8
@@ -352,7 +352,7 @@ test:do_test(
         end
         return test:execsql([[
             ANALYZE;
-            SELECT count(*) FROM _sql_stat4;
+            SELECT count(*) FROM "_sql_stat4";
         ]])
         end, {
             -- <4.8>
@@ -363,7 +363,7 @@ test:do_test(
 test:do_execsql_test(
     4.9,
     [[
-        SELECT msgpack_decode_sample(sample) FROM _sql_stat4;
+        SELECT msgpack_decode_sample("sample") FROM "_sql_stat4";
     ]], {
         -- <4.9>
         "x", 1110, 2230, 2750, 3350, 4090, 4470, 4980, 5240, 5280, 5290, 5590, 5920, 
@@ -388,9 +388,9 @@ test:do_execsql_test(
         INSERT INTO t1 VALUES(null, 5, 5);
         ANALYZE;
         CREATE TABLE x1(tbl, idx, neq, nlt, ndlt, sample, PRIMARY KEY(tbl, idx, sample)); 
-        INSERT INTO x1 SELECT * FROM _sql_stat4;
-        DELETE FROM _sql_stat4;
-        INSERT INTO _sql_stat4 SELECT * FROM x1;
+        INSERT INTO x1 SELECT * FROM "_sql_stat4";
+        DELETE FROM "_sql_stat4";
+        INSERT INTO "_sql_stat4" SELECT * FROM x1;
         ANALYZE;
     ]])
 
@@ -416,8 +416,8 @@ test:do_execsql_test(
         INSERT INTO t1 VALUES(null, 4, 4);
         INSERT INTO t1 VALUES(null, 5, 5);
         ANALYZE;
-        UPDATE _sql_stat4 SET sample = '' WHERE sample = 
-            (SELECT sample FROM _sql_stat4 WHERE tbl = 't1' AND idx = 'i1' LIMIT 1);
+        UPDATE "_sql_stat4" SET "sample" = '' WHERE "sample" =
+            (SELECT "sample" FROM "_sql_stat4" WHERE "tbl" = 't1' AND "idx" = 'i1' LIMIT 1);
         ANALYZE;
     ]])
 
@@ -438,7 +438,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     7.3,
     [[
-        UPDATE _sql_stat4 SET neq = '0 0 0';
+        UPDATE "_sql_stat4" SET "neq" = '0 0 0';
         ANALYZE;
         SELECT * FROM t1 WHERE a = 1;
     ]], {
@@ -451,7 +451,7 @@ test:do_execsql_test(
     7.4,
     [[
         ANALYZE;
-        UPDATE _sql_stat4 SET ndlt = '0 0 0';
+        UPDATE "_sql_stat4" SET "ndlt" = '0 0 0';
         ANALYZE;
         SELECT * FROM t1 WHERE a = 3;
     ]], {
@@ -464,7 +464,7 @@ test:do_execsql_test(
     7.5,
     [[
         ANALYZE;
-        UPDATE _sql_stat4 SET nlt = '0 0 0';
+        UPDATE "_sql_stat4" SET "nlt" = '0 0 0';
         ANALYZE;
         SELECT * FROM t1 WHERE a = 5;
     ]], {
@@ -1020,7 +1020,7 @@ test:do_execsql_test(
         INSERT INTO x1 VALUES(3, 4);
         INSERT INTO x1 VALUES(5, 6);
         ANALYZE;
-        INSERT INTO _sql_stat4 VALUES('x1', 'abc', NULL, NULL, NULL, '');
+        INSERT INTO "_sql_stat4" VALUES('x1', 'abc', NULL, NULL, NULL, '');
     ]])
 
 test:do_execsql_test(
@@ -1036,7 +1036,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     15.3,
     [[
-        INSERT INTO _sql_stat4 VALUES(42, 42, 42, 42, 42, 42);
+        INSERT INTO "_sql_stat4" VALUES(42, 42, 42, 42, 42, 42);
     ]])
 
 test:do_execsql_test(
@@ -1052,7 +1052,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     15.5,
     [[
-        UPDATE _sql_stat1 SET stat = NULL;
+        UPDATE "_sql_stat1" SET "stat" = NULL;
     ]])
 
 test:do_execsql_test(
@@ -1069,7 +1069,7 @@ test:do_execsql_test(
     15.7,
     [[
         ANALYZE;
-        UPDATE _sql_stat1 SET tbl = 'no such tbl';
+        UPDATE "_sql_stat1" SET "tbl" = 'no such tbl';
     ]])
 
 test:do_execsql_test(
@@ -1086,7 +1086,7 @@ test:do_execsql_test(
     15.9,
     [[
         ANALYZE;
-        UPDATE _sql_stat4 SET neq = NULL, nlt = NULL, ndlt = NULL;
+        UPDATE "_sql_stat4" SET "neq" = NULL, "nlt" = NULL, "ndlt" = NULL;
     ]])
 
 test:do_execsql_test(
@@ -1104,7 +1104,7 @@ test:do_execsql_test(
     15.11,
     [[
         ANALYZE;
-        UPDATE _sql_stat1 SET stat = stat || ' unordered';
+        UPDATE "_sql_stat1" SET "stat" = "stat" || ' unordered';
     ]])
 
 test:do_execsql_test(
@@ -1210,7 +1210,7 @@ test:do_test(
             test:execsql(string.format("INSERT INTO t1 VALUES(%s, 0);", i))
         end
         test:execsql("ANALYZE")
-        return test:execsql(" SELECT count(*) FROM _sql_stat4 WHERE idx = 'I1'; ")
+        return test:execsql([[ SELECT count(*) FROM "_sql_stat4" WHERE "idx" = 'I1'; ]])
     end, {
         -- <18.1>
         9
@@ -1257,7 +1257,7 @@ for i = 0, 15 do
         "20.3."..i,
         function()
             return test:execsql(string.format(
-                "SELECT count(*) FROM _sql_stat4 WHERE idx = 'I1' AND lrange(msgpack_decode_sample(sample), 1, 1) = '%s'", i))
+                [[SELECT count(*) FROM "_sql_stat4" WHERE "idx" = 'I1' AND lrange(msgpack_decode_sample("sample"), 1, 1) = '%s']], i))
         end, {
             1
         })
diff --git a/test/sql-tap/analyzeC.test.lua b/test/sql-tap/analyzeC.test.lua
index dffa2548a..a3cea7056 100755
--- a/test/sql-tap/analyzeC.test.lua
+++ b/test/sql-tap/analyzeC.test.lua
@@ -18,7 +18,7 @@ testprefix = "analyzeC"
 -------------------------------------------------------------------------
 --
 -- This file contains automated tests used to verify that the text terms
--- at the end of _sql_stat1.stat are processed correctly.
+-- at the end of "_sql_stat1".stat are processed correctly.
 --
 --  (1) "unordered" means that the index cannot be used for ORDER BY
 --      or for range queries
@@ -39,8 +39,8 @@ test:do_execsql_test(
         CREATE INDEX t1b ON t1(b);
         CREATE INDEX t1c ON t1(c);
         ANALYZE;
-        DELETE FROM _sql_stat1;
-        INSERT INTO _sql_stat1(tbl,idx,stat) VALUES('t1','t1b','12345 2'),('t1','t1c','12345 4');
+        DELETE FROM "_sql_stat1";
+        INSERT INTO "_sql_stat1"("tbl","idx","stat") VALUES('t1','t1b','12345 2'),('t1','t1c','12345 4');
         ANALYZE;
         SELECT b,c,d, '#' FROM t1 WHERE b BETWEEN 3 AND 8 ORDER BY d;
     ]], {
@@ -86,7 +86,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     2.0,
     [[
-        UPDATE _sql_stat1 SET stat='12345 2 unordered' WHERE idx='t1b';
+        UPDATE "_sql_stat1" SET "stat"='12345 2 unordered' WHERE "idx"='t1b';
         ANALYZE;
         SELECT b, c, d, '#' FROM t1 WHERE b BETWEEN 3 AND 8 ORDER BY d;
     ]], {
@@ -126,12 +126,12 @@ test:do_execsql_test(
         -- </2.3>
     })
 
--- Ignore extraneous text parameters in the _sql_stat1.stat field.
+-- Ignore extraneous text parameters in the "_sql_stat1".stat field.
 --
 test:do_execsql_test(
     3.0,
     [[
-        UPDATE _sql_stat1 SET stat='12345 2 whatever=5 unordered xyzzy=11' WHERE idx='t1b';
+        UPDATE "_sql_stat1" SET "stat"='12345 2 whatever=5 unordered xyzzy=11' WHERE "idx"='t1b';
         ANALYZE;
         SELECT b, c, d, '#' FROM t1 WHERE b BETWEEN 3 AND 8 ORDER BY d;
     ]], {
@@ -179,8 +179,8 @@ test:do_execsql_test(
         DROP INDEX t1b ON t1;
         CREATE INDEX t1bc ON t1(b,c);
         CREATE INDEX t1db ON t1(d,b);
-        DELETE FROM _sql_stat1;
-        INSERT INTO _sql_stat1(tbl,idx,stat) VALUES('t1','t1bc','12345 3 2 sz=10'),('t1','t1db','12345 3 2 sz=20');
+        DELETE FROM "_sql_stat1";
+        INSERT INTO "_sql_stat1"("tbl","idx","stat") VALUES('t1','t1bc','12345 3 2 sz=10'),('t1','t1db','12345 3 2 sz=20');
         ANALYZE;
         SELECT count(b) FROM t1;
     ]], {
@@ -202,8 +202,8 @@ test:do_execsql_test(
 test:do_execsql_test(
     4.2,
     [[
-        DELETE FROM _sql_stat1;
-        INSERT INTO _sql_stat1(tbl,idx,stat) VALUES('t1','t1bc','12345 3 2 sz=20'),('t1','t1db','12345 3 2 sz=10');
+        DELETE FROM "_sql_stat1";
+        INSERT INTO "_sql_stat1"("tbl","idx","stat") VALUES('t1','t1bc','12345 3 2 sz=20'),('t1','t1db','12345 3 2 sz=10');
         ANALYZE;
         SELECT count(b) FROM t1;
     ]], {
@@ -228,8 +228,8 @@ test:do_execsql_test(
 test:do_execsql_test(
     5.0,
     [[
-        DELETE FROM _sql_stat1;
-        INSERT INTO _sql_stat1(tbl,idx,stat)
+        DELETE FROM "_sql_stat1";
+        INSERT INTO "_sql_stat1"("tbl","idx","stat")
           VALUES('t1','t1bc','12345 3 2 x=5 sz=10 y=10'),
                 ('t1','t1db','12345 3 2 whatever sz=20 junk');
         ANALYZE;
@@ -254,8 +254,8 @@ test:do_execsql_test(
 test:do_execsql_test(
     5.2,
     [[
-        DELETE FROM _sql_stat1;
-        INSERT INTO _sql_stat1(tbl,idx,stat) VALUES('t1','t1db','12345 3 2 x=5 sz=10 y=10'), ('t1','t1bc','12345 3 2 whatever sz=20 junk');
+        DELETE FROM "_sql_stat1";
+        INSERT INTO "_sql_stat1"("tbl","idx","stat") VALUES('t1','t1db','12345 3 2 x=5 sz=10 y=10'), ('t1','t1bc','12345 3 2 whatever sz=20 junk');
         ANALYZE;
         SELECT count(b) FROM t1;
     ]], {
diff --git a/test/sql-tap/analyzeD.test.lua b/test/sql-tap/analyzeD.test.lua
index 9b5008929..8fdadf5a7 100755
--- a/test/sql-tap/analyzeD.test.lua
+++ b/test/sql-tap/analyzeD.test.lua
@@ -76,7 +76,7 @@ test:do_execsql_test(
 test:do_test(
 	1.3,
 	function()
-		test:execsql("DELETE FROM _sql_stat1;")
+		test:execsql("DELETE FROM \"_sql_stat1\";")
 	end, {
         -- <1.3>
         -- </1.3>
@@ -120,7 +120,7 @@ test:do_execsql_test(
 test:do_test(
 	1.7,
 	function()
-		test:execsql(" DELETE FROM _sql_stat1 ")
+		test:execsql(" DELETE FROM \"_sql_stat1\" ")
 	end, {
         -- <1.7> 
         -- </1.7>
diff --git a/test/sql-tap/autoinc.test.lua b/test/sql-tap/autoinc.test.lua
index 31815525a..2fa48e657 100755
--- a/test/sql-tap/autoinc.test.lua
+++ b/test/sql-tap/autoinc.test.lua
@@ -40,7 +40,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "autoinc-1.3",
     [[
-        SELECT * FROM _sequence;
+        SELECT * FROM "_sequence";
     ]], {
         -- <autoinc-1.3>
         1,1,"T1",1,0,9223372036854775807LL,1,0,4294967041
@@ -68,17 +68,17 @@ test:do_execsql_test(
 test:do_catchsql_test(
     "autoinc-1.5",
     [[
-        DROP TABLE _sequence
+        DROP TABLE "_sequence"
     ]], {
         -- <autoinc-1.5>
-        1, "table _SEQUENCE may not be dropped"
+        1, "table _sequence may not be dropped"
         -- </autoinc-1.5>
     })
 
 test:do_execsql_test(
     "autoinc-1.6",
     [[
-        SELECT name FROM _space WHERE name NOT IN (SELECT name FROM _space WHERE name LIKE '\_%' ESCAPE '\')
+        SELECT "name" FROM "_space" WHERE "name" NOT IN (SELECT "name" FROM "_space" WHERE "name" LIKE '\_%' ESCAPE '\')
     ]], {
         -- <autoinc-1.6>
         "T1"
@@ -331,7 +331,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "autoinc-3.1",
     [[
-        SELECT name FROM _sequence
+        SELECT "name" FROM "_sequence"
     ]], {
         -- <autoinc-3.1>
         "T1", "T2", "T3"
@@ -342,7 +342,7 @@ test:do_execsql_test(
     "autoinc-3.2",
     [[
         DROP TABLE t1;
-        SELECT name FROM _sequence;
+        SELECT "name" FROM "_sequence";
     ]], {
         -- <autoinc-3.2>
        "T2", "T3"
@@ -353,7 +353,7 @@ test:do_execsql_test(
     "autoinc-3.3",
     [[
         DROP TABLE t3;
-        SELECT name FROM _sequence;
+        SELECT "name" FROM "_sequence";
     ]], {
         -- <autoinc-3.3>
         "T2"
@@ -364,7 +364,7 @@ test:do_execsql_test(
     "autoinc-3.4",
     [[
         DROP TABLE t2;
-        SELECT name FROM _sequence;
+        SELECT "name" FROM "_sequence";
     ]], {
         -- <autoinc-3.4>
 
diff --git a/test/sql-tap/gh-2723-concurrency.test.lua b/test/sql-tap/gh-2723-concurrency.test.lua
index 9ae08fbef..3f7d241c0 100755
--- a/test/sql-tap/gh-2723-concurrency.test.lua
+++ b/test/sql-tap/gh-2723-concurrency.test.lua
@@ -27,7 +27,7 @@ end
 test:do_test(
     "concurrency:1",
     function()
-        return test:execsql("select count(*) from _space where name like 'table-2723-%'")[1]
+        return test:execsql([[select count(*) from "_space" where "name" like 'table-2723-%']])[1]
     end,
     0)
 
diff --git a/test/sql-tap/index1.test.lua b/test/sql-tap/index1.test.lua
index 1c8c3bd56..7bfcf77b1 100755
--- a/test/sql-tap/index1.test.lua
+++ b/test/sql-tap/index1.test.lua
@@ -26,7 +26,7 @@ test:do_test(
     function()
         test:execsql "CREATE TABLE test1(id primary key, f1 int, f2 int, f3 int)"
         test:execsql "CREATE INDEX index1 ON test1(f1)"
-        return test:execsql "SELECT name FROM _space WHERE name='TEST1'"
+        return test:execsql [[SELECT "name" FROM "_space" WHERE "name"='TEST1']]
     end, {
         -- <index-1.1>
         "TEST1"
@@ -36,7 +36,7 @@ test:do_test(
 test:do_execsql_test(
     "index-1.1.1",
     [[
-        SELECT name FROM _index WHERE name='INDEX1'
+        SELECT "name" FROM "_index" WHERE "name"='INDEX1'
     ]], {
         -- <index-1.1.1>
         "INDEX1"
@@ -67,7 +67,7 @@ test:do_test(
     "index-1.2",
     function()
         test:execsql "DROP TABLE test1"
-        return test:execsql "SELECT name FROM _space WHERE name='TEST1'"
+        return test:execsql [[SELECT "name" FROM "_space" WHERE "name"='TEST1']]
         --execsql {SELECT name FROM sqlite_master WHERE type!='meta' ORDER BY name}
     end, {
         -- <index-1.2>
@@ -191,7 +191,7 @@ test:do_test(
         end
         test:execsql "CREATE INDEX index9 ON test1(cnt)"
         test:execsql "CREATE INDEX indext ON test1(power)"
-        return test:execsql "SELECT name FROM _index WHERE name='INDEX9' OR name='INDEXT' union SELECT name FROM _space WHERE name='TEST1';"
+        return test:execsql [[SELECT "name" FROM "_index" WHERE "name"='INDEX9' OR "name"='INDEXT' union SELECT "name" FROM "_space" WHERE "name"='TEST1';]]
     end, {
         -- <index-4.1>
         "INDEX9", "INDEXT", "TEST1"
@@ -316,7 +316,7 @@ test:do_test(
     "index-4.13",
     function()
         test:execsql "DROP TABLE test1"
-        return test:execsql "SELECT name FROM _space WHERE name='TEST1'"
+        return test:execsql [[SELECT "name" FROM "_space" WHERE "name"='TEST1']]
         --execsql {SELECT name FROM sqlite_master WHERE type!='meta' ORDER BY name}
     end, {
         -- <index-4.13>
@@ -357,7 +357,7 @@ test:do_test(
 test:do_execsql_test(
     "index-6.1b",
     [[
-        SELECT name FROM _index WHERE name='INDEX1' union SELECT name FROM _space WHERE name='TEST1' OR name='TEST2'
+        SELECT "name" FROM "_index" WHERE "name"='INDEX1' union SELECT "name" FROM "_space" WHERE "name"='TEST1' OR "name"='TEST2'
     ]], {
         -- <index-6.1b>
         "INDEX1", "TEST1", "TEST2"
@@ -387,7 +387,7 @@ test:do_catchsql_test(
 test:do_execsql_test(
     "index-6.2b",
     [[
-        SELECT name FROM _index WHERE name='INDEX1' union SELECT name FROM _space WHERE name='TEST1' OR name='TEST2'
+        SELECT "name" FROM "_index" WHERE "name"='INDEX1' union SELECT "name" FROM "_space" WHERE "name"='TEST1' OR "name"='TEST2'
     ]], {
         -- <index-6.2b>
         "INDEX1", "TEST1", "TEST2"
@@ -399,7 +399,7 @@ test:do_test(
     function()
         test:execsql "DROP TABLE test1"
         test:execsql "DROP TABLE test2"
-        return test:execsql "SELECT name FROM _space WHERE name='TEST1' OR name='TEST2'"
+        return test:execsql [[SELECT "name" FROM "_space" WHERE "name"='TEST1' OR "name"='TEST2']]
         --execsql {SELECT name FROM sqlite_master WHERE type!='meta' ORDER BY name}
     end, {
         -- <index-6.3>
@@ -415,7 +415,7 @@ test:do_execsql_test(
         CREATE INDEX index2 ON test1(b);
         CREATE INDEX index3 ON test1(a,b);
         DROP TABLE test1;
-        SELECT name FROM _space WHERE name='TEST1';
+        SELECT "name" FROM "_space" WHERE "name"='TEST1';
     ]], {
         -- <index-6.4>
         
@@ -454,7 +454,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "index-7.3",
     [[
-        SELECT name FROM _index WHERE name='sqlite_autoindex_TEST1_1'
+        SELECT "name" FROM "_index" WHERE "name"='sqlite_autoindex_TEST1_1'
     ]], {
         -- <index-7.3>
         "sqlite_autoindex_TEST1_1"
@@ -465,7 +465,7 @@ test:do_test(
     "index-7.4",
     function()
         test:execsql "DROP table test1"
-        return test:execsql "SELECT name FROM _space WHERE name='TEST1'"
+        return test:execsql [[SELECT "name" FROM "_space" WHERE "name"='TEST1']]
     end, {
         -- <index-7.4>
         
@@ -498,7 +498,7 @@ test:do_test(
         test:execsql "EXPLAIN CREATE INDEX idx1 ON tab1(a)"
 
 
-        return test:execsql "SELECT name FROM _space WHERE name='TAB1'"
+        return test:execsql [[SELECT "name" FROM "_space" WHERE "name"='TAB1']]
     end, {
         -- <index-9.1>
         "TAB1"
@@ -509,7 +509,7 @@ test:do_test(
     "index-9.2",
     function()
         test:execsql "CREATE INDEX idx1 ON tab1(a)"
-        return test:execsql "SELECT name FROM _index WHERE name='IDX1' union SELECT name FROM _space WHERE name='TAB1'"
+        return test:execsql [[SELECT "name" FROM "_index" WHERE "name"='IDX1' union SELECT "name" FROM "_space" WHERE "name"='TAB1']]
     end, {
         -- <index-9.2>
         "IDX1", "TAB1"
@@ -959,7 +959,7 @@ test:do_execsql_test(
     "index-16.1",
     [[
         CREATE TABLE t7(c UNIQUE PRIMARY KEY);
-        SELECT count(*) FROM _index JOIN _space WHERE _index.id = _space.id AND _space.name='T7';
+        SELECT count(*) FROM "_index" JOIN "_space" WHERE "_index"."id" = "_space"."id" AND "_space"."name"='T7';
     ]], {
         -- <index-16.1>
         1
@@ -971,7 +971,7 @@ test:do_execsql_test(
     [[
         DROP TABLE t7;
         CREATE TABLE t7(c UNIQUE PRIMARY KEY);
-        SELECT count(*) FROM _index JOIN _space WHERE _index.id = _space.id AND _space.name='T7';
+        SELECT count(*) FROM "_index" JOIN "_space" WHERE "_index"."id" = "_space"."id" AND "_space"."name"='T7';
     ]], {
         -- <index-16.2>
         1
@@ -983,7 +983,7 @@ test:do_execsql_test(
     [[
         DROP TABLE t7;
         CREATE TABLE t7(c PRIMARY KEY, UNIQUE(c) );
-        SELECT count(*) FROM _index JOIN _space WHERE _index.id = _space.id AND _space.name='T7';
+        SELECT count(*) FROM "_index" JOIN "_space" WHERE "_index"."id" = "_space"."id" AND "_space"."name"='T7';
     ]], {
         -- <index-16.3>
         1
@@ -995,7 +995,7 @@ test:do_execsql_test(
     [[
         DROP TABLE t7;
         CREATE TABLE t7(c, d , UNIQUE(c, d), PRIMARY KEY(c, d) );
-        SELECT count(*) FROM _index JOIN _space WHERE _index.id = _space.id AND _space.name='T7';
+        SELECT count(*) FROM "_index" JOIN "_space" WHERE "_index"."id" = "_space"."id" AND "_space"."name"='T7';
     ]], {
         -- <index-16.4>
         1
@@ -1007,7 +1007,7 @@ test:do_execsql_test(
     [[
         DROP TABLE t7;
         CREATE TABLE t7(c, d , UNIQUE(c), PRIMARY KEY(c, d) );
-        SELECT count(*) FROM _index JOIN _space WHERE _index.id = _space.id AND _space.name='T7';
+        SELECT count(*) FROM "_index" JOIN "_space" WHERE "_index"."id" = "_space"."id" AND "_space"."name"='T7';
     ]], {
         -- <index-16.5>
         2
@@ -1024,7 +1024,7 @@ test:do_execsql_test(
     [[
         DROP TABLE t7;
         CREATE TABLE t7(c, d UNIQUE, UNIQUE(c), PRIMARY KEY(c, d) );
-        SELECT _index.name FROM _index JOIN _space WHERE _index.id = _space.id AND _space.name='T7';
+        SELECT "_index"."name" FROM "_index" JOIN "_space" WHERE "_index"."id" = "_space"."id" AND "_space"."name"='T7';
     ]], {
         -- <index-17.1>
         "sqlite_autoindex_T7_3", "sqlite_autoindex_T7_2", "sqlite_autoindex_T7_1"
diff --git a/test/sql-tap/intpkey.test.lua b/test/sql-tap/intpkey.test.lua
index fd1a9aad2..bca7bd703 100755
--- a/test/sql-tap/intpkey.test.lua
+++ b/test/sql-tap/intpkey.test.lua
@@ -39,7 +39,7 @@ test:do_execsql_test(
 test:do_execsql_test(
     "intpkey-1.1",
     [[
-        SELECT _index.name FROM _index JOIN _space WHERE _index.id = _space.id AND _space.name='T1'
+        SELECT "_index"."name" FROM "_index" JOIN "_space" WHERE "_index"."id" = "_space"."id" AND "_space"."name"='T1'
     ]], {
         -- <intpkey-1.1>
         "sqlite_autoindex_T1_1"
diff --git a/test/sql-tap/select9.test.lua b/test/sql-tap/select9.test.lua
index 4b7acc294..e85308c0a 100755
--- a/test/sql-tap/select9.test.lua
+++ b/test/sql-tap/select9.test.lua
@@ -275,8 +275,8 @@ test:do_execsql_test(
 
 local t1_space_id = ""
 local t2_space_id = ""
-t1_space_id = test:execsql("SELECT * from _space where name='T1'")["ID"]
-t2_space_id = test:execsql("SELECT * from _space where name='T2'")["ID"]
+t1_space_id = test:execsql([[SELECT * from "_space" where "name"='T1']])["id"]
+t2_space_id = test:execsql([[SELECT * from "_space" where "name"='T2']])["id"]
 --X(276, "X!cmd", [=[["db","eval","SELECT * from _space where name='t2'","data","\n  set t2_space_id $data(id)\n"]]=])
 --local function reverse(lhs, rhs)
 --    return X(283, "X!cmd", [=[["string","compare",["rhs"],["lhs"]]]=])
diff --git a/test/sql-tap/selectA.test.lua b/test/sql-tap/selectA.test.lua
index b08e3b09b..fc482e911 100755
--- a/test/sql-tap/selectA.test.lua
+++ b/test/sql-tap/selectA.test.lua
@@ -1191,7 +1191,7 @@ test:do_execsql_test(
         CREATE UNIQUE INDEX t2x ON t2(x);
         CREATE UNIQUE INDEX t2y ON t2(y);
         CREATE UNIQUE INDEX t2z ON t2(z);
-        SELECT name FROM _index WHERE name LIKE 'T%';
+        SELECT "name" FROM "_index" WHERE "name" LIKE 'T%';
     ]], {
         -- <selectA-3.0>
         "T1A", "T1B", "T1C", "T2X", "T2Y", "T2Z"
diff --git a/test/sql-tap/table.test.lua b/test/sql-tap/table.test.lua
index d60170beb..6e1056193 100755
--- a/test/sql-tap/table.test.lua
+++ b/test/sql-tap/table.test.lua
@@ -325,7 +325,7 @@ test:do_test(
             test:execsql(sql)
         end
         --execsql {SELECT name FROM sqlite_master WHERE type!='meta' ORDER BY name}
-        return test:execsql "SELECT name FROM _space WHERE id>500"
+        return test:execsql [[SELECT "name" FROM "_space" WHERE "id">500]]
     end, r)
 
 -- do_test table-4.1b {
@@ -348,7 +348,7 @@ test:do_test(
             test:execsql(sql)
         end
         --execsql {SELECT name FROM sqlite_master WHERE type!='meta' ORDER BY name}
-        return test:execsql("SELECT name FROM _space WHERE id>500")
+        return test:execsql([[SELECT "name" FROM "_space" WHERE "id">500]])
     end, r)
 
 --exit
@@ -362,7 +362,7 @@ test:do_test(
             test:execsql(sql)
         end
         --execsql {SELECT name FROM sqlite_master WHERE type!='meta' ORDER BY name}
-        return test:execsql "SELECT name FROM _space WHERE id>500"
+        return test:execsql [[SELECT "name" FROM "_space" WHERE "id">500]]
     end, {
         -- <table-4.3>
         
@@ -451,7 +451,7 @@ test:do_test(
         test:execsql "EXPLAIN CREATE TABLE test1(f1 int primary key)"
 
 
-        return test:execsql "SELECT name FROM _space WHERE id>500"
+        return test:execsql [[SELECT "name" FROM "_space" WHERE "id">500]]
         --execsql {SELECT name FROM sqlite_master WHERE type!='meta'}
     end, {
         -- <table-5.3>
@@ -468,7 +468,7 @@ test:do_test(
         test:execsql "EXPLAIN DROP TABLE test1"
 
 
-        return test:execsql "SELECT name FROM _space WHERE id>500"
+        return test:execsql [[SELECT "name" FROM "_space" WHERE "id">500]]
         --execsql {SELECT name FROM sqlite_master WHERE type!='meta'}
     end, {
         -- <table-5.4>
diff --git a/test/sql-tap/trigger1.test.lua b/test/sql-tap/trigger1.test.lua
index fc31beba8..93dd3aaac 100755
--- a/test/sql-tap/trigger1.test.lua
+++ b/test/sql-tap/trigger1.test.lua
@@ -537,7 +537,7 @@ test:do_execsql_test(
     "trigger1-8.1",
     [[
         CREATE TRIGGER "trigger" AFTER INSERT ON t2 BEGIN SELECT 1; END;
-        SELECT name FROM _trigger WHERE name='trigger';
+        SELECT "name" FROM "_trigger" WHERE "name"='trigger';
     ]], {
         -- <trigger1-8.1>
         "trigger"
@@ -548,7 +548,7 @@ test:do_execsql_test(
     "trigger1-8.2",
     [[
         DROP TRIGGER "trigger";
-        SELECT name FROM _trigger WHERE name='trigger';
+        SELECT "name" FROM "_trigger" WHERE "name"='trigger';
     ]], {
         -- <trigger1-8.2>
         
@@ -559,7 +559,7 @@ test:do_execsql_test(
     "trigger1-8.3",
     [[
         CREATE TRIGGER "trigger" AFTER INSERT ON t2 BEGIN SELECT 1; END;
-        SELECT name FROM _trigger WHERE name='trigger';
+        SELECT "name" FROM "_trigger" WHERE "name"='trigger';
     ]], {
         -- <trigger1-8.3>
         "trigger"
@@ -570,7 +570,7 @@ test:do_execsql_test(
     "trigger1-8.4",
     [[
         DROP TRIGGER "trigger";
-        SELECT name FROM _trigger WHERE name='trigger';
+        SELECT "name" FROM "_trigger" WHERE "name"='trigger';
     ]], {
         -- <trigger1-8.4>
         
diff --git a/test/sql/gh2141-delete-trigger-drop-table.result b/test/sql/gh2141-delete-trigger-drop-table.result
index 541e0b71d..ba7016c48 100644
--- a/test/sql/gh2141-delete-trigger-drop-table.result
+++ b/test/sql/gh2141-delete-trigger-drop-table.result
@@ -24,7 +24,7 @@ box.sql.execute("CREATE TRIGGER tt_ad AFTER DELETE ON t BEGIN SELECT 1; END")
 ---
 ...
 -- check that these triggers exist
-box.sql.execute("SELECT * FROM _trigger")
+box.sql.execute("SELECT * FROM \"_trigger\"")
 ---
 - - ['TT_AD', !!binary gaNzcWzZOkNSRUFURSBUUklHR0VSIHR0X2FkIEFGVEVSIERFTEVURSBPTiB0IEJFR0lOIFNFTEVDVCAxOyBFTkQ=]
   - ['TT_AI', !!binary gaNzcWzZOkNSRUFURSBUUklHR0VSIHR0X2FpIEFGVEVSIElOU0VSVCBPTiB0IEJFR0lOIFNFTEVDVCAxOyBFTkQ=]
@@ -38,7 +38,7 @@ box.sql.execute("DROP TABLE t")
 ---
 ...
 -- check that triggers were dropped with deleted table
-box.sql.execute("SELECT * FROM _trigger")
+box.sql.execute("SELECT * FROM \"_trigger\"")
 ---
 - []
 ...
diff --git a/test/sql/gh2141-delete-trigger-drop-table.test.lua b/test/sql/gh2141-delete-trigger-drop-table.test.lua
index 9166713f8..e6a030cb4 100644
--- a/test/sql/gh2141-delete-trigger-drop-table.test.lua
+++ b/test/sql/gh2141-delete-trigger-drop-table.test.lua
@@ -11,10 +11,10 @@ box.sql.execute("CREATE TRIGGER tt_bd BEFORE DELETE ON t BEGIN SELECT 1; END")
 box.sql.execute("CREATE TRIGGER tt_ad AFTER DELETE ON t BEGIN SELECT 1; END")
 
 -- check that these triggers exist
-box.sql.execute("SELECT * FROM _trigger")
+box.sql.execute("SELECT * FROM \"_trigger\"")
 
 -- drop table
 box.sql.execute("DROP TABLE t")
 
 -- check that triggers were dropped with deleted table
-box.sql.execute("SELECT * FROM _trigger")
+box.sql.execute("SELECT * FROM \"_trigger\"")
diff --git a/test/sql/persistency.result b/test/sql/persistency.result
index 4f47a0205..06c0bf6b7 100644
--- a/test/sql/persistency.result
+++ b/test/sql/persistency.result
@@ -139,7 +139,7 @@ box.sql.execute("INSERT INTO barfoo VALUES ('foobar', 1000)")
 box.sql.execute("CREATE TRIGGER tfoobar AFTER INSERT ON foobar BEGIN INSERT INTO barfoo VALUES ('trigger test', 9999); END")
 ---
 ...
-box.sql.execute("SELECT * FROM _trigger");
+box.sql.execute("SELECT * FROM \"_trigger\"");
 ---
 - - ['TFOOBAR', !!binary gaNzcWzZaUNSRUFURSBUUklHR0VSIHRmb29iYXIgQUZURVIgSU5TRVJUIE9OIGZvb2JhciBCRUdJTiBJTlNFUlQgSU5UTyBiYXJmb28gVkFMVUVTICgndHJpZ2dlciB0ZXN0JywgOTk5OSk7IEVORA==]
 ...
@@ -165,7 +165,7 @@ box.sql.execute("SELECT a FROM t1 ORDER BY b, a LIMIT 10 OFFSET 20;");
 ...
 test_run:cmd('restart server default');
 -- prove that trigger survived
-box.sql.execute("SELECT * FROM _trigger");
+box.sql.execute("SELECT * FROM \"_trigger\"");
 ---
 - - ['TFOOBAR', !!binary gaNzcWzZaUNSRUFURSBUUklHR0VSIHRmb29iYXIgQUZURVIgSU5TRVJUIE9OIGZvb2JhciBCRUdJTiBJTlNFUlQgSU5UTyBiYXJmb28gVkFMVUVTICgndHJpZ2dlciB0ZXN0JywgOTk5OSk7IEVORA==]
 ...
@@ -178,7 +178,7 @@ box.sql.execute("SELECT * FROM barfoo WHERE foo = 9999");
 - - ['trigger test', 9999]
 ...
 -- and still persistent
-box.sql.execute("SELECT * FROM _trigger")
+box.sql.execute("SELECT * FROM \"_trigger\"")
 ---
 - - ['TFOOBAR', !!binary gaNzcWzZaUNSRUFURSBUUklHR0VSIHRmb29iYXIgQUZURVIgSU5TRVJUIE9OIGZvb2JhciBCRUdJTiBJTlNFUlQgSU5UTyBiYXJmb28gVkFMVUVTICgndHJpZ2dlciB0ZXN0JywgOTk5OSk7IEVORA==]
 ...
@@ -192,7 +192,7 @@ box.sql.execute("DROP TRIGGER tfoobar")
 - error: 'no such trigger: TFOOBAR'
 ...
 -- Should be empty
-box.sql.execute("SELECT * FROM _trigger")
+box.sql.execute("SELECT * FROM \"_trigger\"")
 ---
 - []
 ...
diff --git a/test/sql/persistency.test.lua b/test/sql/persistency.test.lua
index 8611bf2f7..bd055457b 100644
--- a/test/sql/persistency.test.lua
+++ b/test/sql/persistency.test.lua
@@ -49,7 +49,7 @@ box.sql.execute("INSERT INTO barfoo VALUES ('foobar', 1000)")
 
 -- create a trigger
 box.sql.execute("CREATE TRIGGER tfoobar AFTER INSERT ON foobar BEGIN INSERT INTO barfoo VALUES ('trigger test', 9999); END")
-box.sql.execute("SELECT * FROM _trigger");
+box.sql.execute("SELECT * FROM \"_trigger\"");
 
 -- Many entries
 box.sql.execute("CREATE TABLE t1(a,b,c,PRIMARY KEY(b,c));")
@@ -59,21 +59,21 @@ box.sql.execute("SELECT a FROM t1 ORDER BY b, a LIMIT 10 OFFSET 20;");
 test_run:cmd('restart server default');
 
 -- prove that trigger survived
-box.sql.execute("SELECT * FROM _trigger");
+box.sql.execute("SELECT * FROM \"_trigger\"");
 
 -- ... functional
 box.sql.execute("INSERT INTO foobar VALUES ('foobar trigger test', 8888)")
 box.sql.execute("SELECT * FROM barfoo WHERE foo = 9999");
 
 -- and still persistent
-box.sql.execute("SELECT * FROM _trigger")
+box.sql.execute("SELECT * FROM \"_trigger\"")
 
 -- and can be dropped just once
 box.sql.execute("DROP TRIGGER tfoobar")
 -- Should error
 box.sql.execute("DROP TRIGGER tfoobar")
 -- Should be empty
-box.sql.execute("SELECT * FROM _trigger")
+box.sql.execute("SELECT * FROM \"_trigger\"")
 
 -- prove barfoo2 still exists
 box.sql.execute("INSERT INTO barfoo VALUES ('xfoo', 1)")
-- 
2.14.1




More information about the Tarantool-patches mailing list