Changeset: 4c0c88bc6b64 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4c0c88bc6b64 Modified Files: gdk/gdk_tracer.h sql/common/sql_types.c sql/common/sql_types.h sql/server/sql_mvc.c sql/storage/sql_storage.h sql/storage/store.c Branch: tracer Log Message:
Added tracer -> store.c diffs (truncated from 540 to 300 lines): diff --git a/gdk/gdk_tracer.h b/gdk/gdk_tracer.h --- a/gdk/gdk_tracer.h +++ b/gdk/gdk_tracer.h @@ -40,6 +40,8 @@ typedef enum { SQL_READER, SQL_SYMBOL, SQL_MVC, + SQL_STORE, + SQL_STORE_FLUSHER, // MAL MAL_ALL, diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c --- a/sql/common/sql_types.c +++ b/sql/common/sql_types.c @@ -2186,9 +2186,8 @@ sqltypeinit( sql_allocator *sa) } void -types_init(sql_allocator *sa, int debug) +types_init(sql_allocator *sa) { - (void)debug; aliases = sa_list(sa); types = sa_list(sa); localtypes = sa_list(sa); diff --git a/sql/common/sql_types.h b/sql/common/sql_types.h --- a/sql/common/sql_types.h +++ b/sql/common/sql_types.h @@ -72,6 +72,6 @@ extern char *sql_func_imp(sql_func *f); extern char *sql_func_mod(sql_func *f); extern int is_sqlfunc(sql_func *f); -extern void types_init(sql_allocator *sa, int debug); +extern void types_init(sql_allocator *sa); #endif /* SQL_TYPES_H */ 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 @@ -117,7 +117,7 @@ mvc_init(int debug, store_type store, in return -1; } - if ((first = store_init(debug, store, ro, su, stk)) < 0) { + if ((first = store_init(store, ro, su, stk)) < 0) { fprintf(stderr, "!mvc_init: unable to create system tables\n"); return -1; } 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 @@ -367,7 +367,7 @@ extern res_table *res_tables_remove(res_ extern void res_tables_destroy(res_table *results); extern res_table *res_tables_find(res_table *results, int res_id); -extern int store_init(int debug, store_type store, int readonly, int singleuser, backend_stack stk); +extern int store_init(store_type store, int readonly, int singleuser, backend_stack stk); extern void store_exit(void); extern int store_apply_deltas(bool locked); diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -16,6 +16,7 @@ #include "bat/bat_storage.h" #include "bat/bat_table.h" #include "bat/bat_logger.h" +#include "gdk_tracer.h" /* version 05.22.03 of catalog */ #define CATALOG_VERSION 52203 @@ -44,8 +45,6 @@ logger_functions logger_funcs; static int schema_number = 0; /* each committed schema change triggers a new schema number (session wise unique number) */ -static int bs_debug = 0; -static int logger_debug = 0; #define MAX_SPARES 32 static sql_trans *spare_trans[MAX_SPARES]; @@ -209,26 +208,15 @@ trans_drop_tmp(sql_trans *tr) } } -/*#define STORE_DEBUG 1*/ -/*#define STORE_FLUSHER_DEBUG 1 */ - -#ifdef STORE_DEBUG -#define STORE_FLUSHER_DEBUG 1 -#endif - sql_trans * sql_trans_destroy(sql_trans *t, bool try_spare) { sql_trans *res = t->parent; -#ifdef STORE_DEBUG - fprintf(stderr, "#destroy trans (%p)\n", t); -#endif + DEBUG(SQL_STORE, "Destroy transaction: %p\n", t); if (res == gtrans && spares < MAX_SPARES && !t->name && try_spare) { -#ifdef STORE_DEBUG - fprintf(stderr, "#spared (%d) trans (%p)\n", spares, t); -#endif + DEBUG(SQL_STORE, "Spared '%d' transactions '%p'\n", spares, t); trans_drop_tmp(t); spare_trans[spares++] = t; return res; @@ -546,7 +534,7 @@ load_column(sql_trans *tr, sql_table *t, if (!sql_find_subtype(&c->type, tpe, sz, d)) { sql_type *lt = sql_trans_bind_type(tr, t->s, tpe); if (lt == NULL) { - fprintf(stderr, "SQL type %s missing\n", tpe); + ERROR(SQL_ALL, "SQL type '%s' is missing\n", tpe); _DELETE(tpe); return NULL; } @@ -573,8 +561,7 @@ load_column(sql_trans *tr, sql_table *t, store_funcs.create_col(tr, c); c->sorted = sql_trans_is_sorted(tr, c); c->dcount = 0; - if (bs_debug) - fprintf(stderr, "#\t\tload column %s\n", c->base.name); + DEBUG(SQL_STORE, "Load column: %s\n", c->base.name); return c; } @@ -763,14 +750,12 @@ load_table(sql_trans *tr, sql_schema *s, if (isTable(t)) { if (store_funcs.create_del(tr, t) != LOG_OK) { - if (bs_debug) - fprintf(stderr, "#\tload table %s missing 'deletes'", t->base.name); + DEBUG(SQL_STORE, "Load table '%s' is missing 'deletes'", t->base.name); t->persistence = SQL_GLOBAL_TEMP; } } - if (bs_debug) - fprintf(stderr, "#\tload table %s\n", t->base.name); + DEBUG(SQL_STORE, "Load table: %s\n", t->base.name); partitions_table_id = find_sql_column(partitions, "table_id"); rs = table_funcs.rids_select(tr, partitions_table_id, &t->base.id, &t->base.id, NULL); @@ -918,7 +903,7 @@ load_arg(sql_trans *tr, sql_func * f, oi if (!sql_find_subtype(&a->type, tpe, digits, scale)) { sql_type *lt = sql_trans_bind_type(tr, f->s, tpe); if (lt == NULL) { - fprintf(stderr, "SQL type %s missing\n", tpe); + ERROR(SQL_ALL, "SQL type '%s' is missing\n", tpe); _DELETE(tpe); return NULL; } @@ -968,8 +953,7 @@ load_func(sql_trans *tr, sql_schema *s, t->imp = NULL; } - if (bs_debug) - fprintf(stderr, "#\tload func %s\n", t->base.name); + DEBUG(SQL_STORE, "Load function: %s\n", t->base.name); t->ops = list_new(tr->sa, (fdestroy)NULL); if (rs) { @@ -1081,8 +1065,7 @@ sql_trans_update_schema(sql_trans *tr, o if (s==NULL) return ; - if (bs_debug) - fprintf(stderr, "#update schema %s %d\n", s->base.name, s->base.id); + DEBUG(SQL_STORE, "Update schema: %s %d\n", s->base.name, s->base.id); v = table_funcs.column_find_value(tr, find_sql_column(ss, "name"), rid); base_init(tr->sa, &s->base, sid, 0, v); _DELETE(v); @@ -1149,8 +1132,7 @@ load_schema(sql_trans *tr, sqlid id, oid cs_new(&s->seqs, tr->sa, (fdestroy) NULL); } - if (bs_debug) - fprintf(stderr, "#load schema %s %d\n", s->base.name, s->base.id); + DEBUG(SQL_STORE, "Load schema: %s %d\n", s->base.name, s->base.id); sqlid tmpid = store_oids ? FUNC_OIDS : id; @@ -1271,8 +1253,7 @@ sql_trans_update_schemas(sql_trans* tr) rids *schemas = table_funcs.rids_select(tr, sysschema_ids, NULL, NULL); oid rid; - if (bs_debug) - fprintf(stderr, "#update schemas\n"); + DEBUG(SQL_STORE, "Update schemas\n"); for(rid = table_funcs.rids_next(schemas); !is_oid_nil(rid); rid = table_funcs.rids_next(schemas)) { sql_trans_update_schema(tr, rid); @@ -1290,8 +1271,7 @@ load_trans(sql_trans* tr, sqlid id) oid rid; node *n; - if (bs_debug) - fprintf(stderr, "#load trans\n"); + DEBUG(SQL_STORE, "Load transaction\n"); for(rid = table_funcs.rids_next(schemas); !is_oid_nil(rid); rid = table_funcs.rids_next(schemas)) { sql_schema *ns = load_schema(tr, id, rid); @@ -1516,8 +1496,7 @@ bootstrap_create_column(sql_trans *tr, s { sql_column *col = SA_ZNEW(tr->sa, sql_column); - if (bs_debug) - fprintf(stderr, "#bootstrap_create_column %s\n", name ); + DEBUG(SQL_STORE, "Create column: %s\n", name); if (store_oids) { sqlid *idp = logger_funcs.log_find_table_value("sys__columns_id", "sys__columns_name", name, "sys__columns_table_id", &t->base.id, NULL, NULL); @@ -1692,8 +1671,7 @@ bootstrap_create_table(sql_trans *tr, sq } t->bootstrap = 1; - if (bs_debug) - fprintf(stderr, "#bootstrap_create_table %s\n", name ); + DEBUG(SQL_STORE, "Create table: %s\n", name); t->base.flags = s->base.flags; t->query = NULL; @@ -1712,8 +1690,7 @@ bootstrap_create_schema(sql_trans *tr, c { sql_schema *s = SA_ZNEW(tr->sa, sql_schema); - if (bs_debug) - fprintf(stderr, "#bootstrap_create_schema %s %d %d\n", name, auth_id, owner); + DEBUG(SQL_STORE, "Create schema: %s %d %d\n", name, auth_id, owner); if (store_oids) { sqlid *idp = logger_funcs.log_find_table_value("sys_schemas_id", "sys_schemas_name", name, NULL, NULL); @@ -1768,7 +1745,7 @@ store_load(void) { first = logger_funcs.log_isnew(); - types_init(sa, logger_debug); + types_init(sa); // TODO: Niels: Are we fine running this twice? @@ -1790,12 +1767,12 @@ store_load(void) { return -1; tr = sql_trans_create(backend_stk, NULL, NULL, true); if (!tr) { - fprintf(stderr, "Failure to start a transaction while loading the storage\n"); + CRITICAL(SQL_ALL, "Failed to start a transaction while loading the storage\n"); return -1; } } else { if (!(store_oids = GDKzalloc(300 * sizeof(sqlid)))) { /* 150 suffices */ - fprintf(stderr, "Allocation failure while loading the storage\n"); + CRITICAL(SQL_ALL, "Allocation failure while loading the storage\n"); return -1; } } @@ -1955,7 +1932,7 @@ store_load(void) { insert_schemas(tr); if (sql_trans_commit(tr) != SQL_OK) { - fprintf(stderr, "cannot commit initial transaction\n"); + CRITICAL(SQL_ALL, "Cannot commit initial transaction\n"); } sql_trans_destroy(tr, true); } else { @@ -1982,18 +1959,16 @@ store_load(void) { nstore_oids = 0; if (logger_funcs.log_needs_update()) if (store_upgrade_ids(gtrans) != SQL_OK) - fprintf(stderr, "cannot commit upgrade transaction\n"); + CRITICAL(SQL_ALL, "Cannot commit upgrade transaction\n"); return first; } int -store_init(int debug, store_type store, int readonly, int singleuser, backend_stack stk) +store_init(store_type store, int readonly, int singleuser, backend_stack stk) { int v = 1; backend_stk = stk; - logger_debug = debug; - bs_debug = debug&2; store_readonly = readonly; store_singleuser = singleuser; @@ -2144,15 +2119,13 @@ flusher_should_run(void) bool do_it = (reason_to && !reason_not_to); -#ifdef STORE_FLUSHER_DEBUG if (reason_to != flusher.reason_to || reason_not_to != flusher.reason_not_to) { - fprintf(stderr, "#store flusher %s, reason to flush: %s, reason not to: %s\n", + DEBUG(SQL_STORE_FLUSHER, "Store flusher: %s, reason to flush: %s, reason not to: %s\n", do_it ? "flushing" : "not flushing", reason_to ? reason_to : "none", - reason_not_to ? reason_not_to : "none" _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list