Changeset: 223d3de9b705 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=223d3de9b705
Added Files:
sql/scripts/81_tracer.sql
Modified Files:
gdk/gdk_utils.h
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_optimizer.c
sql/backends/monet5/sql_orderidx.c
sql/backends/monet5/sql_orderidx.h
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_scenario.h
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_statistics.c
sql/backends/monet5/sql_statistics.h
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/sql_user.c
sql/backends/monet5/vaults/bam/bam_db_interface.h
sql/backends/monet5/vaults/bam/bam_globals.h
sql/backends/monet5/vaults/bam/bam_loader.c
sql/backends/monet5/vaults/bam/bam_wrapper.c
sql/backends/monet5/vaults/fits/fits.c
sql/backends/monet5/vaults/lidar/lidar.c
sql/backends/monet5/vaults/shp/shp.c
sql/backends/monet5/wlr.c
sql/common/sql_types.c
sql/common/sql_types.h
sql/scripts/Makefile.ag
sql/server/rel_partition.c
sql/server/sql_atom.c
sql/server/sql_mvc.c
sql/server/sql_privileges.c
sql/server/sql_symbol.c
sql/storage/bat/bat_table.c
sql/storage/store.c
Branch: gdk_tracer
Log Message:
Added GDKtracer to SQL layer
diffs (truncated from 3579 to 300 lines):
diff --git a/gdk/gdk_utils.h b/gdk/gdk_utils.h
--- a/gdk/gdk_utils.h
+++ b/gdk/gdk_utils.h
@@ -19,6 +19,8 @@ gdk_export bool GDKgetenv_istrue(const c
gdk_export int GDKgetenv_int(const char *name, int def);
+gdk_export void GDKtracerinfo(void);
+
gdk_export gdk_return GDKsetenv(const char *name, const char *value);
gdk_export gdk_return GDKcopyenv(BAT **key, BAT **val, bool writable);
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -19,6 +19,7 @@
#include "rel_optimizer.h"
#include "sql_env.h"
#include "sql_optimizer.h"
+#include "gdk_tracer.h"
#define OUTER_ZERO 64
@@ -98,7 +99,7 @@ print_stmtlist(sql_allocator *sa, stmt *
const char *rnme = table_name(sa, n->data);
const char *nme = column_name(sa, n->data);
- fprintf(stderr, "%s.%s\n", rnme ? rnme : "(null!)", nme
? nme : "(null!)");
+ INFO(SQL_RELATION, "%s.%s\n", rnme ? rnme : "(null!)",
nme ? nme : "(null!)");
}
}
}
@@ -554,7 +555,7 @@ exp_bin(backend *be, sql_exp *e, stmt *l
} else if (e->flag & PSM_REL) {
sql_rel *rel = e->l;
stmt *r = rel_bin(be, rel);
-
+
if (!r)
return NULL;
if (is_modify(rel->op) || is_ddl(rel->op))
@@ -740,16 +741,16 @@ exp_bin(backend *be, sql_exp *e, stmt *l
if (s && grp)
s = stmt_project(be, ext, s);
if (!s && right) {
- fprintf(stderr, "could not find %s.%s\n", (char*)e->l,
(char*)e->r);
+ CRITICAL(SQL_RELATION, "Could not find %s.%s\n",
(char*)e->l, (char*)e->r);
print_stmtlist(sql->sa, left);
print_stmtlist(sql->sa, right);
if (!s) {
- fprintf(stderr, "query: '%s'\n", sql->query);
+ ERROR(SQL_RELATION, "Query: '%s'\n",
sql->query);
}
assert(s);
return NULL;
}
- } break;
+ } break;
case e_cmp: {
stmt *l = NULL, *r = NULL, *r2 = NULL;
int swapped = 0, is_select = 0;
@@ -917,7 +918,7 @@ exp_bin(backend *be, sql_exp *e, stmt *l
if (!l || !r || (re2 && !r2)) {
//assert(0);
- fprintf(stderr, "query: '%s'\n", sql->query);
+ ERROR(SQL_RELATION, "Query: '%s'\n", sql->query);
return NULL;
}
@@ -1397,7 +1398,7 @@ rel2bin_basetable(backend *be, sql_rel *
if (!t && c)
t = c->t;
- dels = stmt_tid(be, t, rel->flag == REL_PARTITION);
+ dels = stmt_tid(be, t, rel->flag == REL_PARTITION);
/* add aliases */
assert(rel->exps);
@@ -1413,7 +1414,7 @@ rel2bin_basetable(backend *be, sql_rel *
const char *cname = cexp->r;
list *l = sa_list(sql->sa);
- c = find_sql_column(t, cname);
+ c = find_sql_column(t, cname);
s = stmt_col(be, c, dels);
append(l, s);
if (exps->h->next) {
@@ -1960,7 +1961,7 @@ rel2bin_join(backend *be, sql_rel *rel,
}
rel->exps = jexps;
}
-
+
/* generate a relational join */
if (join)
en = rel->exps->h;
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
@@ -41,6 +41,7 @@
#include "mal_resource.h"
#include "mal_authorize.h"
#include "gdk_cand.h"
+#include "gdk_tracer.h"
static int
rel_is_table(sql_rel *rel)
@@ -266,8 +267,8 @@ SQLshutdown_wrap(Client cntxt, MalBlkPtr
str msg;
if ((msg = CLTshutdown(cntxt, mb, stk, pci)) == MAL_SUCCEED) {
- /* administer the shutdown in the system log*/
- fprintf(stderr, "#Shutdown:%s\n", *getArgReference_str(stk,
pci, 0));
+ /* administer the shutdown in the system log */
+ INFO(SQL_MVC, "Shutdown: %s\n", *getArgReference_str(stk, pci,
0));
}
return msg;
}
diff --git a/sql/backends/monet5/sql_execute.c
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -38,6 +38,7 @@
#include "mtime.h"
#include "optimizer.h"
#include "opt_inline.h"
+#include "gdk_tracer.h"
#include <unistd.h>
/*
@@ -728,10 +729,8 @@ SQLengineIntern(Client c, backend *be)
return MAL_SUCCEED;
}
-#ifdef SQL_SCENARIO_DEBUG
- fprintf(stderr, "#Ready to execute SQL statement\n");
-#endif
-
+ DEBUG(SQL_SCENARIO, "Ready to execute SQL statement\n");
+
if (c->curprg->def->stop == 1) {
if (mvc_status(m)) {
if (*m->errstr){
diff --git a/sql/backends/monet5/sql_optimizer.c
b/sql/backends/monet5/sql_optimizer.c
--- a/sql/backends/monet5/sql_optimizer.c
+++ b/sql/backends/monet5/sql_optimizer.c
@@ -21,6 +21,7 @@
#include "sql_scenario.h"
#include "sql_gencode.h"
#include "opt_pipes.h"
+#include "gdk_tracer.h"
/* calculate the footprint for optimizer pipe line choices
* and identify empty columns upfront for just in time optimizers.
@@ -108,7 +109,7 @@ SQLgetSpace(mvc *m, MalBlkPtr mb, int pr
space += size; // accumulate once per table
//lasttable = tname; invalidate this attempt
if( !prepare && size == 0 && ! t->system){
- //fprintf(stderr,"found empty column
%s.%s.%s prepare %d size "LLFMT"\n",sname,tname,cname,prepare,size);
+ DEBUG(SQL_OPTIMIZER, "Found empty
column %s.%s.%s prepare %d size "LLFMT"\n", sname, tname, cname, prepare, size);
setFunctionId(p, emptybindRef);
}
}
@@ -135,7 +136,9 @@ SQLgetSpace(mvc *m, MalBlkPtr mb, int pr
if( !prepare && size == 0 && !
i->t->system){
setFunctionId(p,
emptybindidxRef);
- //fprintf(stderr,"found
empty column %s.%s.%s prepare %d size
"LLFMT"\n",sname,tname,idxname,prepare,size);
+ /* CHECK */
+ // tname does not exist
+ // DEBUG(SQL_OPTIMIZER,
"Found empty column %s.%s.%s prepare %d size "LLFMT"\n", sname, tname, idxname,
prepare, size);
}
BBPunfix(b->batCacheid);
}
@@ -178,7 +181,7 @@ addOptimizers(Client c, MalBlkPtr mb, ch
if(space && (pipe == NULL || strcmp(pipe,"default_pipe")== 0)){
if( space > (lng)(0.8 * MT_npages() * MT_pagesize()) &&
GDKnr_threads > 1){
pipe = "volcano_pipe";
- //fprintf(stderr, "#use volcano optimizer pipeline?
%zu\n", space);
+ DEBUG(SQL_OPTIMIZER, "Use volcano optimizer pipeline?
Space: %zu\n", space);
}else
pipe = "default_pipe";
} else
diff --git a/sql/backends/monet5/sql_orderidx.c
b/sql/backends/monet5/sql_orderidx.c
--- a/sql/backends/monet5/sql_orderidx.c
+++ b/sql/backends/monet5/sql_orderidx.c
@@ -20,6 +20,7 @@
#include "sql_orderidx.h"
#include "orderidx.h"
#include "sql_scenario.h"
+#include "gdk_tracer.h"
str
sql_createorderindex(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
@@ -39,9 +40,8 @@ sql_createorderindex(Client cntxt, MalBl
tbl = *getArgReference_str(stk, pci, 2);
col = *getArgReference_str(stk, pci, 3);
-#ifdef DEBUG_SQL_ORDERIDX
- fprintf(stderr, "#orderindex layout %s.%s.%s \n", sch, tbl, col);
-#endif
+ DEBUG(SQL_ORDERIDX, "Layout %s.%s.%s\n", sch, tbl, col);
+
s = mvc_bind_schema(m, sch);
if (s == NULL)
throw(SQL, "sql.createorderindex", SQLSTATE(42000) "Unknown
schema %s", sch);
@@ -80,9 +80,8 @@ sql_droporderindex(Client cntxt, MalBlkP
tbl = *getArgReference_str(stk, pci, 2);
col = *getArgReference_str(stk, pci, 3);
-#ifdef DEBUG_SQL_ORDERIDX
- fprintf(stderr, "#orderindex layout %s.%s.%s \n", sch, tbl, col);
-#endif
+ DEBUG(SQL_ORDERIDX, "Layout %s.%s.%s\n", sch, tbl, col);
+
s = mvc_bind_schema(m, sch);
if (s == NULL)
throw(SQL, "sql.droporderindex", SQLSTATE(3FOOO) "Unknown
schema %s", sch);
diff --git a/sql/backends/monet5/sql_orderidx.h
b/sql/backends/monet5/sql_orderidx.h
--- a/sql/backends/monet5/sql_orderidx.h
+++ b/sql/backends/monet5/sql_orderidx.h
@@ -10,8 +10,6 @@
#ifndef _SQL_ORDERIDX_DEF
#define _SQL_ORDERIDX_DEF
-/* #define DEBUG_SQL_ORDERIDX */
-
#include "sql.h"
#ifdef WIN32
diff --git a/sql/backends/monet5/sql_result.c b/sql/backends/monet5/sql_result.c
--- a/sql/backends/monet5/sql_result.c
+++ b/sql/backends/monet5/sql_result.c
@@ -18,6 +18,7 @@
#include "bat/res_table.h"
#include "bat/bat_storage.h"
#include "rel_exp.h"
+#include "gdk_tracer.h"
#ifndef HAVE_LLABS
#define llabs(x) ((x) < 0 ? -(x) : (x))
@@ -1730,7 +1731,7 @@ mvc_export_table_prot10(backend *b, stre
assert(buf >= bs2_buffer(s).buf);
if (buf - bs2_buffer(s).buf > (lng) bsize) {
- fprintf(stderr, "Too many bytes in the buffer.\n");
+ ERROR(SQL_RESULT, "Too many bytes in the buffer\b");
fres = -1;
goto cleanup;
}
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
@@ -45,6 +45,7 @@
#include "opt_mitosis.h"
#include <unistd.h>
#include "sql_upgrades.h"
+#include "gdk_tracer.h"
static int SQLinitialized = 0;
static int SQLnewcatalog = 0;
@@ -60,9 +61,8 @@ monet5_freestack(int clientid, backend_s
(void) clientid;
if (p != NULL)
freeStack(p);
-#ifdef _SQL_SCENARIO_DEBUG
- fprintf(stderr, "#monet5_freestack\n");
-#endif
+
+ DEBUG(SQL_SCENARIO, "Enter monet5_freestack\n");
}
static void
@@ -78,9 +78,7 @@ monet5_freecode(int clientid, backend_co
if (msg)
freeException(msg); /* do something with error? */
-#ifdef _SQL_SCENARIO_DEBUG
- fprintf(stderr, "#monet5_free:%d\n", nr);
-#endif
+ DEBUG(SQL_SCENARIO, "Enter monet5_free: %d\n", nr);
}
static str SQLinit(Client c);
@@ -143,10 +141,10 @@ SQLprelude(Client cntxt, MalBlkPtr mb, M
tmp = SQLinit(cntxt);
if (tmp != MAL_SUCCEED) {
- fprintf(stderr, "Fatal error during initialization:\n%s\n",
tmp);
+ CRITICAL(SQL_SCENARIO, "Fatal error during initialization:
%s\n", tmp);
freeException(tmp);
if ((tmp = GDKerrbuf) && *tmp)
- fprintf(stderr, SQLSTATE(42000) "GDK reported: %s\n",
tmp);
+ CRITICAL(SQL_SCENARIO, SQLSTATE(42000) "GDK reported:
%s\n", tmp);
fflush(stderr);
exit(1);
}
@@ -180,9 +178,8 @@ SQLprelude(Client cntxt, MalBlkPtr mb, M
str
SQLexit(Client c)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list