Changeset: ccd9a769881f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ccd9a769881f
Modified Files:
sql/backends/monet5/sql.c
sql/backends/monet5/sql_scenario.c
sql/server/sql_mvc.c
sql/server/sql_mvc.h
sql/storage/bat/bat_storage.c
sql/storage/sql_storage.h
sql/storage/store.c
Branch: insertonly
Log Message:
Change mserver5 flag name for insertonly_nowal feature.
diffs (146 lines):
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -4349,7 +4349,7 @@ SQLinsertonly_persist(Client cntxt, MalB
tables_ids = COLnew(0, TYPE_int, 0, TRANSIENT);
rowcounts = COLnew(0, TYPE_lng, 0, TRANSIENT);
- if (!store->skip_insertonly) /* nothing needed, return empty results */
+ if (!store->insertonly_nowal) /* nothing needed, return empty results */
goto exit2;
if (tables == NULL || tables_ids == NULL || rowcounts == NULL ||
commit_list == NULL || sizes == NULL) {
diff --git a/sql/backends/monet5/sql_scenario.c
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -520,6 +520,7 @@ SQLinit(Client c, const char *initpasswd
char *msg = MAL_SUCCEED, *other = MAL_SUCCEED;
bool readonly = GDKgetenv_isyes("gdk_readonly");
bool single_user = GDKgetenv_isyes("gdk_single_user");
+ bool insertonly_nowal = GDKgetenv_istrue("insertonly_nowal");
static int maybeupgrade = 1;
backend *be = NULL;
mvc *m = NULL;
@@ -556,7 +557,7 @@ SQLinit(Client c, const char *initpasswd
if (readonly)
SQLdebug |= 32;
- if ((SQLstore = mvc_init(SQLdebug, GDKinmemory(0) ? store_mem :
store_bat, readonly, single_user, initpasswd)) == NULL) {
+ if ((SQLstore = mvc_init(SQLdebug, GDKinmemory(0) ? store_mem :
store_bat, readonly, single_user, initpasswd, insertonly_nowal)) == NULL) {
MT_lock_unset(&sql_contextLock);
throw(SQL, "SQLinit", SQLSTATE(42000) "Catalogue initialization
failed");
}
diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -129,7 +129,7 @@ mvc_fix_depend(mvc *m, sql_column *depid
}
sql_store
-mvc_init(int debug, store_type store_tpe, int ro, int su, const char
*initpasswd)
+mvc_init(int debug, store_type store_tpe, int ro, int su, const char
*initpasswd, int insertonly_nowal)
{
sqlstore *store = NULL;
sql_schema *s;
@@ -144,7 +144,7 @@ mvc_init(int debug, store_type store_tpe
return NULL;
}
- if ((store = store_init(debug, store_tpe, ro, su)) == NULL) {
+ if ((store = store_init(debug, store_tpe, ro, su, insertonly_nowal)) ==
NULL) {
keyword_exit();
TRC_CRITICAL(SQL_TRANS, "Unable to create system tables\n");
return NULL;
diff --git a/sql/server/sql_mvc.h b/sql/server/sql_mvc.h
--- a/sql/server/sql_mvc.h
+++ b/sql/server/sql_mvc.h
@@ -165,7 +165,7 @@ typedef struct mvc {
extern sql_table *mvc_init_create_view(mvc *sql, sql_schema *s, const char
*name, const char *query);
/* should return structure */
-extern sql_store mvc_init(int debug, store_type store, int ro, int su, const
char *initpasswd);
+extern sql_store mvc_init(int debug, store_type store, int ro, int su, const
char *initpasswd, int insertonly_nowal);
extern void mvc_exit(sql_store store);
extern void mvc_logmanager(sql_store store);
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -3868,7 +3868,7 @@ log_table_append(sql_trans *tr, sql_tabl
size_t end = segs_end(segs, tr, t);
- if (store->skip_insertonly && t->access == TABLE_APPENDONLY)
+ if (store->insertonly_nowal && t->access == TABLE_APPENDONLY)
return LOG_OK;
if (tr_log_table_start(tr, t) != LOG_OK)
@@ -4072,7 +4072,7 @@ log_update_col( sql_trans *tr, sql_chang
return LOG_OK;
}
- if ((store->skip_insertonly && c->t->access == TABLE_APPENDONLY))
+ if ((store->insertonly_nowal && c->t->access == TABLE_APPENDONLY))
return LOG_OK;
if (!isDeleted(c->t) && !tr->parent) {/* don't write save point commits
*/
@@ -4185,7 +4185,7 @@ log_update_idx( sql_trans *tr, sql_chang
sql_idx *i = (sql_idx*)change->obj;
assert(!isTempTable(i->t));
- if (isDeleted(i->t) || (store->skip_insertonly && i->t->access ==
TABLE_APPENDONLY)) {
+ if (isDeleted(i->t) || (store->insertonly_nowal && i->t->access ==
TABLE_APPENDONLY)) {
change->handled = true;
return LOG_OK;
}
@@ -4243,7 +4243,7 @@ log_update_del( sql_trans *tr, sql_chang
change->handled = true;
return LOG_OK;
}
- if (store->skip_insertonly && t->access == TABLE_APPENDONLY) {
+ if (store->insertonly_nowal && t->access == TABLE_APPENDONLY) {
return LOG_OK;
}
diff --git a/sql/storage/sql_storage.h b/sql/storage/sql_storage.h
--- a/sql/storage/sql_storage.h
+++ b/sql/storage/sql_storage.h
@@ -336,7 +336,7 @@ extern res_table *res_tables_remove(res_
sql_export void res_tables_destroy(res_table *results);
extern res_table *res_tables_find(res_table *results, int res_id);
-extern struct sqlstore *store_init(int debug, store_type store, int readonly,
int singleuser);
+extern struct sqlstore *store_init(int debug, store_type store, int readonly,
int singleuser, int insertonly_nowal);
extern void store_exit(struct sqlstore *store);
extern void store_suspend_log(struct sqlstore *store);
@@ -492,7 +492,7 @@ typedef struct sqlstore {
bool readonly; /* store is readonly */
char singleuser; /* store is for a single user only (==1
enable, ==2 single user session running) */
bool first; /* just created the db */
- bool skip_insertonly;
+ bool insertonly_nowal;
bool initialized; /* used during bootstrap only */
int debug; /* debug mask */
store_type active_type;
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -2143,7 +2143,7 @@ store_load(sqlstore *store, sql_allocato
}
sqlstore *
-store_init(int debug, store_type store_tpe, int readonly, int singleuser)
+store_init(int debug, store_type store_tpe, int readonly, int singleuser, int
insertonly_nowal)
{
sql_allocator *pa;
sqlstore *store = MNEW(sqlstore);
@@ -2166,7 +2166,7 @@ store_init(int debug, store_type store_t
.readonly = readonly,
.singleuser = singleuser,
.debug = debug,
- .skip_insertonly = debug&4,
+ .insertonly_nowal = insertonly_nowal,
.transaction = ATOMIC_VAR_INIT(TRANSACTION_ID_BASE),
.nr_active = ATOMIC_VAR_INIT(0),
.timestamp = ATOMIC_VAR_INIT(0),
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]