Changeset: d6a7786c61f0 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d6a7786c61f0
Modified Files:
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_optimizer.c
Branch: default
Log Message:
property management
- drop runonce
- drop fileprop
- add a few names for later
diffs (272 lines):
diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c
--- a/monetdb5/optimizer/opt_prelude.c
+++ b/monetdb5/optimizer/opt_prelude.c
@@ -30,11 +30,11 @@ str arrayRef;
str basketRef;
str batcalcRef;
str batRef;
-str boxRef;
str batstrRef;
str batmtimeRef;
str batmmathRef;
str batxmlRef;
+str batsqlRef;
str bbpRef;
str tidRef;
str dateRef;
@@ -70,6 +70,7 @@ str defineRef;
str deleteRef;
str depositRef;
str subdiffRef;
+str diffRef;
str subinterRef;
str mergecandRef;
str mergepackRef;
@@ -110,7 +111,6 @@ str subantijoinRef;
str subbandjoinRef;
str subrangejoinRef;
str subthetajoinRef;
-str kdifferenceRef;
str languageRef;
str leftfetchjoinRef;
str leftfetchjoinPathRef;
@@ -176,6 +176,8 @@ str putRef;
str querylogRef;
str queryRef;
str rapiRef;
+str rankRef;
+str dense_rankRef;
str reconnectRef;
str recycleRef;
str refineRef;
@@ -186,6 +188,7 @@ str replaceRef;
str replicatorRef;
str resultSetRef;
str reuseRef;
+str row_numberRef;
str rpcRef;
str rsColumnRef;
str schedulerRef;
@@ -229,15 +232,9 @@ int sqlfunctionProp;
int inlineProp;
int rowsProp;
-int fileProp;
-int runonceProp;
int unsafeProp;
int orderDependendProp;
-int hlbProp;
-int hubProp;
-int tlbProp;
-int tubProp;
int horiginProp; /* original oid source */
int toriginProp; /* original oid source */
int mtProp;
@@ -259,11 +256,11 @@ void optimizerInit(void)
arrayRef = putName("array",4);
batcalcRef = putName("batcalc",7);
basketRef = putName("basket",6);
- boxRef = putName("box",3);
batstrRef = putName("batstr",6);
batmtimeRef = putName("batmtime",8);
batmmathRef = putName("batmmath",8);
batxmlRef = putName("batxml",6);
+ batsqlRef = putName("batsql",6);
bbpRef = putName("bbp",3);
tidRef = putName("tid",3);
deltaRef = putName("delta",5);
@@ -299,6 +296,7 @@ void optimizerInit(void)
deleteRef = putName("delete",6);
depositRef = putName("deposit",7);
subdiffRef = putName("subdiff",7);
+ diffRef = putName("diff",4);
subinterRef = putName("subinter",8);
mergecandRef= putName("mergecand",9);
mergepackRef= putName("mergepack",9);
@@ -339,7 +337,6 @@ void optimizerInit(void)
subrangejoinRef = putName("subrangejoin",12);
subthetajoinRef = putName("subthetajoin",12);
jsonRef = putName("json",4);
- kdifferenceRef= putName("kdifference",11);
languageRef= putName("language",8);
leftfetchjoinRef = putName("leftfetchjoin",13);
leftfetchjoinPathRef = putName("leftfetchjoinPath",17);
@@ -402,6 +399,8 @@ void optimizerInit(void)
querylogRef = putName("querylog",8);
queryRef = putName("query",5);
rapiRef = putName("batrapi", 7);
+ rankRef = putName("rank", 4);
+ dense_rankRef = putName("dense_rank", 10);
reconnectRef = putName("reconnect",9);
recycleRef = putName("recycle",7);
refineRef = putName("refine",6);
@@ -412,6 +411,7 @@ void optimizerInit(void)
replicatorRef = putName("replicator",10);
resultSetRef = putName("resultSet",9);
reuseRef = putName("reuse",5);
+ row_numberRef = putName("row_number",10);
rpcRef = putName("rpc",3);
rsColumnRef = putName("rsColumn",8);
schedulerRef = putName("scheduler",9);
@@ -454,10 +454,8 @@ void optimizerInit(void)
zero_or_oneRef = putName("zero_or_one",11);
userRef = putName("user",4);
- fileProp = PropertyIndex("file");
inlineProp = PropertyIndex("inline");
rowsProp = PropertyIndex("rows");
- runonceProp = PropertyIndex("runonce");
unsafeProp = PropertyIndex("unsafe");
orderDependendProp = PropertyIndex("orderdependend");
sqlfunctionProp = PropertyIndex("sqlfunction");
diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h
--- a/monetdb5/optimizer/opt_prelude.h
+++ b/monetdb5/optimizer/opt_prelude.h
@@ -28,11 +28,11 @@ opt_export str arrayRef;
opt_export str basketRef;
opt_export str batcalcRef;
opt_export str batRef;
-opt_export str boxRef;
opt_export str batstrRef;
opt_export str batmtimeRef;
opt_export str batmmathRef;
opt_export str batxmlRef;
+opt_export str batsqlRef;
opt_export str bbpRef;
opt_export str tidRef;
opt_export str dateRef;
@@ -68,6 +68,7 @@ opt_export str defineRef;
opt_export str deleteRef;
opt_export str depositRef;
opt_export str subdiffRef;
+opt_export str diffRef;
opt_export str subinterRef;
opt_export str mergecandRef;
opt_export str mergepackRef;
@@ -108,7 +109,6 @@ opt_export str subantijoinRef;
opt_export str subbandjoinRef;
opt_export str subrangejoinRef;
opt_export str subthetajoinRef;
-opt_export str kdifferenceRef;
opt_export str languageRef;
opt_export str leftfetchjoinRef;
opt_export str leftfetchjoinPathRef;
@@ -169,6 +169,8 @@ opt_export str putRef;
opt_export str querylogRef;
opt_export str queryRef;
opt_export str rapiRef;
+opt_export str rankRef;
+opt_export str dense_rankRef;
opt_export str reconnectRef;
opt_export str recycleRef;
opt_export str refineRef;
@@ -179,6 +181,7 @@ opt_export str replaceRef;
opt_export str replicatorRef;
opt_export str resultSetRef;
opt_export str reuseRef;
+opt_export str row_numberRef;
opt_export str rpcRef;
opt_export str rsColumnRef;
opt_export str schedulerRef;
@@ -229,8 +232,6 @@ opt_export int sqlfunctionProp;
opt_export int inlineProp; /* binary */
opt_export int rowsProp; /* long */
-opt_export int fileProp; /* str */
-opt_export int runonceProp; /* binary */
opt_export int unsafeProp; /* binary */
opt_export int orderDependendProp; /* binary */
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
@@ -351,8 +351,6 @@ SQLengineIntern(Client c, backend *be)
MalStkPtr oldglb = c->glb;
char oldlang = be->language;
mvc *m = be->mvc;
- InstrPtr p;
- MalBlkPtr mb;
if (oldlang == 'X') { /* return directly from X-commands */
sqlcleanup(be->mvc, 0);
@@ -439,17 +437,9 @@ cleanup_engine:
m->session->status = -10;
}
- mb = c->curprg->def;
if (m->type != Q_SCHEMA && be->q && msg) {
qc_delete(m->qc, be->q);
- } else if (m->type != Q_SCHEMA && be->q && mb && varGetProp(mb,
getArg(p = getInstrPtr(mb, 0), 0), runonceProp)) {
- msg = SQLCacheRemove(c, getFunctionId(p));
- qc_delete(be->mvc->qc, be->q);
- ///* this should invalidate any match */
- //be->q->key= -1;
- //be->q->paramlen = -1;
- ///* qc_delete(be->q) */
- }
+ }
be->q = NULL;
sqlcleanup(be->mvc, (!msg) ? 0 : -1);
MSresetInstructions(c->curprg->def, 1);
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
@@ -51,36 +51,7 @@
* common term optimizer, because the first bind has a side-effect.
*/
-static int
-BATlocation(str *fnme, int *bid)
-{
- /* this function was formerly ATTlocation in removed file
- * monetdb5/modules/mal/attach.c */
- BAT *b = BBPquickdesc(*bid, FALSE);
- char path[BUFSIZ], *s;
-
- *fnme = NULL;
- if (b == NULL || (!b->T->heap.filename && !b->H->heap.filename))
- return 0;
-
- s = GDKfilepath(b->T->heap.farmid, BATDIR,
- (b->T->heap.filename ? b->T->heap.filename :
b->H->heap.filename), 0);
- if (!MT_path_absolute(s)) {
- snprintf(path, BUFSIZ, "%s%c%s", GDKgetenv("gdk_dbpath"),
- DIR_SEP, s);
- } else {
- snprintf(path, sizeof(path), "%s", s);
- }
- GDKfree(s);
- s = strrchr(path, '.');
- if (s)
- *s = 0;
- *fnme = GDKstrdup(path);
- return 1;
-}
-
-static void
-SQLgetStatistics(Client cntxt, mvc *m, MalBlkPtr mb)
+static void SQLgetStatistics(Client cntxt, mvc *m, MalBlkPtr mb)
{
InstrPtr *old = NULL;
int oldtop, i, actions = 0, size = 0;
@@ -147,9 +118,6 @@ SQLgetStatistics(Client cntxt, mvc *m, M
assert(cnt <= (size_t) GDK_oid_max);
b =
store_funcs.bind_idx(m->session->tr, i, RDONLY);
if (b) {
- str loc;
- if (b->batPersistence ==
PERSISTENT && BATlocation(&loc, &b->batCacheid) && loc)
- varSetProp(mb, k,
fileProp, op_eq, VALset(&vr, TYPE_str, loc));
cnt = BATcount(b);
BBPunfix(b->batCacheid);
}
@@ -167,9 +135,6 @@ SQLgetStatistics(Client cntxt, mvc *m, M
assert(cnt <= (size_t) GDK_oid_max);
b =
store_funcs.bind_col(m->session->tr, c, RDONLY);
if (b) {
- str loc;
- if (b->batPersistence ==
PERSISTENT && BATlocation(&loc, &b->batCacheid) && loc)
- varSetProp(mb, k,
fileProp, op_eq, VALset(&vr, TYPE_str, loc));
cnt = BATcount(b);
BBPunfix(b->batCacheid);
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list