Tarantool development patches archive
 help / color / mirror / Atom feed
From: Nikita Pettik <korablev@tarantool.org>
To: tarantool-patches@freelists.org
Cc: v.shpilevoy@tarantool.org, Nikita Pettik <korablev@tarantool.org>
Subject: [tarantool-patches] [PATCH 6/7] sql: don't add system spaces to Table hash
Date: Fri, 24 Aug 2018 01:55:52 +0300	[thread overview]
Message-ID: <b449ef840392ee36d16eacfa184bd81052708cda.1535064700.git.korablev@tarantool.org> (raw)
In-Reply-To: <cover.1535063199.git.korablev@tarantool.org>
In-Reply-To: <cover.1535064700.git.korablev@tarantool.org>

Part of #3561
---
 src/box/sql.c              | 105 ---------------------------------------------
 src/box/sql/prepare.c      |  13 ------
 src/box/sql/tarantoolInt.h |  20 ---------
 3 files changed, 138 deletions(-)

diff --git a/src/box/sql.c b/src/box/sql.c
index 61c766540..bec74bf29 100644
--- a/src/box/sql.c
+++ b/src/box/sql.c
@@ -1066,111 +1066,6 @@ cursor_advance(BtCursor *pCur, int *pRes)
 	return SQLITE_OK;
 }
 
-/*********************************************************************
- * Schema support.
- */
-
-static int
-space_foreach_put_cb(struct space *space, void *udata)
-{
-	if (space->def->opts.sql == NULL)
-		return 0; /* Not SQL space. */
-	sql_init_callback((struct init_data *) udata, space->def->name,
-			  space->def->id, 0, space->def->opts.sql);
-	for (uint32_t i = 0; i < space->index_count; ++i) {
-		struct index_def *def = space_index_def(space, i);
-		if (def->opts.sql != NULL) {
-			sql_init_callback((struct init_data *) udata, def->name,
-					  def->space_id, def->iid, def->opts.sql);
-		}
-	}
-	return 0;
-}
-
-/* Load database schema from Tarantool. */
-void tarantoolSqlite3LoadSchema(struct init_data *init)
-{
-	sql_init_callback(
-		init, TARANTOOL_SYS_SCHEMA_NAME,
-		BOX_SCHEMA_ID, 0,
-		"CREATE TABLE \""TARANTOOL_SYS_SCHEMA_NAME
-		"\" (\"key\" TEXT PRIMARY KEY, \"value\")"
-	);
-
-	sql_init_callback(
-		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\")"
-	);
-
-	sql_init_callback(
-		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\"))"
-	);
-
-	sql_init_callback(
-		init, TARANTOOL_SYS_TRIGGER_NAME,
-		BOX_TRIGGER_ID, 0,
-		"CREATE TABLE \""TARANTOOL_SYS_TRIGGER_NAME"\" ("
-		"\"name\" TEXT PRIMARY KEY, \"space_id\" INT, \"opts\")"
-	);
-
-	sql_init_callback(
-		init, TARANTOOL_SYS_TRUNCATE_NAME,
-		BOX_TRUNCATE_ID, 0,
-		"CREATE TABLE \""TARANTOOL_SYS_TRUNCATE_NAME
-		"\" (\"id\" INT PRIMARY KEY, \"count\" INT NOT NULL)"
-	);
-
-	sql_init_callback(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)");
-
-	sql_init_callback(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)");
-
-	sql_init_callback(init, TARANTOOL_SYS_SQL_STAT1_NAME,
-			  BOX_SQL_STAT1_ID, 0,
-			  "CREATE TABLE \""TARANTOOL_SYS_SQL_STAT1_NAME
-			       "\"(\"tbl\" text,"
-			       "\"idx\" text,"
-			       "\"stat\" not null,"
-			       "PRIMARY KEY(\"tbl\", \"idx\"))");
-
-	sql_init_callback(init, TARANTOOL_SYS_SQL_STAT4_NAME,
-			  BOX_SQL_STAT4_ID, 0,
-			  "CREATE TABLE \""TARANTOOL_SYS_SQL_STAT4_NAME
-			       "\"(\"tbl\" text,"
-			       "\"idx\" text,"
-			       "\"neq\" text,"
-			       "\"nlt\" text,"
-			       "\"ndlt\" text,"
-			       "\"sample\","
-			       "PRIMARY KEY(\"tbl\", \"idx\", \"sample\"))");
-
-	sql_init_callback(init, TARANTOOL_SYS_FK_CONSTRAINT_NAME,
-			  BOX_FK_CONSTRAINT_ID, 0,
-			  "CREATE TABLE \""TARANTOOL_SYS_FK_CONSTRAINT_NAME
-			  "\"(\"name\" TEXT, \"parent_id\" INT, \"child_id\" INT,"
-			  "\"deferred\" INT, \"match\" TEXT, \"on_delete\" TEXT,"
-			  "\"on_update\" TEXT, \"child_cols\", \"parent_cols\","
-			  "PRIMARY KEY(\"name\", \"child_id\"))");
-
-	/* Read _space */
-	if (space_foreach(space_foreach_put_cb, init) != 0) {
-		init->rc = SQL_TARANTOOL_ERROR;
-		return;
-	}
-}
-
 /*********************************************************************
  * Metainformation about available spaces and indices is stored in
  * _space and _index system spaces respectively.
diff --git a/src/box/sql/prepare.c b/src/box/sql/prepare.c
index bea9dc583..a59e70dd0 100644
--- a/src/box/sql/prepare.c
+++ b/src/box/sql/prepare.c
@@ -140,14 +140,6 @@ sqlite3InitDatabase(sqlite3 * db)
 
 	memset(&init, 0, sizeof(init));
 	init.db = db;
-
-	/* Load schema from Tarantool - into the primary db only. */
-	tarantoolSqlite3LoadSchema(&init);
-
-	if (init.rc) {
-		rc = init.rc;
-		goto error_out;
-	}
 	/* Read the schema information out of the schema tables
 	 */
 	assert(db->init.busy);
