Changeset: 21ed682825b4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=21ed682825b4
Modified Files:
gdk/gdk.h
gdk/gdk_bat.c
gdk/gdk_join.c
gdk/gdk_select.c
monetdb5/mal/mal.h
monetdb5/modules/mal/mdb.c
sql/backends/monet5/sql.c
tools/mserver/mserver5.1.in
tools/mserver/mserver5.c
Branch: viewless
Log Message:
introduce --viewless option
diffs (153 lines):
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -432,6 +432,9 @@
#define FORCEMITOMASK (1<<29)
#define FORCEMITODEBUG if (GDKdebug & FORCEMITOMASK)
+#define VIEWLESSMASK (1<<30)
+#define VIEWLESSDEBUG if (GDKdebug & VIEWLESSMASK)
+
/*
* @- GDK session handling
* @multitable @columnfractions 0.08 0.7
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -1990,6 +1990,9 @@ BATassertProps(BAT *b)
assert(b->batCacheid > 0);
assert(b->batCount >= b->batInserted);
+
+ VIEWLESSDEBUG assert(viewless(b));
+
/* headless */
assert(b->hseqbase <= GDK_oid_max); /* non-nil seqbase */
assert(b->hseqbase + BATcount(b) <= GDK_oid_max);
diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -99,13 +99,6 @@ joinparamcheck(BAT *l, BAT *r1, BAT *r2,
GDKerror("%s: candidate lists must be unique.\n", func);
return GDK_FAIL;
}
- if (!viewless(l) || !viewless(r1) || (r2 && !viewless(r2))) {
- /*
- GDKerror("%s: inputs are views.\n", func);
- assert(0);
- return GDK_FAIL;
- */
- }
return GDK_SUCCEED;
}
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -1211,9 +1211,6 @@ BATselect(BAT *b, BAT *s, const void *tl
BATcheck(b, "BATselect", NULL);
BATcheck(tl, "BATselect: tl value required", NULL);
- if (!viewless(b)) {
- fprintf(stderr, "BATselect: b=%s#(%u) is a view.\n",
BATgetId(b), VIEWtparent(b));
- }
assert(s == NULL || s->ttype == TYPE_oid || s->ttype == TYPE_void);
assert(hi == 0 || hi == 1);
diff --git a/monetdb5/mal/mal.h b/monetdb5/mal/mal.h
--- a/monetdb5/mal/mal.h
+++ b/monetdb5/mal/mal.h
@@ -63,8 +63,8 @@ mal_export int have_hge;
for a documentation of all debug options.
*/
#define GRPthreads (THRDMASK | PARMASK)
-#define GRPmemory (MEMMASK | ALLOCMASK )
-#define GRPproperties (CHECKMASK | PROPMASK | BATMASK )
+#define GRPmemory (MEMMASK | ALLOCMASK)
+#define GRPproperties (CHECKMASK | PROPMASK | BATMASK)
#define GRPio (IOMASK | PERFMASK )
#define GRPheaps (HEAPMASK)
#define GRPtransactions (TMMASK | DELTAMASK | TEMMASK)
@@ -73,6 +73,7 @@ mal_export int have_hge;
#define GRPperformance (DEADBEEFMASK)
#define GRPoptimizers (OPTMASK)
#define GRPforcemito (FORCEMITOMASK | NOSYNCMASK)
+#define GRPviewless (VIEWLESSMASK | CHECKMASK | PROPMASK | BATMASK)
mal_export MT_Lock mal_contextLock;
mal_export MT_Lock mal_remoteLock;
diff --git a/monetdb5/modules/mal/mdb.c b/monetdb5/modules/mal/mdb.c
--- a/monetdb5/modules/mal/mdb.c
+++ b/monetdb5/modules/mal/mdb.c
@@ -211,6 +211,8 @@ MDBsetDebugStr(int *ret, str *flg)
GDKdebug |= GRPperformance;
if( strcmp("forcemito",*flg)==0)
GDKdebug |= GRPforcemito;
+ if( strcmp("viewless",*flg)==0)
+ GDKdebug |= GRPviewless;
return MAL_SUCCEED;
}
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
@@ -515,9 +515,6 @@ mvc_bind(mvc *m, const char *sname, cons
return NULL;
b = store_funcs.bind_col(tr, c, access);
- if (!viewless(b)) {
- fprintf(stderr, "mvc_bind: b=%s#(%u) is a view.\n",
BATgetId(b), VIEWtparent(b));
- }
return b;
}
diff --git a/tools/mserver/mserver5.1.in b/tools/mserver/mserver5.1.in
--- a/tools/mserver/mserver5.1.in
+++ b/tools/mserver/mserver5.1.in
@@ -177,6 +177,8 @@ combination of):
overhead for unnecessarily large plans);
used only for development & testing;
set automatically by Mtest.py
+ 1073741824 = VIEWLESSMASK = check if a newly created BAT is a view
+ (requires that PROPMASK is set)
.EE
Note that
@@ -195,6 +197,7 @@ these debug flags as well:
\-\-performance (DEADBEEFMASK)
\-\-optimizers (OPTMASK)
\-\-forcemito (FORCEMITOMASK | NOSYNCMASK)
+ \-\-viewless (VIEWLESSMASK | CHECKMASK | PROPMASK | BATMASK)
.EE
Default:
diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c
--- a/tools/mserver/mserver5.c
+++ b/tools/mserver/mserver5.c
@@ -116,6 +116,7 @@ usage(char *prog, int xit)
fprintf(stderr, " --optimizers\n");
fprintf(stderr, " --trace\n");
fprintf(stderr, " --forcemito\n");
+ fprintf(stderr, " --viewless\n");
fprintf(stderr, " --debug=<bitmask>\n");
exit(xit);
@@ -265,6 +266,7 @@ main(int argc, char **av)
{ "optimizers", 0, 0, 0 },
{ "performance", 0, 0, 0 },
{ "forcemito", 0, 0, 0 },
+ { "viewless", 0, 0, 0 },
{ "heaps", 0, 0, 0 },
{ 0, 0, 0, 0 }
};
@@ -368,6 +370,10 @@ main(int argc, char **av)
grpdebug |= GRPforcemito;
break;
}
+ if (strcmp(long_options[option_index].name, "viewless")
== 0) {
+ grpdebug |= GRPviewless;
+ break;
+ }
if (strcmp(long_options[option_index].name,
"performance") == 0) {
grpdebug |= GRPperformance;
break;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list