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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list