@@ -160,11 +152,6 @@ sqlite3InitDatabase(sqlite3 * db)
 		rc = SQLITE_NOMEM_BKPT;
 		sqlite3ResetAllSchemasOfConnection(db);
 	}
-
- error_out:
-	if (rc == SQLITE_NOMEM || rc == SQLITE_IOERR_NOMEM) {
-		sqlite3OomFault(db);
-	}
 	return rc;
 }
 
diff --git a/src/box/sql/tarantoolInt.h b/src/box/sql/tarantoolInt.h
index 69af6e723..9334de52d 100644
--- a/src/box/sql/tarantoolInt.h
+++ b/src/box/sql/tarantoolInt.h
@@ -10,30 +10,10 @@
 
 struct fkey_def;
 
-/*
- * 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_SQL_STAT1_NAME "_sql_stat1"
-#define TARANTOOL_SYS_SQL_STAT4_NAME "_sql_stat4"
-#define TARANTOOL_SYS_FK_CONSTRAINT_NAME "_fk_constraint"
-
-/* Max space id seen so far. */
-#define TARANTOOL_SYS_SCHEMA_MAXID_KEY "max_id"
-
 /* Insert or replace operation types - necessary for vdbe */
 #define TARANTOOL_INDEX_INSERT 1
 #define TARANTOOL_INDEX_REPLACE 2
 
-/* Load database schema from Tarantool. */
-void tarantoolSqlite3LoadSchema(struct init_data *init);
-
 /* Misc */
 const char *tarantoolErrorMessage();
 
-- 
2.15.1

  parent reply	other threads:[~2018-08-23 22:56 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-23 22:55 [tarantool-patches] [PATCH 0/7] Finish SQL DD integration Nikita Pettik
     [not found] ` <cover.1535064700.git.korablev@tarantool.org>
2018-08-23 22:55   ` [tarantool-patches] [PATCH 1/7] sql: remove struct schema from struct Table Nikita Pettik
2018-08-29  0:58     ` [tarantool-patches] " Vladislav Shpilevoy
2018-09-02 23:51       ` n.pettik
2018-09-16 19:32     ` Vladislav Shpilevoy
2018-09-19 10:58       ` n.pettik
2018-08-23 22:55   ` [tarantool-patches] [PATCH 2/7] sql: remove SQLite original struct Index Nikita Pettik
2018-08-29  0:58     ` [tarantool-patches] " Vladislav Shpilevoy
2018-09-02 23:51       ` n.pettik
2018-09-06 19:54         ` Vladislav Shpilevoy
2018-09-16 19:04           ` n.pettik
2018-08-23 22:55   ` [tarantool-patches] [PATCH 3/7] sql: remove struct Table from analyze routine Nikita Pettik
2018-08-29  0:58     ` [tarantool-patches] " Vladislav Shpilevoy
2018-09-02 23:52       ` n.pettik
2018-08-23 22:55   ` [tarantool-patches] [PATCH 4/7] sql: refactor ALTER RENAME code generation Nikita Pettik
2018-08-29  0:58     ` [tarantool-patches] " Vladislav Shpilevoy
2018-09-02 23:52       ` n.pettik
2018-08-23 22:55   ` [tarantool-patches] [PATCH 5/7] sql: remove lookups in Table hash Nikita Pettik
2018-08-29  0:58     ` [tarantool-patches] " Vladislav Shpilevoy
2018-09-02 23:52       ` n.pettik
2018-08-23 22:55   ` Nikita Pettik [this message]
2018-08-29  0:58     ` [tarantool-patches] Re: [PATCH 6/7] sql: don't add system spaces to " Vladislav Shpilevoy
2018-09-02 23:52       ` n.pettik
2018-09-06 19:54         ` Vladislav Shpilevoy
2018-09-16 19:04           ` n.pettik
2018-08-23 22:55   ` [tarantool-patches] [PATCH 7/7] sql: finish DD integration Nikita Pettik
2018-08-29  0:58     ` [tarantool-patches] " Vladislav Shpilevoy
2018-09-20 14:45       ` Kirill Yukhin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b449ef840392ee36d16eacfa184bd81052708cda.1535064700.git.korablev@tarantool.org \
    --to=korablev@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='Re: [tarantool-patches] [PATCH 6/7] sql: don'\''t add system spaces to Table hash' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox