MonetDB: default - atom2string(): for printing OIDs, we use OIDF...
Changeset: 356358e824b4 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=356358e824b4 Modified Files: sql/server/sql_atom.c Branch: default Log Message: atom2string(): for printing OIDs, we use OIDFMT, not SSZFMT (found by gcc & icc on 64-bit systems using 32-bit OIDs) diffs (12 lines): diff --git a/sql/server/sql_atom.c b/sql/server/sql_atom.c --- a/sql/server/sql_atom.c +++ b/sql/server/sql_atom.c @@ -278,7 +278,7 @@ atom2string(sql_allocator *sa, atom *a) sprintf(buf, SSZFMT, a->data.val.wval); break; case TYPE_oid: - sprintf(buf, SSZFMT "@0", a->data.val.oval); + sprintf(buf, OIDFMT "@0", a->data.val.oval); break; case TYPE_int: sprintf(buf, "%d", a->data.val.ival); ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Minor typo
Changeset: 8866103eb64d for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8866103eb64d Modified Files: monetdb5/mal/mal_runtime.c Branch: default Log Message: Minor typo diffs (19 lines): diff --git a/monetdb5/mal/mal_runtime.c b/monetdb5/mal/mal_runtime.c --- a/monetdb5/mal/mal_runtime.c +++ b/monetdb5/mal/mal_runtime.c @@ -139,13 +139,12 @@ runtimeProfileBegin(Client cntxt, MalBlk mb->profiler[stkpc].ticks = 0; mb->profiler[stkpc].clock = stk->clock; /* emit the instruction upon start as well */ - if (malProfileMode) - profilerEvent(cntxt->idx, mb, stk, stkpc, start); + profilerEvent(cntxt->idx, mb, stk, stkpc, start); #ifdef HAVE_TIMES times(&stk->timer); mb->profiler[stkpc].timer = stk->timer; #endif - mb->profiler[stkpc].clk = stk->clk; + mb->profiler[stkpc].clk = prof->newclk; MT_lock_unset(&mal_delayLock, "sysmon"); } } ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Squeeze a little more parallelism
Changeset: 23b1126001b2 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=23b1126001b2 Modified Files: monetdb5/optimizer/opt_dataflow.c Branch: default Log Message: Squeeze a little more parallelism when dealing with sequences of BAT updates diffs (30 lines): diff --git a/monetdb5/optimizer/opt_dataflow.c b/monetdb5/optimizer/opt_dataflow.c --- a/monetdb5/optimizer/opt_dataflow.c +++ b/monetdb5/optimizer/opt_dataflow.c @@ -130,7 +130,7 @@ static void setAssigned(InstrPtr p, int } static int -dflowAssignConflict(InstrPtr p, int *assigned) +dflowAssignConflict(InstrPtr p, int pc, int *assigned, int *eolife) { int j; /* flow blocks should be closed when we reach a point @@ -139,7 +139,7 @@ dflowAssignConflict(InstrPtr p, int *ass for(j=0; jretc; j++) if ( assigned[getArg(p,j)] ) return 1; - if ( isUpdateInstruction(p) && assigned[getArg(p,p->retc)] ) + if ( isUpdateInstruction(p) && eolife[getArg(p,p->retc)] != pc ) return 1; return 0; } @@ -237,7 +237,7 @@ OPTdataflowImplementation(Client cntxt, assert(p); conflict = 0; - if ( dflowConflict(p) || (conflict = dflowAssignConflict(p,assigned)) ) { + if ( dflowConflict(p) || (conflict = dflowAssignConflict(p,i,assigned,eolife)) ) { /* close previous flow block */ if ( !(simple = simpleFlow(old,start,i))){ for( j=start ; jhttp://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - merging
Changeset: 117d17a51e0e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=117d17a51e0e Modified Files: configure.ag monetdb5/optimizer/opt_pushselect.c sql/backends/monet5/rel_bin.c Branch: default Log Message: merging diffs (26 lines): diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -29,7 +29,7 @@ AC_CANONICAL_TARGET dnl use tar-ustar since we have long (longer than 99 characters) file names AM_INIT_AUTOMAKE([tar-ustar no-dist-gzip dist-bzip2]) AC_CONFIG_SRCDIR([gdk/gdk.h]) -AM_CONFIG_HEADER([monetdb_config.h]) +AC_CONFIG_HEADERS([monetdb_config.h]) AC_SUBST([CONFIG_H], [monetdb_config.h]) HOST=[$target] diff --git a/monetdb5/optimizer/opt_pushselect.c b/monetdb5/optimizer/opt_pushselect.c --- a/monetdb5/optimizer/opt_pushselect.c +++ b/monetdb5/optimizer/opt_pushselect.c @@ -287,7 +287,9 @@ OPTpushselectImplementation(Client cntxt q = copyInstruction(q); setFunctionId(q, projectdeltaRef); getArg(q, 0) = getArg(p, 0); - p = PushArgument(mb, q, getArg(p, 1), 1); + q = PushArgument(mb, q, getArg(p, 1), 1); + freeInstruction(p); + p = q; actions++; } } ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - implement OID parsing
Changeset: 3a257ec17a80 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3a257ec17a80 Modified Files: sql/common/sql_types.c sql/server/sql_atom.c sql/server/sql_parser.y sql/server/sql_scan.c sql/test/BugTracker-2013/Tests/oid_handling.stable.err sql/test/BugTracker-2013/Tests/oid_handling.stable.out Branch: default Log Message: implement OID parsing diffs (221 lines): 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 @@ -1212,13 +1212,14 @@ sqltypeinit( sql_allocator *sa) BTE = *t++ = sql_create_type(sa, "TINYINT", 8, SCALE_FIX, 2, EC_NUM, "bte"); SHT = *t++ = sql_create_type(sa, "SMALLINT", 16, SCALE_FIX, 2, EC_NUM, "sht"); - OID = *t++ = sql_create_type(sa, "OID", 31, 0, 2, EC_NUM, "oid"); INT = *t++ = sql_create_type(sa, "INT", 32, SCALE_FIX, 2, EC_NUM, "int"); #if SIZEOF_WRD == SIZEOF_INT + OID = *t++ = sql_create_type(sa, "OID", 31, 0, 2, EC_NUM, "oid"); WRD = *t++ = sql_create_type(sa, "WRD", 32, SCALE_FIX, 2, EC_NUM, "wrd"); #endif LNG = *t++ = sql_create_type(sa, "BIGINT", 64, SCALE_FIX, 2, EC_NUM, "lng"); #if SIZEOF_WRD == SIZEOF_LNG + OID = *t++ = sql_create_type(sa, "OID", 63, 0, 2, EC_NUM, "oid"); WRD = *t++ = sql_create_type(sa, "WRD", 64, SCALE_FIX, 2, EC_NUM, "wrd"); #endif diff --git a/sql/server/sql_atom.c b/sql/server/sql_atom.c --- a/sql/server/sql_atom.c +++ b/sql/server/sql_atom.c @@ -99,6 +99,9 @@ atom_int( sql_allocator *sa, sql_subtype case TYPE_wrd: a->data.val.wval = (wrd) val; break; + case TYPE_oid: + a->data.val.oval = (oid) val; + break; case TYPE_lng: a->data.val.lval = val; break; @@ -130,6 +133,9 @@ atom_get_int(atom *a) case TYPE_int: r = a->data.val.ival; break; + case TYPE_oid: + r = a->data.val.oval; + break; case TYPE_wrd: r = a->data.val.wval; break; @@ -271,6 +277,9 @@ atom2string(sql_allocator *sa, atom *a) case TYPE_wrd: sprintf(buf, SSZFMT, a->data.val.wval); break; + case TYPE_oid: + sprintf(buf, SSZFMT "@0", a->data.val.oval); + break; case TYPE_int: sprintf(buf, "%d", a->data.val.ival); break; @@ -544,6 +553,7 @@ atom_cast(atom *a, sql_subtype *tp) break; case TYPE_int: #if SIZEOF_WRD == SIZEOF_INT + case TYPE_oid: case TYPE_wrd: #endif if (at->type->localtype == TYPE_bte) @@ -555,6 +565,7 @@ atom_cast(atom *a, sql_subtype *tp) break; case TYPE_lng: #if SIZEOF_WRD == SIZEOF_LNG + case TYPE_oid: case TYPE_wrd: #endif if (at->type->localtype == TYPE_bte) @@ -592,6 +603,7 @@ atom_cast(atom *a, sql_subtype *tp) break; case TYPE_int: #if SIZEOF_WRD == SIZEOF_INT + case TYPE_oid: case TYPE_wrd: #endif if (at->type->localtype == TYPE_bte) @@ -603,6 +615,7 @@ atom_cast(atom *a, sql_subtype *tp) break; case TYPE_lng: #if SIZEOF_WRD == SIZEOF_LNG + case TYPE_oid: case TYPE_wrd: #endif if (at->type->localtype == TYPE_bte) @@ -719,6 +732,7 @@ atom_cast(atom *a, sql_subtype *tp) break; case TYPE_int: #if SIZEOF_WRD == SIZEOF_INT + case TYPE_oid: case TYPE_wrd: #endif if (at->type->localtype == TYPE_bte) @@ -730,6 +744,7 @@ atom_cast(atom *a, sql_subtype *tp) break; case TYPE_lng: #if SIZEOF_WRD == SIZEOF_LNG + case TYPE_oid: case TYPE_wrd: #endif if (at->type->localtype == TYPE_bte) diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y --- a/sql/server/sql_parser.y +++ b/sql/server/sql_parser.y @@ -460,7 +460,7 @@ int yydebug=1; /* sql prefixes to avoid name clashes on various architectures */ %token - IDENT aTYPE ALIAS AGGR AGGR2 RANK sqlINT HEXADECIMAL INTNUM APPROXNUM + IDENT aTYPE ALIAS AGGR AGGR2 RANK sqlINT OIDNUM HEXADECIMAL INTN
MonetDB: default - approve current error output
Changeset: 6de04814e59e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6de04814e59e Modified Files: sql/test/Triggers/Tests/recursive_triggers.stable.err Branch: default Log Message: approve current error output diffs (21 lines): diff --git a/sql/test/Triggers/Tests/recursive_triggers.stable.err b/sql/test/Triggers/Tests/recursive_triggers.stable.err --- a/sql/test/Triggers/Tests/recursive_triggers.stable.err +++ b/sql/test/Triggers/Tests/recursive_triggers.stable.err @@ -10,15 +10,12 @@ stderr of test 'recursive_triggers` in d # 15:06:05 > Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb --host=localhost --port=38417 < recursive_triggers.sql # 15:06:05 > -MAPI = monetdb@niels:33936 +MAPI = (monetdb) /var/tmp/mtest-5260/.s.monetdb.35094 QUERY = drop trigger test_0; ERROR = !DROP TRIGGER: unknown trigger test_0 -MAPI = monetdb@niels:33936 +MAPI = (monetdb) /var/tmp/mtest-5260/.s.monetdb.35094 QUERY = drop trigger test_1; ERROR = !DROP TRIGGER: unknown trigger test_1 -MAPI = monetdb@niels:33936 -QUERY = drop trigger test_2; -ERROR = !DROP TRIGGER: unknown trigger test_2 # 15:06:05 > # 15:06:05 > Done. ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Feb2013 - Dummy change to test out mercurial-bugzilla i...
Changeset: cd3000a6ee6b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cd3000a6ee6b Modified Files: README Branch: Feb2013 Log Message: Dummy change to test out mercurial-bugzilla interface. This change is not relevant to bug 2948, but should trigger a message there anyway. diffs (8 lines): diff --git a/README b/README --- a/README +++ b/README @@ -35,3 +35,4 @@ The Initial Developer of the Original Co Portions created by CWI are Copyright (C) 1997-July 2008 CWI. Copyright August 2008-2013 MonetDB B.V. All Rights Reserved. + ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Feb2013 - Dummy change to test out mercurial-bugzilla i...
Changeset: 3f37436fe6bd for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3f37436fe6bd Modified Files: README Branch: Feb2013 Log Message: Dummy change to test out mercurial-bugzilla interface. This change is not relevant to bug 2948, but should trigger a message there anyway. diffs (8 lines): diff --git a/README b/README --- a/README +++ b/README @@ -35,4 +35,3 @@ The Initial Developer of the Original Co Portions created by CWI are Copyright (C) 1997-July 2008 CWI. Copyright August 2008-2013 MonetDB B.V. All Rights Reserved. - ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Feb2013 branch.
Changeset: 7e227ac60e42 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7e227ac60e42 Modified Files: configure.ag monetdb5/optimizer/opt_pushselect.c sql/backends/monet5/rel_bin.c Branch: default Log Message: Merge with Feb2013 branch. diffs (26 lines): diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -29,7 +29,7 @@ AC_CANONICAL_TARGET dnl use tar-ustar since we have long (longer than 99 characters) file names AM_INIT_AUTOMAKE([tar-ustar no-dist-gzip dist-bzip2]) AC_CONFIG_SRCDIR([gdk/gdk.h]) -AM_CONFIG_HEADER([monetdb_config.h]) +AC_CONFIG_HEADERS([monetdb_config.h]) AC_SUBST([CONFIG_H], [monetdb_config.h]) HOST=[$target] diff --git a/monetdb5/optimizer/opt_pushselect.c b/monetdb5/optimizer/opt_pushselect.c --- a/monetdb5/optimizer/opt_pushselect.c +++ b/monetdb5/optimizer/opt_pushselect.c @@ -287,7 +287,9 @@ OPTpushselectImplementation(Client cntxt q = copyInstruction(q); setFunctionId(q, projectdeltaRef); getArg(q, 0) = getArg(p, 0); - p = PushArgument(mb, q, getArg(p, 1), 1); + q = PushArgument(mb, q, getArg(p, 1), 1); + freeInstruction(p); + p = q; actions++; } } ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: holindex - Fix details in cost models.
Changeset: 00630e231179 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=00630e231179 Added Files: monetdb5/extras/crackers/crackers_selectholst_ops.mx Modified Files: monetdb5/extras/crackers/crackers_holistic.c monetdb5/extras/crackers/crackers_holistic.h monetdb5/extras/crackers/crackers_holistic.mal monetdb5/extras/crackers/crackers_selecthol_ops.mx Branch: holindex Log Message: Fix details in cost models. diffs (truncated from 1639 to 300 lines): diff --git a/monetdb5/extras/crackers/crackers_holistic.c b/monetdb5/extras/crackers/crackers_holistic.c --- a/monetdb5/extras/crackers/crackers_holistic.c +++ b/monetdb5/extras/crackers/crackers_holistic.c @@ -64,7 +64,7 @@ getFrequencyStruct(char which) return *theNode; } - +/*this function pushes nodes in the list and is used in cost models: 2,4,6,8,10*/ void push(int bat_id,FrequencyNode* head) { @@ -78,8 +78,7 @@ push(int bat_id,FrequencyNode* head) new_node->next=head->next; head->next=new_node; } - -/*this function pushes nodes in the list in the first and the second experiment (1st & 2nd cost model)*/ +/*this function pushes nodes in the list and is used in cost models: 1,3,5*/ void push_2(int bat_id,FrequencyNode* head,int N,int L1) { @@ -93,7 +92,20 @@ push_2(int bat_id,FrequencyNode* head,in new_node->next=head->next; head->next=new_node; } - +/*this function pushes nodes in the list and is used in cost models: 7,9*/ +void +push_3(int bat_id,FrequencyNode* head) +{ + FrequencyNode* new_node; + new_node=(FrequencyNode *) GDKmalloc(sizeof(FrequencyNode)); + new_node->bid=bat_id; + new_node->c=1; + new_node->f1=0; + new_node->f2=0; + new_node->weight=1.0; + new_node->next=head->next; + head->next=new_node; +} FrequencyNode* pop(FrequencyNode* head) @@ -164,7 +176,7 @@ searchBAT(FrequencyNode* head,int bat_id } return temp; } -/*this function returns the maximum weight from the list and is used for the following cost models: 1,3,5,7,9*/ +/*this function returns the maximum weight from the list and is used for all the cost models*/ FrequencyNode* findMax(FrequencyNode* head) { @@ -187,28 +199,57 @@ findMax(FrequencyNode* head) } return ret_node; } -/*this function returns the maximum weight from the list and is used for the following cost models: 2,4,6,8,10*/ + +/*this function returns a random node from the list with positive weight*/ FrequencyNode* -findMax_2(FrequencyNode* head) +pickRandom(FrequencyNode* head) { FrequencyNode* temp; FrequencyNode* ret_node=NULL; - double tmpW; + int *batids; /*it stores the number of the node in the list*/ + int random_position; +int n=0; + int k=0; temp=head->next; - tmpW=temp->weight; while(temp!=NULL) { - if((tmpW > 0) && (temp->weight >= tmpW)) + if(temp->weight > 0) { - tmpW=temp->weight; - ret_node=temp; + n++; } temp=temp->next; } + if (n!=0) + { + batids=(int *) GDKmalloc(n*sizeof(int)); + n=0; + temp=head->next; + while(temp!=NULL) + { + if(temp->weight > 0) + { + batids[k]=n; + k++; + } + temp=temp->next; + n++; + } + random_position=rand()%k; + n=0; + temp=head->next; + while(temp!=NULL) + { + if(n==batids[random_position]) + { + ret_node=temp; + } + temp=temp->next; + n++; + } + } return ret_node; } - /*The following function updates the weights in the list*/ /*This cost model takes into consideration only the distance from the optimal index.*/ /*The initial weights are initialized to the distance from the optimal index (NON-ZERO)*/ @@ -221,9 +262,8 @@ changeWeight_1(FrequencyNode* node,int N p = node->c; Sp =((double)N)/p; d = Sp - L1; - /*fprintf(stderr,"p=%d Sp=%lf d=%lf\n",p,Sp,d);*/ node->weight = d; - /*fprintf(stderr,"W=%lf\n",node->weight);*/ + fprintf(stderr,"bid=%d f1=%d f2=%d p=%d Sp=%lf d=%lf W=%lf\n",node->bid,node->f1,node->f2,p,Sp,d,node->weight); return node->weight; } /*The following function updates the weights in the list*/ @@ -238,17 +278,16 @@ changeWeight_2(FrequencyNode* node,int N p = node->c; Sp =((
MonetDB: Feb2013 - backported fix for bug 3245
Changeset: fbe6baf096f2 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fbe6baf096f2 Modified Files: sql/backends/monet5/rel_bin.c Branch: Feb2013 Log Message: backported fix for bug 3245 diffs (86 lines): 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 @@ -2432,14 +2432,21 @@ rel2bin_select( mvc *sql, sql_rel *rel, if (!sub) return NULL; sub = row2cols(sql, sub); - } else { + } + if (!sub && !predicate) predicate = rel2bin_predicate(sql); - } + else if (!predicate) + predicate = stmt_const(sql->sa, bin_first_column(sql->sa, sub), stmt_bool(sql->sa, 1)); if (!rel->exps->h) { if (sub) return sub; return predicate; } + if (!sub && predicate) { + list *l = sa_list(sql->sa); + append(l, predicate); + sub = stmt_list(sql->sa, l); + } /* handle possible index lookups */ /* expressions are in index order ! */ if (sub && (en = rel->exps->h) != NULL) { @@ -2460,10 +2467,8 @@ rel2bin_select( mvc *sql, sql_rel *rel, assert(0); return NULL; } - if (s->nrcols == 0){ - if (!predicate) - predicate = rel2bin_predicate(sql); - predicate = stmt_uselect(sql->sa, predicate, s, cmp_equal, NULL); + if (s->nrcols == 0){ + sel = stmt_uselect(sql->sa, predicate, s, cmp_equal, sel); } else if (e->type != e_cmp) { sel = stmt_uselect(sql->sa, s, stmt_bool(sql->sa, 1), cmp_equal, NULL); } else { @@ -2471,14 +2476,6 @@ rel2bin_select( mvc *sql, sql_rel *rel, } } - if (predicate && sel) { - sel = stmt_reverse(sql->sa, sel); - sel = stmt_join(sql->sa, sel, predicate, cmp_all); - sel = stmt_result(sql->sa, sel, 0); - predicate = NULL; - if (!sub) - predicate = sel; - } /* construct relation */ l = sa_list(sql->sa); if (sub && sel) { @@ -2491,22 +2488,6 @@ rel2bin_select( mvc *sql, sql_rel *rel, col = stmt_project(sql->sa, sel, col); list_append(l, col); } - } else if (sub && predicate) { - stmt *h = NULL; - n = sub->op4.lval->h; - h = stmt_join(sql->sa, column(sql->sa, n->data), predicate, cmp_all); - h = stmt_result(sql->sa, h, 0); - for( n = sub->op4.lval->h; n; n = n->next ) { - stmt *col = n->data; - - if (col->nrcols == 0) /* constant */ - col = stmt_const(sql->sa, h, col); - else - col = stmt_project(sql->sa, h, col); - list_append(l, col); - } - } else if (predicate) { - list_append(l, predicate); } return stmt_list(sql->sa, l); } @@ -2683,7 +2664,6 @@ rel2bin_sample( mvc *sql, sql_rel *rel, sc = column(sql->sa, sc); sample = stmt_sample(sql->sa, stmt_alias(sql->sa, sc, tname, cname),s); - sample = stmt_reverse(sql->sa, stmt_mark_tail(sql->sa, sample, 0)); for ( ; n; n = n->next) { stmt *sc = n->data; char *cname = column_name(sql->sa, sc); ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - approved output
Changeset: 59ae06013de6 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=59ae06013de6 Modified Files: sql/backends/monet5/rel_bin.c sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out Branch: default Log Message: approved output fixed bug view-view, bug 3245 diffs (281 lines): 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 @@ -2340,14 +2340,21 @@ rel2bin_select( mvc *sql, sql_rel *rel, if (!sub) return NULL; sub = row2cols(sql, sub); - } else { + } + if (!sub && !predicate) predicate = rel2bin_predicate(sql); - } + else if (!predicate) + predicate = stmt_const(sql->sa, bin_first_column(sql->sa, sub), stmt_bool(sql->sa, 1)); if (!rel->exps->h) { if (sub) return sub; return predicate; } + if (!sub && predicate) { + list *l = sa_list(sql->sa); + append(l, predicate); + sub = stmt_list(sql->sa, l); + } /* handle possible index lookups */ /* expressions are in index order ! */ if (sub && (en = rel->exps->h) != NULL) { @@ -2368,10 +2375,8 @@ rel2bin_select( mvc *sql, sql_rel *rel, assert(0); return NULL; } - if (s->nrcols == 0){ - if (!predicate) - predicate = rel2bin_predicate(sql); - predicate = stmt_uselect(sql->sa, predicate, s, cmp_equal, NULL); + if (s->nrcols == 0){ + sel = stmt_uselect(sql->sa, predicate, s, cmp_equal, sel); } else if (e->type != e_cmp) { sel = stmt_uselect(sql->sa, s, stmt_bool(sql->sa, 1), cmp_equal, NULL); } else { @@ -2379,14 +2384,6 @@ rel2bin_select( mvc *sql, sql_rel *rel, } } - if (predicate && sel) { - sel = stmt_reverse(sql->sa, sel); - sel = stmt_join(sql->sa, sel, predicate, cmp_all); - sel = stmt_result(sql->sa, sel, 0); - predicate = NULL; - if (!sub) - predicate = sel; - } /* construct relation */ l = sa_list(sql->sa); if (sub && sel) { @@ -2399,22 +2396,6 @@ rel2bin_select( mvc *sql, sql_rel *rel, col = stmt_project(sql->sa, sel, col); list_append(l, col); } - } else if (sub && predicate) { - stmt *h = NULL; - n = sub->op4.lval->h; - h = stmt_join(sql->sa, column(sql->sa, n->data), predicate, cmp_all); - h = stmt_result(sql->sa, h, 0); - for( n = sub->op4.lval->h; n; n = n->next ) { - stmt *col = n->data; - - if (col->nrcols == 0) /* constant */ - col = stmt_const(sql->sa, h, col); - else - col = stmt_project(sql->sa, h, col); - list_append(l, col); - } - } else if (predicate) { - list_append(l, predicate); } return stmt_list(sql->sa, l); } diff --git a/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out b/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out --- a/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out +++ b/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out @@ -29,17 +29,17 @@ Ready. % .explain # table_name % mal # name % clob # type -% 117 # length +% 111 # length function user.s0_1(A0:str):void; X_2 := sql.mvc(); X_6 := sql.bind(X_2,"sys","functions","name",0); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","functions"); -X_49 := algebra.likesubselect(X_6,X_3,A0,"",false); +X_48 := algebra.likesubselect(X_6,X_3,A0,"",false); (X_9,r1_9) := sql.bind(X_2,"sys","functions","name",2); -X_50 := algebra.likesubselect(r1_9,A0,"",false); +X_49 := algebra.likesubselect(r1_9,A0,"",false); X_12 := sql.bind(X_2,"sys","functions","name",1); -X_51 := algebra.likesubselect(X_12,X_3,A0,"",false); -X_15 := sql.subdelta(X_49,X_9,X_50,X_51); +X_50 := algebra.likesubselect(X_12,X_3,A0,"",false); +X_15 := sql.subdelta(X_48,X_9,X_49,X_50); X_17 := sql.projectdelta(X_15,X_6,X_9,r1_9,X_12); X_18 := sql.bind(X_2,"sys","functions","func",0); (X_20,r1_28) := sql.bind(X_2,"sys","functions","func",2); @@ -55,17 +55,17 @@ end s0_1; % .explain # table_name % mal # name % clob # type -% 121 # length +% 1
MonetDB: default - approved output after querylog interface change
Changeset: 2e1ec897300f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2e1ec897300f Modified Files: sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out Branch: default Log Message: approved output after querylog interface change diffs (128 lines): diff --git a/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out b/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out --- a/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out +++ b/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out @@ -128,7 +128,7 @@ top N ( % .explain # table_name % mal # name % clob # type -% 69 # length +% 63 # length function user.s1_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -146,7 +146,7 @@ end s1_1; % .explain # table_name % mal # name % clob # type -% 78 # length +% 72 # length function user.s2_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -170,7 +170,7 @@ end s2_1; % .explain # table_name % mal # name % clob # type -% 77 # length +% 71 # length function user.s3_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -194,7 +194,7 @@ end s3_1; % .explain # table_name % mal # name % clob # type -% 86 # length +% 80 # length function user.s4_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -218,7 +218,7 @@ end s4_1; % .explain # table_name % mal # name % clob # type -% 86 # length +% 80 # length function user.s5_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -242,7 +242,7 @@ end s5_1; % .explain # table_name % mal # name % clob # type -% 80 # length +% 74 # length function user.s6_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -262,7 +262,7 @@ end s6_1; % .explain # table_name % mal # name % clob # type -% 89 # length +% 83 # length function user.s7_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -288,7 +288,7 @@ end s7_1; % .explain # table_name % mal # name % clob # type -% 88 # length +% 82 # length function user.s8_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -321,7 +321,7 @@ end s8_1; % .explain # table_name % mal # name % clob # type -% 97 # length +% 91 # length function user.s9_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -356,7 +356,7 @@ end s9_1; % .explain # table_name % mal # name % clob # type -% 97 # length +% 91 # length function user.s10_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); diff --git a/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out b/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out --- a/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out +++ b/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out @@ -38,7 +38,7 @@ Ready. % .explain # table_name % mal # name % clob # type -% 97 # length +% 91 # length function user.s2_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","t2564"); diff --git a/sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out b/sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out --- a/sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out +++ b/sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out @@ -33,7 +33,7 @@ Ready. % .explain # table_name % mal # name % clob # type -% 96 # length +% 90 # length function user.s1_1{autoCommit=true}(A0:flt):void; X_3 := sql.mvc(); X_4:bat[:oid,:oid] := sql.tid(X_3,"sys","tab_2826"); @@ -43,8 +43,8 @@ function user.s1_1{autoCommit=true}(A0:f X_15 := sql.delta(X_7,X_10,r1_10,X_13); X_16 := algebra.leftfetchjoin(X_4,X_15); X_17 := batcalc.flt(X_16); -X_41 := batmmath.log10(X_17); -X_18 := algebra.thetasubselect(X_41,A0,">"); +X_40 := batmmath.log10(X_17); +X_18 := algebra.thetasubselect(X_40,A0,">"); X_20 := algebra.leftfetchjoin(X_18,X_16); X_21 := sql.resultSet(1,1,X_20); sql.rsColumn(X_21,"sys.tab_2826","d","double",53,0,X_20); ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - approve after queryylog interface change
Changeset: 0d8667f03147 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0d8667f03147 Modified Files: sql/backends/monet5/UDF/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/Tests/udf-reverse.stable.out Branch: default Log Message: approve after queryylog interface change diffs (69 lines): diff --git a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out --- a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out +++ b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out @@ -44,7 +44,7 @@ end s0_1; % .explain # table_name % mal # name % clob # type -% 73 # length +% 67 # length function user.s1_1{autoCommit=true}(A0:sht,A1:sht):void; X_4 := udf.fuse(A0,A1); sql.exportValue(1,".","fuse_single_value","int",32,0,6,X_4,""); @@ -59,7 +59,7 @@ end s1_1; % .explain # table_name % mal # name % clob # type -% 79 # length +% 73 # length function user.s2_1{autoCommit=true}(A0:int,A1:int):void; X_4 := udf.fuse(A0,A1); sql.exportValue(1,".","fuse_single_value","bigint",64,0,6,X_4,""); @@ -92,7 +92,7 @@ end s2_1; % .explain # table_name % mal # name % clob # type -% 81 # length +% 75 # length function user.s5_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","udf_fuse"); @@ -116,7 +116,7 @@ end s5_1; % .explain # table_name % mal # name % clob # type -% 81 # length +% 75 # length function user.s6_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","udf_fuse"); @@ -140,7 +140,7 @@ end s6_1; % .explain # table_name % mal # name % clob # type -% 81 # length +% 75 # length function user.s7_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","udf_fuse"); diff --git a/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out b/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out --- a/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out +++ b/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out @@ -48,7 +48,7 @@ Ready. % .explain # table_name % mal # name % clob # type -% 80 # length +% 74 # length function user.s0_1{autoCommit=true}(A0:str):void; X_3 := udf.reverse(A0); sql.exportValue(1,".","reverse_single_value","clob",0,0,4,X_3,""); @@ -81,7 +81,7 @@ end s0_1; % .explain # table_name % mal # name % clob # type -% 85 # length +% 79 # length function user.s3_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","udf_reverse"); ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - approve test after querylog interface change
Changeset: 53b8ba33e986 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=53b8ba33e986 Modified Files: sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out sql/test/BugTracker/Tests/explain.SF-1739353.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out Branch: default Log Message: approve test after querylog interface change diffs (103 lines): diff --git a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out b/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out --- a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out +++ b/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out @@ -27,7 +27,7 @@ Ready. % .explain # table_name % mal # name % clob # type -% 84 # length +% 78 # length function user.s0_1{autoCommit=true}(A0:dbl):void; X_3 := sql.mvc(); X_4:bat[:oid,:oid] := sql.tid(X_3,"sys","sf_2596114"); @@ -46,7 +46,7 @@ end s0_1; % .explain # table_name % mal # name % clob # type -% 77 # length +% 71 # length function user.s1_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","sf_2596114"); diff --git a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out --- a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out +++ b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out @@ -23,20 +23,20 @@ Ready. Operation successful -++ ++--+ | mal| -++ ++==+ | function user.s0_1{autoCommit=true}():void; | | X_3:bat[:oid,:str] := bat.new(nil:oid,nil:str);| | X_2 := sql.mvc(); | | X_9 := sql.bind(X_2,"sys","_tables","type",0); | | X_6:bat[:oid,:oid] := sql.tid(X_2,"sys","_tables"); | -| X_62 := algebra.subselect(X_9,X_6,2:sht,2:sht,true,true,true); | +| X_61 := algebra.subselect(X_9,X_6,2:sht,2:sht,true,true,true); | | (X_12,r1_12) := sql.bind(X_2,"sys","_tables","type",2);| -| X_63 := algebra.subselect(r1_12,2:sht,2:sht,true,true,true); | +| X_62 := algebra.subselect(r1_12,2:sht,2:sht,true,true,true); | | X_15 := sql.bind(X_2,"sys","_tables","type",1);| -| X_64 := algebra.subselect(X_15,X_6,2:sht,2:sht,true,true,true); | -| X_17 := sql.subdelta(X_62,X_12,X_63,X_64); | +| X_63 := algebra.subselect(X_15,X_6,2:sht,2:sht,true,true,true); | +| X_17 := sql.subdelta(X_61,X_12,X_62,X_63); | | X_18 := sql.bind(X_2,"sys","_tables","name",0); | | (X_20,r1_28) := sql.bind(X_2,"sys","_tables","name",2); | | X_22 := sql.bind(X_2,"sys","_tables","name",1); | @@ -55,8 +55,8 @@ Operation successful | X_45 := io.stdout(); | | sql.exportResult(X_45,X_39); | | end s0_1; | -| # querylog.define("explain select \"name\" from \"tables\";","default_pipe",0:lng) | -++ +| # querylog.define("explain select \"name\" from \"tables\";","default_pipe") | ++--+ 30 rows diff --git a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out --- a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out +++ b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out @@ -47,20 +47,20 @@ 20 rows Operation successful -++ ++--+ | mal | -++ ++==+ | function user.s1_1{autoCommit=true}():void; | | X_3:bat[:oid,:wrd] := bat.new(nil:oid,nil:wrd);| | X_2 := sql.mvc(); | | X_9 := sql.bind(X_2,"sys","_tables","type",0); | | X_6:bat[:oid,:oid] := sql.tid(X_2,"sys","_tables");| -| X_68 := algebra.subselect(X_9,X_6,2:sht,2:sht,true,true,tru
MonetDB: default - Collect total optimizer time directly
Changeset: 5c3aa10fb758 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5c3aa10fb758 Modified Files: monetdb5/mal/mal_instruction.c monetdb5/mal/mal_instruction.h monetdb5/modules/mal/querylog.c monetdb5/modules/mal/querylog.mal monetdb5/optimizer/opt_support.c sql/backends/monet5/sql_gencode.c Branch: default Log Message: Collect total optimizer time directly In optimizeMALblock the total time spent is left behind in the MAL block for the querylog. diffs (104 lines): diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c --- a/monetdb5/mal/mal_instruction.c +++ b/monetdb5/mal/mal_instruction.c @@ -133,6 +133,7 @@ newMalBlk(int maxvars, int maxstmts) mb->trap = 0; mb->runtime = 0; mb->calls = 0; + mb->optimize = 0; if (newMalBlkStmt(mb, maxstmts) < 0) return NULL; return mb; @@ -248,6 +249,7 @@ copyMalBlk(MalBlkPtr old) mb->trap = old->trap; mb->runtime = old->runtime; mb->calls = old->calls; + mb->optimize = old->optimize; mb->replica = old->replica; mb->maxarg = old->maxarg; mb->profiler = NULL; diff --git a/monetdb5/mal/mal_instruction.h b/monetdb5/mal/mal_instruction.h --- a/monetdb5/mal/mal_instruction.h +++ b/monetdb5/mal/mal_instruction.h @@ -146,6 +146,7 @@ typedef struct MALBLK { sht trap; /* call debugger when called */ lng runtime;/* average execution time of block in ticks */ int calls; /* number of calls */ + lng optimize; /* total optimizer time */ } *MalBlkPtr, MalBlkRecord; /* Allocation of space assumes a rather exotic number of diff --git a/monetdb5/modules/mal/querylog.c b/monetdb5/modules/mal/querylog.c --- a/monetdb5/modules/mal/querylog.c +++ b/monetdb5/modules/mal/querylog.c @@ -296,9 +296,8 @@ QLOGdefine(Client cntxt, MalBlkPtr mb, M oid *ret = (oid*) getArgReference(stk,pci,0); str *q = (str*) getArgReference(stk,pci,1); str *pipe = (str*) getArgReference(stk,pci,2); - lng *optimize = (lng*) getArgReference(stk,pci,3); - str *usr = (str*) getArgReference(stk,pci,4); - lng *tick = (lng*) getArgReference(stk,pci,5); + str *usr = (str*) getArgReference(stk,pci,3); + lng *tick = (lng*) getArgReference(stk,pci,4); oid o; (void) cntxt; @@ -311,7 +310,7 @@ QLOGdefine(Client cntxt, MalBlkPtr mb, M QLOG_cat_query = BUNappend(QLOG_cat_query,*q,FALSE); QLOG_cat_pipe = BUNappend(QLOG_cat_pipe,*pipe,FALSE); QLOG_cat_mal = BUNappend(QLOG_cat_mal,&mb->stop,FALSE); - QLOG_cat_optimize = BUNappend(QLOG_cat_optimize,optimize,FALSE); + QLOG_cat_optimize = BUNappend(QLOG_cat_optimize,&mb->optimize,FALSE); QLOG_cat_user = BUNappend(QLOG_cat_user,*usr,FALSE); QLOG_cat_defined = BUNappend(QLOG_cat_defined,tick,FALSE); } diff --git a/monetdb5/modules/mal/querylog.mal b/monetdb5/modules/mal/querylog.mal --- a/monetdb5/modules/mal/querylog.mal +++ b/monetdb5/modules/mal/querylog.mal @@ -20,7 +20,7 @@ command empty() address QLOGempty comment "Clear the query log tables"; -pattern define(q:str, pipe:str, optimize:lng, usr:str, tick:timestamp):oid +pattern define(q:str, pipe:str, usr:str, tick:timestamp):oid address QLOGdefine comment "Add a new query call to the query log"; diff --git a/monetdb5/optimizer/opt_support.c b/monetdb5/optimizer/opt_support.c --- a/monetdb5/optimizer/opt_support.c +++ b/monetdb5/optimizer/opt_support.c @@ -268,6 +268,7 @@ optimizeMALBlock(Client cntxt, MalBlkPtr int qot = 0; str msg = MAL_SUCCEED; int cnt = 0; + lng clk = GDKusec(); optimizerInit(); /* assume the type and flow have been checked already */ @@ -300,6 +301,7 @@ optimizeMALBlock(Client cntxt, MalBlkPtr } } } while (qot && cnt++ < mb->stop); + mb->optimize= GDKusec() - clk; if (cnt >= mb->stop) throw(MAL, "optimizer.MALoptimizer", OPTIMIZER_CYCLE); return 0; diff --git a/sql/backends/monet5/sql_gencode.c b/sql/backends/monet5/sql_gencode.c --- a/sql/backends/monet5/sql_gencode.c +++ b/sql/backends/monet5/sql_gencode.c @@ -2408,7 +2408,6 @@ backend_dumpproc(backend *be, Client c, { char *t; InstrPtr q; - lng Toptimize = 0; if ( be->q && be->q->codestring) { t = GDKstrdup( be->q->codestring); @@ -2421,7 +2420,6 @@ backend_dumpproc(backend *be, Client c, q->token = REMsymbol; // will be patched q = pushStr(mb, q, t); q = pushStr(mb, q, pipe= initSQLoptimizer()); -
MonetDB: default - Resolved
Changeset: 48023c61cc81 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=48023c61cc81 Modified Files: monetdb5/mal/mal_runtime.c Branch: default Log Message: Resolved diffs (15 lines): diff --git a/monetdb5/mal/mal_runtime.c b/monetdb5/mal/mal_runtime.c --- a/monetdb5/mal/mal_runtime.c +++ b/monetdb5/mal/mal_runtime.c @@ -130,10 +130,10 @@ runtimeProfileBegin(Client cntxt, MalBlk if (malProfileMode == 0) return; /* mostly true */ + prof->stkpc = stkpc; if (stk && mb->profiler != NULL && mb->profiler[stkpc].trace) { MT_lock_set(&mal_delayLock, "sysmon"); prof->newclk = stk->clk = GDKusec(); - prof->stkpc = stkpc; gettimeofday(&stk->clock, NULL); mb->profiler[stkpc].clk = 0; mb->profiler[stkpc].ticks = 0; ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - approve output
Changeset: 4d2f0aaa57f1 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4d2f0aaa57f1 Modified Files: sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out Branch: default Log Message: approve output diffs (72 lines): diff --git a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out b/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out --- a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out +++ b/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out @@ -27,7 +27,7 @@ Ready. % .explain # table_name % mal # name % clob # type -% 85 # length +% 84 # length function user.s0_1{autoCommit=true}(A0:dbl):void; X_3 := sql.mvc(); X_4:bat[:oid,:oid] := sql.tid(X_3,"sys","sf_2596114"); @@ -46,7 +46,7 @@ end s0_1; % .explain # table_name % mal # name % clob # type -% 78 # length +% 77 # length function user.s1_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","sf_2596114"); diff --git a/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out b/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out --- a/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out +++ b/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out @@ -170,7 +170,7 @@ end s2_1; % .explain # table_name % mal # name % clob # type -% 78 # length +% 77 # length function user.s3_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -242,7 +242,7 @@ end s5_1; % .explain # table_name % mal # name % clob # type -% 81 # length +% 80 # length function user.s6_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -262,7 +262,7 @@ end s6_1; % .explain # table_name % mal # name % clob # type -% 90 # length +% 89 # length function user.s7_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -321,7 +321,7 @@ end s8_1; % .explain # table_name % mal # name % clob # type -% 98 # length +% 97 # length function user.s9_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); diff --git a/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out b/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out --- a/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out +++ b/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out @@ -38,7 +38,7 @@ Ready. % .explain # table_name % mal # name % clob # type -% 98 # length +% 97 # length function user.s2_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","t2564"); ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - approved output
Changeset: e7a6b3b63a9d for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e7a6b3b63a9d Modified Files: sql/test/BugTracker/Tests/explain.SF-1739353.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out Branch: default Log Message: approved output diffs (24 lines): diff --git a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out --- a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out +++ b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out @@ -55,7 +55,7 @@ Operation successful | X_45 := io.stdout(); | | sql.exportResult(X_45,X_39); | | end s0_1; | -| # querylog.define("explain select \"name\" from \"tables\";","default_pipe",8:lng) | +| # querylog.define("explain select \"name\" from \"tables\";","default_pipe",0:lng) | ++ 30 rows diff --git a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out --- a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out +++ b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out @@ -81,7 +81,7 @@ Operation successful | X_44:wrd := aggr.sum(X_43); | | sql.exportValue(1,".tables","L1","wrd",64,0,6,X_44,""); | | end s1_1; | -| # querylog.define("explain select count(*) from tables;","default_pipe",6:lng) | +| # querylog.define("explain select count(*) from tables;","default_pipe",0:lng) | ++ 32 rows ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Toptimize doesn't measure anything usefull, i...
Changeset: 6bd79fe72615 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6bd79fe72615 Modified Files: monetdb5/mal/mal_runtime.c sql/backends/monet5/sql_gencode.c Branch: default Log Message: Toptimize doesn't measure anything usefull, ie just store 0 for the time being (solves all problems with changing output). We need a different solution to store the time spend in the optimizer stack. diffs (34 lines): diff --git a/monetdb5/mal/mal_runtime.c b/monetdb5/mal/mal_runtime.c --- a/monetdb5/mal/mal_runtime.c +++ b/monetdb5/mal/mal_runtime.c @@ -172,8 +172,8 @@ runtimeProfileExit(Client cntxt, MalBlkP if (malProfileMode == 0) return; /* mostly true */ - if (stk != NULL && prof->stkpc >= 0 && mb->profiler != NULL && mb->profiler[stkpc].trace && mb->profiler[stkpc].clk) - { + if (stk != NULL && prof->stkpc >= 0 && mb->profiler != NULL && + mb->profiler[stkpc].trace && mb->profiler[stkpc].clk) { MT_lock_set(&mal_contextLock, "sysmon"); gettimeofday(&mb->profiler[stkpc].clock, NULL); mb->profiler[stkpc].counter++; diff --git a/sql/backends/monet5/sql_gencode.c b/sql/backends/monet5/sql_gencode.c --- a/sql/backends/monet5/sql_gencode.c +++ b/sql/backends/monet5/sql_gencode.c @@ -2408,7 +2408,7 @@ backend_dumpproc(backend *be, Client c, { char *t; InstrPtr q; - lng Toptimize = GDKusec(); + lng Toptimize = 0; if ( be->q && be->q->codestring) { t = GDKstrdup( be->q->codestring); @@ -2421,7 +2421,6 @@ backend_dumpproc(backend *be, Client c, q->token = REMsymbol; // will be patched q = pushStr(mb, q, t); q = pushStr(mb, q, pipe= initSQLoptimizer()); - Toptimize = GDKusec() - Toptimize; (void) pushLng(mb, q, Toptimize); m->Tparse = 0; GDKfree(pipe); ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - merging
Changeset: 2b38ee631449 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2b38ee631449 Modified Files: sql/test/Tests/systemfunctions.stable.out Branch: default Log Message: merging diffs (12 lines): diff --git a/sql/test/Tests/systemfunctions.stable.out b/sql/test/Tests/systemfunctions.stable.out --- a/sql/test/Tests/systemfunctions.stable.out +++ b/sql/test/Tests/systemfunctions.stable.out @@ -325,7 +325,7 @@ Ready. [ "sys", "querylog", 0, "clob", "-- Trace the SQL input\ncreate procedure querylog(filename string) \n\texternal name sql.logfile;" ] [ "sys", "querylog_calls", 0, "table","-- Each query call is stored in the table calls\n-- At regular intervals the query history table should be cleaned.\n-- This can be done manually on the SQL console, or be integrated\n-- in the keepQuery and keepCall upon need.\n-- The parameters are geared at understanding the resource claims\n-- They reflect the effect of the total workload mix during execution.\n-- The 'cpu' gives the average cpu load percentage over all cores on the \n-- server during execution phase. \n-- increasing cpu load indicates better use of multi-cores.\n-- The 'io' indicate IOs during complete query run.\n-- The 'space' is the total amount of intermediates created in MB.\n-- Reducing the space component improves performance/\n-- All timing in usec and all storage in bytes.\n\ncreate function sys.querylog_calls()\nreturns table(\n\tid oid,\t\t\t\t -- references query plan\n\t\"start\" timestamp,\t-- time the statement was started\n\t\"stop\" timestamp,\t-- time the statement was completely finished\n\targuments string,\t-- actual call structure\n\ttuples wrd,\t\t\t-- number of tuples in the result set\n\trun bigint,\t\t-- time spent (in usec) until the result export\n\tship bigint,\t\t-- time spent (in usec) to ship the result set\n\tcpu int, \t\t-- average cpu load percentage during execution\n\tio int,\t\t\t-- percentage time waiting for IO to finish \n\tspace bigint\t\t-- total storage size of intermediates created (in MB)\n)\nexternal name sql.querylog_calls;" ] [ "sys", "querylog_catalog", 0, "table","-- The contents of this file are subject to the MonetDB Public License\n-- Version 1.1 (the \"License\"); you may not use this file except in\n-- compliance with the License. You may obtain a copy of the License at\n-- http://www.monetdb.org/Legal/MonetDBLicense\n--\n-- Software distributed under the License is distributed on an \"AS IS\"\n-- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the\n-- License for the specific language governing rights and limitations\n-- under the License.\n--\n-- The Original Code is the MonetDB Database System.\n--\n-- The Initial Developer of the Original Code is CWI.\n-- Copyright August 2008-2013 MonetDB B.V.\n-- All Rights Reserved.\n\n-- QUERY HISTORY\n-- The query history mechanism of MonetDB/SQL relies on a few hooks.\n-- The most important one is a global system variable which controls\n-- monitoring of all sessions. \n\ncreate function sys.querylog_catalog()\nreturns table (\n\tid oid,\n\towner string,\n\tdefined timestamp,\n\tquery string,\n\tpipe string,\n\tmal int,\t\t\t-- size of MAL plan\n\toptimize bigint \t-- time in usec\n)\nexternal name sql.querylog_catalog;"] -[ "sys", "querylog_init",0, "smallint", "create procedure sys.querylog_init(threshold smallint)\nexternal name sql.querylog_init_threshold;"] +[ "sys", "querylog_enable", 0, "smallint", "create procedure sys.querylog_enable(threshold smallint)\nexternal name sql.querylog_enable_threshold;"] [ "sys", "queue",0, "table","-- The contents of this file are subject to the MonetDB Public License\n-- Version 1.1 (the \"License\"); you may not use this file except in\n-- compliance with the License. You may obtain a copy of the License at\n-- http://www.monetdb.org/Legal/MonetDBLicense\n--\n-- Software distributed under the License is distributed on an \"AS IS\"\n-- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the\n-- License for the specific language governing rights and limitations\n-- under the License.\n--\n-- The Original Code is the MonetDB Database System.\n--\n-- The Initial Developer of the Original Code is CWI.\n-- Copyright August 2008-2013 MonetDB B.V.\n-- All Rights Reserved.\n\n-- System monitoring\n\n-- show status of all active SQL queries.\ncreate function sys.queue()\nreturns table(\n\tqtag bigint,\n\t\"user\" string,\n\tstarted timestamp,\n\testimate timestamp,\n\tprogress int,\n\tstatus string,\n\ttag oid,\n\tquery string\n)\ nexternal name sql.sysmon_queue;" ] [ "sys", "radians", 0, "double", "create function radians(d double) \nreturns double\n\treturn d*pi()/180;" ] [ "sys", "radians"
MonetDB: default - Initialize structures.
Changeset: eff8364345cf for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=eff8364345cf Modified Files: monetdb5/mal/mal_interpreter.c Branch: default Log Message: Initialize structures. diffs (11 lines): diff --git a/monetdb5/mal/mal_interpreter.c b/monetdb5/mal/mal_interpreter.c --- a/monetdb5/mal/mal_interpreter.c +++ b/monetdb5/mal/mal_interpreter.c @@ -497,6 +497,7 @@ str runMALsequence(Client cntxt, MalBlkP int garbages[16], *garbage; int stkpc = 0; RuntimeProfileRecord runtimeProfile, runtimeProfileFunction; + runtimeProfile.stkpc = runtimeProfileFunction.stkpc = 0; if (stk == NULL) throw(MAL, "mal.interpreter", MAL_STACK_FAIL); ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: rdf - Merge with default branch + retrieve the detail i...
Changeset: 86fadebd10e9 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=86fadebd10e9 Added Files: monetdb5/modules/mal/Tests/cpustat.mal monetdb5/modules/mal/querylog.c monetdb5/modules/mal/querylog.h monetdb5/modules/mal/querylog.mal monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/sysmon.h monetdb5/modules/mal/sysmon.mal monetdb5/optimizer/Tests/dataflow4.mal monetdb5/optimizer/Tests/dataflow4.stable.err monetdb5/optimizer/Tests/dataflow4.stable.out monetdb5/optimizer/Tests/dataflow5.mal monetdb5/optimizer/Tests/dataflow5.stable.err monetdb5/optimizer/Tests/dataflow5.stable.out monetdb5/optimizer/Tests/inlineFunction1.mal monetdb5/optimizer/Tests/inlineFunction1.stable.err monetdb5/optimizer/Tests/inlineFunction1.stable.out monetdb5/optimizer/Tests/inlineFunction3.mal monetdb5/optimizer/Tests/inlineFunction3.stable.err monetdb5/optimizer/Tests/inlineFunction3.stable.out monetdb5/optimizer/Tests/inlineFunction4.mal monetdb5/optimizer/Tests/inlineFunction4.stable.err monetdb5/optimizer/Tests/inlineFunction4.stable.out monetdb5/optimizer/opt_querylog.c monetdb5/optimizer/opt_querylog.h sql/scripts/15_querylog.sql sql/scripts/26_sysmon.sql sql/test/BugTracker-2009/Tests/multi-column_join_with_expression.SF-2783279.sql sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.err.Solaris sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.out.Solaris sql/test/BugTracker-2013/Tests/oid_handling.sql sql/test/BugTracker-2013/Tests/oid_handling.stable.err sql/test/BugTracker-2013/Tests/oid_handling.stable.out sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.sql sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.stable.err sql/test/BugTracker-2013/Tests/select-view-view.Bug-3245.stable.out sql/test/BugTracker-2013/Tests/stddev-group.Bug-3257.sql sql/test/BugTracker-2013/Tests/stddev-group.Bug-3257.stable.err sql/test/BugTracker-2013/Tests/stddev-group.Bug-3257.stable.out sql/test/bugs/Tests/emili.sql sql/test/bugs/Tests/emili.stable.err sql/test/bugs/Tests/emili.stable.out sql/test/bugs/Tests/polymorphism.sql sql/test/bugs/Tests/polymorphism.stable.err sql/test/bugs/Tests/polymorphism.stable.out Removed Files: monetdb5/optimizer/opt_history.c monetdb5/optimizer/opt_history.h sql/scripts/15_history.sql sql/test/BugTracker-2009/Tests/multi-column_join_with_expression.SF-2783279.csv sql/test/BugTracker-2009/Tests/multi-column_join_with_expression.SF-2783279.sql.in sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.err.SunOS sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.out.SunOS sql/test/concurrent/Tests/crash_on_concurrent_use.SF-1411926.sql Modified Files: NT/installer32/MonetDB5-SQL-Installer.vdproj NT/installer64/MonetDB5-SQL-Installer.vdproj clients/Tests/exports.stable.out clients/mapiclient/mclient.c clients/python2/monetdb/control.py clients/python2/monetdb/sql/converters.py clients/python2/monetdb/sql/cursors.py clients/python2/monetdb/sql/monetize.py clients/python2/test/capabilities.py clients/python2/test/control.py clients/python2/test/dbapi20.py clients/python2/test/test_control.py clients/python3/monetdb/control.py clients/python3/monetdb/sql/converters.py clients/python3/monetdb/sql/cursors.py clients/python3/monetdb/sql/monetize.py clients/python3/test/capabilities.py clients/python3/test/run.sh clients/python3/test/runtests.py clients/python3/test/test_control.py gdk/gdk.h gdk/gdk_batop.c gdk/gdk_calc_private.h gdk/gdk_heap.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_private.h gdk/gdk_relop.mx gdk/gdk_setop.mx gdk/gdk_storage.c monetdb5/ChangeLog.Feb2013 monetdb5/extras/jaql/parser/jaql.l monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/extras/rdf/rdfschema.c monetdb5/extras/rdf/rdfschema.h monetdb5/extras/rdf/rdfschema.mal monetdb5/mal/Tests/tst019.stable.out monetdb5/mal/mal.c monetdb5/mal/mal.h monetdb5/mal/mal_authorize.c monetdb5/mal/mal_client.h monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_debugger.h monetdb5/mal/mal_instruction.c monetdb5/mal/mal_instruction.h monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_interpreter.h monetdb5/mal/mal_parser.c monetdb5/mal/mal_profiler
MonetDB: rdf - Modify function adding the relationship between CSs.
Changeset: b2a907fe8a20 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b2a907fe8a20 Modified Files: monetdb5/extras/rdf/rdfschema.c monetdb5/extras/rdf/rdfschema.h Branch: rdf Log Message: Modify function adding the relationship between CSs. - Include PropId so that it is clear which property is the foreign key connecting two CSs diffs (249 lines): diff --git a/monetdb5/extras/rdf/rdfschema.c b/monetdb5/extras/rdf/rdfschema.c --- a/monetdb5/extras/rdf/rdfschema.c +++ b/monetdb5/extras/rdf/rdfschema.c @@ -120,6 +120,7 @@ CSrel* creataCSrel(oid csoid){ CSrel *csrel = (CSrel*) malloc(sizeof(CSrel)); csrel->origCSoid = csoid; csrel->lstRefCSoid = (oid*) malloc(sizeof(oid) * INIT_NUM_CSREL); + csrel->lstPropId = (oid*) malloc(sizeof(oid) * INIT_NUM_CSREL); csrel->lstCnt = (int*) malloc(sizeof(int) * INIT_NUM_CSREL); csrel->numRef = 0; csrel->numAllocation = INIT_NUM_CSREL; @@ -129,9 +130,10 @@ CSrel* creataCSrel(oid csoid){ static -void addReltoCSRel(oid origCSoid, oid refCSoid, CSrel *csrel) +void addReltoCSRel(oid origCSoid, oid refCSoid, oid propId, CSrel *csrel) { void *_tmp; + void *_tmp1; void *_tmp2; int i = 0; @@ -139,7 +141,7 @@ void addReltoCSRel(oid origCSoid, oid re assert (origCSoid == csrel->origCSoid); while (i < csrel->numRef){ - if (refCSoid == csrel->lstRefCSoid[i]){ + if (refCSoid == csrel->lstRefCSoid[i] && propId == csrel->lstPropId[i]){ //Existing break; } @@ -157,16 +159,19 @@ void addReltoCSRel(oid origCSoid, oid re csrel->numAllocation += INIT_NUM_CSREL; _tmp = realloc(csrel->lstRefCSoid, (csrel->numAllocation * sizeof(oid))); + _tmp1 = realloc(csrel->lstPropId, (csrel->numAllocation * sizeof(oid))); _tmp2 = realloc(csrel->lstCnt, (csrel->numAllocation * sizeof(int))); if (!_tmp || !_tmp2){ fprintf(stderr, "ERROR: Couldn't realloc memory!\n"); } csrel->lstRefCSoid = (oid*)_tmp; + csrel->lstPropId = (oid*)_tmp1; csrel->lstCnt = (int*)_tmp2; } csrel->lstRefCSoid[csrel->numRef] = refCSoid; + csrel->lstPropId[csrel->numRef] = propId; csrel->lstCnt[csrel->numRef] = 1; csrel->numRef++; } @@ -174,9 +179,10 @@ void addReltoCSRel(oid origCSoid, oid re static -void addReltoCSRelWithFreq(oid origCSoid, oid refCSoid, int freq, CSrel *csrel) +void addReltoCSRelWithFreq(oid origCSoid, oid refCSoid, oid propId, int freq, CSrel *csrel) { void *_tmp; + void *_tmp1; void *_tmp2; int i = 0; @@ -184,7 +190,7 @@ void addReltoCSRelWithFreq(oid origCSoid assert (origCSoid == csrel->origCSoid); while (i < csrel->numRef){ - if (refCSoid == csrel->lstRefCSoid[i]){ + if (refCSoid == csrel->lstRefCSoid[i] && propId == csrel->lstPropId[i]){ //Existing break; } @@ -202,16 +208,19 @@ void addReltoCSRelWithFreq(oid origCSoid csrel->numAllocation += INIT_NUM_CSREL; _tmp = realloc(csrel->lstRefCSoid, (csrel->numAllocation * sizeof(oid))); + _tmp1 = realloc(csrel->lstPropId, (csrel->numAllocation * sizeof(oid))); _tmp2 = realloc(csrel->lstCnt, (csrel->numAllocation * sizeof(int))); if (!_tmp || !_tmp2){ fprintf(stderr, "ERROR: Couldn't realloc memory!\n"); } csrel->lstRefCSoid = (oid*)_tmp; + csrel->lstPropId = (oid*)_tmp1; csrel->lstCnt = (int*)_tmp2; } csrel->lstRefCSoid[csrel->numRef] = refCSoid; + csrel->lstPropId[csrel->numRef] = propId; csrel->lstCnt[csrel->numRef] = freq; csrel->numRef++; } @@ -266,7 +275,7 @@ void printCSrelSet(CSrel *csrelSet, char } else{ - strcpy(filename, "csRelatioinship"); + strcpy(filename, "csRelationship"); sprintf(tmpStr, "%d", freqThreshold); strcat(filename, tmpStr); strcat(filename, ".txt"); @@ -301,7 +310,7 @@ void printCSrelWithMaxSet(oid* csSuperCS int i; int j; int *freq; - FILE*fout, *fout1, *fout1filter, *fout2; + FILE*fout, *fout1, *fout1filter, *fout2,*fout2filter;
MonetDB: default - approve output after querylog function renaming
Changeset: 97da0d19a4f4 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=97da0d19a4f4 Modified Files: sql/test/Tests/systemfunctions.stable.out Branch: default Log Message: approve output after querylog function renaming diffs (12 lines): diff --git a/sql/test/Tests/systemfunctions.stable.out b/sql/test/Tests/systemfunctions.stable.out --- a/sql/test/Tests/systemfunctions.stable.out +++ b/sql/test/Tests/systemfunctions.stable.out @@ -325,7 +325,7 @@ Ready. [ "sys", "querylog", 0, "clob", "-- Trace the SQL input\ncreate procedure querylog(filename string) \n\texternal name sql.logfile;" ] [ "sys", "querylog_calls", 0, "table","-- Each query call is stored in the table calls\n-- At regular intervals the query history table should be cleaned.\n-- This can be done manually on the SQL console, or be integrated\n-- in the keepQuery and keepCall upon need.\n-- The parameters are geared at understanding the resource claims\n-- They reflect the effect of the total workload mix during execution.\n-- The 'cpu' gives the average cpu load percentage over all cores on the \n-- server during execution phase. \n-- increasing cpu load indicates better use of multi-cores.\n-- The 'io' indicate IOs during complete query run.\n-- The 'space' is the total amount of intermediates created in MB.\n-- Reducing the space component improves performance/\n-- All timing in usec and all storage in bytes.\n\ncreate function sys.querylog_calls()\nreturns table(\n\tid oid,\t\t\t\t -- references query plan\n\t\"start\" timestamp,\t-- time the statement was started\n\t\"stop\" timestamp,\t-- time the statement was completely finished\n\targuments string,\t-- actual call structure\n\ttuples wrd,\t\t\t-- number of tuples in the result set\n\trun bigint,\t\t-- time spent (in usec) until the result export\n\tship bigint,\t\t-- time spent (in usec) to ship the result set\n\tcpu int, \t\t-- average cpu load percentage during execution\n\tio int,\t\t\t-- percentage time waiting for IO to finish \n\tspace bigint\t\t-- total storage size of intermediates created (in MB)\n)\nexternal name sql.querylog_calls;" ] [ "sys", "querylog_catalog", 0, "table","-- The contents of this file are subject to the MonetDB Public License\n-- Version 1.1 (the \"License\"); you may not use this file except in\n-- compliance with the License. You may obtain a copy of the License at\n-- http://www.monetdb.org/Legal/MonetDBLicense\n--\n-- Software distributed under the License is distributed on an \"AS IS\"\n-- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the\n-- License for the specific language governing rights and limitations\n-- under the License.\n--\n-- The Original Code is the MonetDB Database System.\n--\n-- The Initial Developer of the Original Code is CWI.\n-- Copyright August 2008-2013 MonetDB B.V.\n-- All Rights Reserved.\n\n-- QUERY HISTORY\n-- The query history mechanism of MonetDB/SQL relies on a few hooks.\n-- The most important one is a global system variable which controls\n-- monitoring of all sessions. \n\ncreate function sys.querylog_catalog()\nreturns table (\n\tid oid,\n\towner string,\n\tdefined timestamp,\n\tquery string,\n\tpipe string,\n\tmal int,\t\t\t-- size of MAL plan\n\toptimize bigint \t-- time in usec\n)\nexternal name sql.querylog_catalog;"] -[ "sys", "querylog_init",0, "smallint", "create procedure sys.querylog_init(threshold smallint)\nexternal name sql.querylog_init_threshold;"] +[ "sys", "querylog_enable", 0, "smallint", "create procedure sys.querylog_enable(threshold smallint)\nexternal name sql.querylog_enable_threshold;"] [ "sys", "queue",0, "table","-- The contents of this file are subject to the MonetDB Public License\n-- Version 1.1 (the \"License\"); you may not use this file except in\n-- compliance with the License. You may obtain a copy of the License at\n-- http://www.monetdb.org/Legal/MonetDBLicense\n--\n-- Software distributed under the License is distributed on an \"AS IS\"\n-- basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the\n-- License for the specific language governing rights and limitations\n-- under the License.\n--\n-- The Original Code is the MonetDB Database System.\n--\n-- The Initial Developer of the Original Code is CWI.\n-- Copyright August 2008-2013 MonetDB B.V.\n-- All Rights Reserved.\n\n-- System monitoring\n\n-- show status of all active SQL queries.\ncreate function sys.queue()\nreturns table(\n\tqtag bigint,\n\t\"user\" string,\n\tstarted timestamp,\n\testimate timestamp,\n\tprogress int,\n\tstatus string,\n\ttag oid,\n\tquery string\n)\ nexternal name sql.sysmon_queue;" ] [ "sys", "radians", 0, "double", "create function radians(d double) \nreturns double\n\treturn d*pi(
MonetDB: default - Change querylog naming to {enable/disable/empty}
Changeset: d2ffbb567850 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d2ffbb567850 Modified Files: monetdb5/modules/mal/querylog.c monetdb5/modules/mal/querylog.h monetdb5/modules/mal/querylog.mal sql/backends/monet5/sql.mx sql/scripts/15_querylog.sql Branch: default Log Message: Change querylog naming to {enable/disable/empty} diffs (173 lines): diff --git a/monetdb5/modules/mal/querylog.c b/monetdb5/modules/mal/querylog.c --- a/monetdb5/modules/mal/querylog.c +++ b/monetdb5/modules/mal/querylog.c @@ -222,7 +222,7 @@ initQlog(void) } str -QLOGinit(int *ret) +QLOGenable(int *ret) { (void) ret; QLOGtrace = TRUE; @@ -230,7 +230,7 @@ QLOGinit(int *ret) } str -QLOGinitThreshold(int *ret, int *threshold) +QLOGenableThreshold(int *ret, int *threshold) { (void) ret; QLOGthreshold = *threshold; @@ -238,7 +238,7 @@ QLOGinitThreshold(int *ret, int *thresho } str -QLOGdone(int *ret) +QLOGdisable(int *ret) { (void) ret; QLOGtrace = FALSE; @@ -259,7 +259,7 @@ QLOGissetFcn(int *ret) } str -QLOGreset(int *ret) +QLOGempty(int *ret) { (void) ret; initQlog(); diff --git a/monetdb5/modules/mal/querylog.h b/monetdb5/modules/mal/querylog.h --- a/monetdb5/modules/mal/querylog.h +++ b/monetdb5/modules/mal/querylog.h @@ -34,12 +34,12 @@ qlog_export int initQlog(void); qlog_export void QLOGcatalog(BAT **r); qlog_export void QLOGcalls(BAT **r); -qlog_export str QLOGinit(int *ret); -qlog_export str QLOGinitThreshold(int *ret, int *threshold); -qlog_export str QLOGdone(int *ret); +qlog_export str QLOGenable(int *ret); +qlog_export str QLOGenableThreshold(int *ret, int *threshold); +qlog_export str QLOGdisable(int *ret); qlog_export int QLOGisset(void); qlog_export str QLOGissetFcn(int *ret); -qlog_export str QLOGreset(int *ret); +qlog_export str QLOGempty(int *ret); qlog_export str QLOGdefine(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); qlog_export str QLOGcall(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); diff --git a/monetdb5/modules/mal/querylog.mal b/monetdb5/modules/mal/querylog.mal --- a/monetdb5/modules/mal/querylog.mal +++ b/monetdb5/modules/mal/querylog.mal @@ -1,23 +1,23 @@ module querylog; -command init(threshold:int) -address QLOGinitThreshold +command enable(threshold:int) +address QLOGenableThreshold comment "Turn on the query logger"; -command init() -address QLOGinit +command enable() +address QLOGenable comment "Turn on the query logger"; -command done() -address QLOGdone +command disable() +address QLOGdisable comment "Turn off the query logger"; command isset():int address QLOGissetFcn comment "Return status of query logger"; -command reset() -address QLOGreset +command empty() +address QLOGempty comment "Clear the query log tables"; pattern define(q:str, pipe:str, optimize:lng, usr:str, tick:timestamp):oid diff --git a/sql/backends/monet5/sql.mx b/sql/backends/monet5/sql.mx --- a/sql/backends/monet5/sql.mx +++ b/sql/backends/monet5/sql.mx @@ -568,15 +568,15 @@ space:bat[:oid,:lng] address sql_querylog_calls comment "Obtain the query log calls"; -pattern querylog_reset() -address sql_querylog_reset; - -command querylog_init() -address QLOGinit; -command querylog_init(thres:int) -address QLOGinitThreshold; -command querylog_done() -address QLOGdone; +pattern querylog_empty() +address sql_querylog_empty; + +command querylog_enable() +address QLOGenable; +command querylog_enable(thres:int) +address QLOGenablehreshold; +command querylog_disable() +address QLOGdisable; pattern sysmon_queue()(qtag:bat[:oid,:lng], user:bat[:oid,:str],started:bat[:oid,:timestamp],estimate:bat[:oid,:timestamp],progress:bat[:oid,:int], status:bat[:oid,:str], tag:bat[:oid,:oid], query:bat[:oid,:str]) @@ -1455,7 +1455,7 @@ sql5_export str dump_trace(Client cntxt, sql5_export str sql_storage(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); sql5_export str sql_querylog_catalog(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); sql5_export str sql_querylog_calls(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); -sql5_export str sql_querylog_reset(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); +sql5_export str sql_querylog_empty(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); sql5_export str sql_rowid(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); sql5_export str sql_rank_grp(bat *rid, bat *bid, bat *gid, bat *gpe); sql5_export str sql_rank(bat *rid, bat *bid); @@ -6510,14 +6510,14 @@ sql_querylog_calls(Client cntxt, MalBlkP return MAL_SUCCEED; } str -sql_querylog_reset(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) +sql_querylog_empty(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { int *ret= (int*) getArgReference(stk,pci,0); (void) cntxt; (void) mb; (void) stk; (void) pci; - QLOGreset(
MonetDB: default - Shuffle lock position for protection
Changeset: fcbc955d6827 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fcbc955d6827 Modified Files: monetdb5/mal/mal_runtime.c Branch: default Log Message: Shuffle lock position for protection diffs (14 lines): diff --git a/monetdb5/mal/mal_runtime.c b/monetdb5/mal/mal_runtime.c --- a/monetdb5/mal/mal_runtime.c +++ b/monetdb5/mal/mal_runtime.c @@ -131,9 +131,9 @@ runtimeProfileBegin(Client cntxt, MalBlk return; /* mostly true */ if (stk && mb->profiler != NULL && mb->profiler[stkpc].trace) { + MT_lock_set(&mal_delayLock, "sysmon"); prof->newclk = stk->clk = GDKusec(); prof->stkpc = stkpc; - MT_lock_set(&mal_delayLock, "sysmon"); gettimeofday(&stk->clock, NULL); mb->profiler[stkpc].clk = 0; mb->profiler[stkpc].ticks = 0; ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - approving output
Changeset: 5b102f303d89 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5b102f303d89 Modified Files: sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out sql/test/BugTracker-2011/Tests/copy-into-file-error.Bug-2722.stable.out sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out Branch: default Log Message: approving output diffs (226 lines): diff --git a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out b/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out --- a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out +++ b/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out @@ -27,7 +27,7 @@ Ready. % .explain # table_name % mal # name % clob # type -% 90 # length +% 85 # length function user.s0_1{autoCommit=true}(A0:dbl):void; X_3 := sql.mvc(); X_4:bat[:oid,:oid] := sql.tid(X_3,"sys","sf_2596114"); @@ -46,7 +46,7 @@ end s0_1; % .explain # table_name % mal # name % clob # type -% 83 # length +% 78 # length function user.s1_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","sf_2596114"); diff --git a/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out b/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out --- a/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out +++ b/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out @@ -128,7 +128,7 @@ top N ( % .explain # table_name % mal # name % clob # type -% 74 # length +% 69 # length function user.s1_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -146,7 +146,7 @@ end s1_1; % .explain # table_name % mal # name % clob # type -% 83 # length +% 78 # length function user.s2_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -170,7 +170,7 @@ end s2_1; % .explain # table_name % mal # name % clob # type -% 82 # length +% 78 # length function user.s3_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -194,7 +194,7 @@ end s3_1; % .explain # table_name % mal # name % clob # type -% 91 # length +% 86 # length function user.s4_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -218,7 +218,7 @@ end s4_1; % .explain # table_name % mal # name % clob # type -% 91 # length +% 86 # length function user.s5_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -242,7 +242,7 @@ end s5_1; % .explain # table_name % mal # name % clob # type -% 85 # length +% 81 # length function user.s6_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -262,7 +262,7 @@ end s6_1; % .explain # table_name % mal # name % clob # type -% 94 # length +% 90 # length function user.s7_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -288,7 +288,7 @@ end s7_1; % .explain # table_name % mal # name % clob # type -% 93 # length +% 88 # length function user.s8_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -321,7 +321,7 @@ end s8_1; % .explain # table_name % mal # name % clob # type -% 102 # length +% 98 # length function user.s9_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -356,7 +356,7 @@ end s9_1; % .explain # table_name % mal # name % clob # type -% 102 # length +% 97 # length function user.s10_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); diff --git a/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out b/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out --- a/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out +++ b/sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out @@ -38,7 +38,7 @@ Ready. % .explain # table_name % mal # name % clob # type -% 102 # length +% 98 # length function user.s2_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","t2564"); diff --git a/sql/test/BugTracker-2011/Tests/copy-into-file-error.Bug-2722.stable.out b/sql/test/BugTracker-2011/Tests/copy-into-file-error.Bug-2722.stable.out --- a/sql/test/BugTracker-2011/Tests/copy-into-file-error.Bug-2722.stable.out +++ b/sql/test/BugTracker-2011/T
MonetDB: default - approved output after Toptimize fix
Changeset: 2f5b868d3d1e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2f5b868d3d1e Modified Files: sql/test/BugTracker/Tests/explain.SF-1739353.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out Branch: default Log Message: approved output after Toptimize fix diffs (52 lines): diff --git a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out --- a/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out +++ b/sql/test/BugTracker/Tests/explain.SF-1739353.stable.out @@ -23,9 +23,9 @@ Ready. Operation successful -+-+ +++ | mal| -+=+ +++ | function user.s0_1{autoCommit=true}():void; | | X_3:bat[:oid,:str] := bat.new(nil:oid,nil:str);| | X_2 := sql.mvc(); | @@ -55,8 +55,8 @@ Operation successful | X_45 := io.stdout(); | | sql.exportResult(X_45,X_39); | | end s0_1; | -| # querylog.define("explain select \"name\" from \"tables\";","default_pipe",968767:lng) | -+-+ +| # querylog.define("explain select \"name\" from \"tables\";","default_pipe",8:lng) | +++ 30 rows diff --git a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out --- a/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out +++ b/sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out @@ -47,9 +47,9 @@ 20 rows Operation successful -+-+ +++ | mal | -+=+ +++ | function user.s1_1{autoCommit=true}():void; | | X_3:bat[:oid,:wrd] := bat.new(nil:oid,nil:wrd);| | X_2 := sql.mvc(); | @@ -81,8 +81,8 @@ Operation successful | X_44:wrd := aggr.sum(X_43); | | sql.exportValue(1,".tables","L1","wrd",64,0,6,X_44,""); | | end s1_1; | -| # querylog.define("explain select count(*) from tables;","default_pipe",353893:lng) | -+-+ +| # querylog.define("explain select count(*) from tables;","default_pipe",6:lng) | +++ 32 rows ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - properly compute Toptimize
Changeset: 5a5c1385ca56 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5a5c1385ca56 Modified Files: sql/backends/monet5/UDF/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/Tests/udf-reverse.stable.out sql/backends/monet5/sql_gencode.c Branch: default Log Message: properly compute Toptimize diffs (110 lines): diff --git a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out --- a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out +++ b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out @@ -44,7 +44,7 @@ end s0_1; % .explain # table_name % mal # name % clob # type -% 78 # length +% 73 # length function user.s1_1{autoCommit=true}(A0:sht,A1:sht):void; X_4 := udf.fuse(A0,A1); sql.exportValue(1,".","fuse_single_value","int",32,0,6,X_4,""); @@ -59,7 +59,7 @@ end s1_1; % .explain # table_name % mal # name % clob # type -% 84 # length +% 79 # length function user.s2_1{autoCommit=true}(A0:int,A1:int):void; X_4 := udf.fuse(A0,A1); sql.exportValue(1,".","fuse_single_value","bigint",64,0,6,X_4,""); @@ -92,7 +92,7 @@ end s2_1; % .explain # table_name % mal # name % clob # type -% 86 # length +% 81 # length function user.s5_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","udf_fuse"); @@ -116,7 +116,7 @@ end s5_1; % .explain # table_name % mal # name % clob # type -% 86 # length +% 81 # length function user.s6_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","udf_fuse"); @@ -140,7 +140,7 @@ end s6_1; % .explain # table_name % mal # name % clob # type -% 86 # length +% 81 # length function user.s7_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","udf_fuse"); diff --git a/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out b/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out --- a/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out +++ b/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out @@ -48,7 +48,7 @@ Ready. % .explain # table_name % mal # name % clob # type -% 85 # length +% 80 # length function user.s0_1{autoCommit=true}(A0:str):void; X_3 := udf.reverse(A0); sql.exportValue(1,".","reverse_single_value","clob",0,0,4,X_3,""); @@ -81,7 +81,7 @@ end s0_1; % .explain # table_name % mal # name % clob # type -% 91 # length +% 85 # length function user.s3_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","udf_reverse"); diff --git a/sql/backends/monet5/sql_gencode.c b/sql/backends/monet5/sql_gencode.c --- a/sql/backends/monet5/sql_gencode.c +++ b/sql/backends/monet5/sql_gencode.c @@ -2354,7 +2354,6 @@ backend_dumpproc(backend *be, Client c, int argc = 0; char arg[SMALLBUFSIZ]; node *n; - lng Toptimize = 0; str pipe; backup = c->curprg; @@ -2403,13 +2402,13 @@ backend_dumpproc(backend *be, Client c, if (backend_dumpstmt(be, mb, s) < 0) return NULL; - Toptimize = GDKusec(); // Always keep the SQL query around for monitoring // if (m->history || QLOGisset()) { { char *t; InstrPtr q; + lng Toptimize = GDKusec(); if ( be->q && be->q->codestring) { t = GDKstrdup( be->q->codestring); @@ -2422,13 +2421,13 @@ backend_dumpproc(backend *be, Client c, q->token = REMsymbol; // will be patched q = pushStr(mb, q, t); q = pushStr(mb, q, pipe= initSQLoptimizer()); + Toptimize = GDKusec() - Toptimize; (void) pushLng(mb, q, Toptimize); m->Tparse = 0; GDKfree(pipe); } if (cq) addQueryToCache(c); - Toptimize = GDKusec() - Toptimize; curPrg = c->curprg; if (backup) ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - approve more tests because of querylog schema...
Changeset: 8dff6b1869bf for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8dff6b1869bf Modified Files: sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.stable.out sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-0.Bug-3063.stable.out sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-1.Bug-3063.stable.out sql/test/Dependencies/Tests/Dependencies.stable.out sql/test/Dump/Tests/dump-empty.stable.out sql/test/Dump/Tests/dump.stable.out sql/test/UserDump/Tests/create.stable.out sql/test/bugs/Tests/crash_order_by.stable.out sql/test/bugs/Tests/groupby_having_charlength-bug-sf-943566.stable.out sql/test/bugs/Tests/simple_view.stable.out sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out sql/test/leaks/Tests/check0.stable.out sql/test/leaks/Tests/check1.stable.out sql/test/leaks/Tests/check2.stable.out sql/test/leaks/Tests/check3.stable.out sql/test/leaks/Tests/check4.stable.out sql/test/leaks/Tests/check5.stable.out sql/test/leaks/Tests/drop3.stable.out sql/test/leaks/Tests/select1.stable.out sql/test/leaks/Tests/select2.stable.out sql/test/leaks/Tests/temp1.stable.out sql/test/leaks/Tests/temp2.stable.out sql/test/leaks/Tests/temp3.stable.out sql/test/mapi/Tests/php_monetdb.stable.out sql/test/testdb/Tests/testdb-dump.stable.out Branch: default Log Message: approve more tests because of querylog schema changes diffs (truncated from 1371 to 300 lines): diff --git a/sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.stable.out b/sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.stable.out --- a/sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.stable.out +++ b/sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.stable.out @@ -17,13 +17,6 @@ stdout of test 'interrupted-initializati # MonetDB/GIS module loaded # MonetDB/SQL module loaded START TRANSACTION; -CREATE SCHEMA "querylog" AUTHORIZATION "monetdb"; -SET SCHEMA "querylog"; -create view querylog.history as -select qd.*, ql."start",ql."stop", ql.arguments, ql.tuples, ql.run, ql.ship, ql.cpu, ql.space, ql.io -from querylog.catalog() qd, querylog.calls() ql -where qd.id = ql.id and qd.owner = user; -SET SCHEMA "sys"; COMMIT; # MonetDB 5 server v11.5.8 # This is an unreleased version diff --git a/sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out b/sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out --- a/sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out +++ b/sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out @@ -54,11 +54,11 @@ Ready. [ 5104,"user_role",2000, NULL, 0, true, 0, false, 0 ] [ 5107,"auths",2000, NULL, 0, true, 0, false, 0 ] [ 5111,"privileges", 2000, NULL, 0, true, 0, false, 0 ] -[ 5298,"history", 5255, "create view querylog.history as\nselect qd.*, ql.\"start\",ql.\"stop\", ql.arguments, ql.tuples, ql.run, ql.ship, ql.cpu, ql.space, ql.io \nfrom querylog.catalog() qd, querylog.calls() ql\nwhere qd.id = ql.id and qd.owner = user;",1, false, 0, false, 0 ] -[ 6049,"storagemodelinput",2000, NULL, 0, true, 0, false, 0 ] -[ 6090,"tablestoragemodel",2000, "-- A summary of the table storage requirement is is available as a table view.\n-- The auxillary column denotes the maximum space if all non-sorted columns\n-- would be augmented with a hash (rare situation)\ncreate view sys.tablestoragemodel\nas select \"schema\",\"table\",max(count) as \"count\",\n\tsum(columnsize) as columnsize,\n\tsum(heapsize) as heapsize,\n\tsum(indices) as indices,\n\tsum(case when sorted = false then 8 * count else 0 end) as auxillary\nfrom sys.storagemodel() group by \"schema\",\"table\";", 1, true, 0, false, 0 ] -[ 6112,"systemfunctions", 2000, NULL, 0, true, 0, false, 0 ] -[ 6221,"r",2000, NULL, 0, false, 0, false, 0 ] +[ 5297,"querylog_history", 2000, "create view sys.querylog_history as\nselect qd.*, ql.\"start\",ql.\"stop\", ql.arguments, ql.tuples, ql.run, ql.ship, ql.cpu, ql.space, ql.io \nfrom sys.querylog_catalog() qd, sys.querylog_calls() ql\nwhere qd.id = ql.id and qd.owner = user;",1, true, 0, false, 0 ] +[ 6057,"storagemodelinput",2000, NULL, 0, true, 0, false, 0 ] +[
MonetDB: default - more stable out changes because of querylog/s...
Changeset: f0064399c390 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f0064399c390 Modified Files: sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out sql/test/BugTracker-2009/Tests/mclient-lsql-D.stable.out sql/test/BugTracker-2009/Tests/name_clash_with_dump.SF-2780395.stable.out sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out Branch: default Log Message: more stable out changes because of querylog/sysmon and schema changes diffs (146 lines): diff --git a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out b/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out --- a/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out +++ b/sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out @@ -27,7 +27,7 @@ Ready. % .explain # table_name % mal # name % clob # type -% 89 # length +% 90 # length function user.s0_1{autoCommit=true}(A0:dbl):void; X_3 := sql.mvc(); X_4:bat[:oid,:oid] := sql.tid(X_3,"sys","sf_2596114"); @@ -46,7 +46,7 @@ end s0_1; % .explain # table_name % mal # name % clob # type -% 82 # length +% 83 # length function user.s1_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","sf_2596114"); diff --git a/sql/test/BugTracker-2009/Tests/mclient-lsql-D.stable.out b/sql/test/BugTracker-2009/Tests/mclient-lsql-D.stable.out --- a/sql/test/BugTracker-2009/Tests/mclient-lsql-D.stable.out +++ b/sql/test/BugTracker-2009/Tests/mclient-lsql-D.stable.out @@ -30,12 +30,6 @@ Ready. # 21:51:00 > START TRANSACTION; -CREATE SCHEMA "querylog" AUTHORIZATION "monetdb"; -SET SCHEMA "querylog"; -create view querylog.history as -select qd.*, ql."start",ql."stop", ql.arguments, ql.tuples, ql.run, ql.ship, ql.cpu, ql.space, ql.io -from querylog.catalog() qd, querylog.calls() ql -where qd.id = ql.id and qd.owner = user; SET SCHEMA "sys"; CREATE TABLE "sys"."table_a" ( "table_a_id" INTEGER NOT NULL, diff --git a/sql/test/BugTracker-2009/Tests/name_clash_with_dump.SF-2780395.stable.out b/sql/test/BugTracker-2009/Tests/name_clash_with_dump.SF-2780395.stable.out --- a/sql/test/BugTracker-2009/Tests/name_clash_with_dump.SF-2780395.stable.out +++ b/sql/test/BugTracker-2009/Tests/name_clash_with_dump.SF-2780395.stable.out @@ -25,12 +25,6 @@ Ready. # 18:43:34 > START TRANSACTION; -CREATE SCHEMA "querylog" AUTHORIZATION "monetdb"; -SET SCHEMA "querylog"; -create view querylog.history as -select qd.*, ql."start",ql."stop", ql.arguments, ql.tuples, ql.run, ql.ship, ql.cpu, ql.space, ql.io -from querylog.catalog() qd, querylog.calls() ql -where qd.id = ql.id and qd.owner = user; SET SCHEMA "sys"; CREATE TABLE "sys"."tf" ( "a" INTEGER diff --git a/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out b/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out --- a/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out +++ b/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out @@ -128,7 +128,7 @@ top N ( % .explain # table_name % mal # name % clob # type -% 75 # length +% 74 # length function user.s1_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -146,7 +146,7 @@ end s1_1; % .explain # table_name % mal # name % clob # type -% 84 # length +% 83 # length function user.s2_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -170,7 +170,7 @@ end s2_1; % .explain # table_name % mal # name % clob # type -% 83 # length +% 82 # length function user.s3_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -194,7 +194,7 @@ end s3_1; % .explain # table_name % mal # name % clob # type -% 92 # length +% 91 # length function user.s4_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -218,7 +218,7 @@ end s4_1; % .explain # table_name % mal # name % clob # type -% 92 # length +% 91 # length function user.s5_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -242,7 +242,7 @@ end s5_1; % .explain # table_name % mal # name % clob # type -% 86 # length +% 85 # length function user.s6_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -262,7 +262,7 @@ end s6_1; % .explain # table_name % mal # name % clob # type -% 95 # length +% 94 # length function user.s7_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","oblo"); @@ -288,7 +288,7 @@ end s7_1; % .explain # table_name % mal # name % clob # type -% 94 # length +% 93 # length function user.s8_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oi
MonetDB: default - Removal of old performance tracing properties.
Changeset: b47f27d65058 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b47f27d65058 Modified Files: monetdb5/mal/Tests/performanceTests/performanceLog monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_runtime.c monetdb5/mal/mal_runtime.h Branch: default Log Message: Removal of old performance tracing properties. diffs (261 lines): diff --git a/monetdb5/mal/Tests/performanceTests/performanceLog b/monetdb5/mal/Tests/performanceTests/performanceLog --- a/monetdb5/mal/Tests/performanceTests/performanceLog +++ b/monetdb5/mal/Tests/performanceTests/performanceLog @@ -1216,3 +1216,18 @@ tst400e 0.613/0.524/0.013 tst901a1.315/0.651/0.595 tst901b1.313/1.222/0.016 + 20 mar 2013 === +Vienna Fedora 18 +Default release +The compilation mode for is --enable-optimize --disable-debug +compilation took ? +command: time mserver5 TST /dev/null +base 0.212/0.046/0.016. +tst400a0.211/0.079/0.014 +tst400bHuge0.263/0.109/0.020 +tst400cHuge0.264/0.120/0.023 +tst400d0.511/0.319/0.020 +tst400e0.613/0.470/0.012 + +tst901a0.655/0.409/0.038 +tst901b1.417/1.100/0.038 diff --git a/monetdb5/mal/mal_interpreter.c b/monetdb5/mal/mal_interpreter.c --- a/monetdb5/mal/mal_interpreter.c +++ b/monetdb5/mal/mal_interpreter.c @@ -496,13 +496,10 @@ str runMALsequence(Client cntxt, MalBlkP ValPtr backup; int garbages[16], *garbage; int stkpc = 0; - //MT_Lock *lock = NULL; - //int tid = 0; RuntimeProfileRecord runtimeProfile, runtimeProfileFunction; if (stk == NULL) throw(MAL, "mal.interpreter", MAL_STACK_FAIL); - runtimeProfileInit(cntxt, mb, stk, &runtimeProfile); /* prepare extended backup and garbage structures */ if ( mb->maxarg > 16 ){ @@ -516,9 +513,9 @@ str runMALsequence(Client cntxt, MalBlkP /* also produce event record for start of function */ if ( startpc == 1 ){ - runtimeProfileInit(cntxt, mb, stk, &runtimeProfileFunction); + runtimeProfileInit(cntxt, mb, stk); runtimeProfileBegin(cntxt, mb, stk, 0, &runtimeProfileFunction, 1); - } + } stkpc = startpc; exceptionVar = -1; @@ -700,12 +697,10 @@ str runMALsequence(Client cntxt, MalBlkP if (getInstrPtr(mb, 0)->token == FACTORYsymbol) ret = shutdownFactory(cntxt, mb); runtimeProfileExit(cntxt, mb, stk, pci, &runtimeProfile); - runtimeProfileFinish(cntxt, mb, &runtimeProfile); runtimeProfileExit(cntxt, mb, stk, getInstrPtr(mb,0), &runtimeProfileFunction); - runtimeProfileFinish(cntxt, mb, &runtimeProfileFunction); + runtimeProfileFinish(cntxt, mb); if (pcicaller && garbageControl(getInstrPtr(mb, 0))) garbageCollector(cntxt, mb, stk, TRUE); - runtimeProfile.ppc = 0; /* also finalize function call event */ if (cntxt->qtimeout && time(NULL) - stk->clock.tv_usec > cntxt->qtimeout){ ret= createException(MAL, "mal.interpreter", RUNTIME_QRY_TIMEOUT); break; @@ -732,7 +727,6 @@ str runMALsequence(Client cntxt, MalBlkP /* monitoring information should reflect the input arguments, which may be removed by garbage collection */ runtimeProfileExit(cntxt, mb, stk, pci, &runtimeProfile); - //runtimeTiming(cntxt, mb, stk, pci, tid, lock, &runtimeProfile); /* check for strong debugging after each MAL statement */ if ( pci->token != FACcall && ret== MAL_SUCCEED) { if (GDKdebug & (CHECKMASK|PROPMASK) && exceptionVar < 0) { @@ -856,7 +850,7 @@ str runMALsequence(Client cntxt, MalBlkP /* unknown exceptions lead to propagation */ if (exceptionVar == -1) { runtimeProfileExit(cntxt, mb, stk, pci, &runtimeProfile); - runtimeProfileFinish(cntxt, mb, &runtimeProfile); + runtimeProfileFinish(cntxt, mb); if (cntxt->qtimeout && time(NULL) - stk->clock.tv_usec > cntxt->qtimeout) ret= createException(MAL, "mal.interpreter", RUNTIME_QRY_TIMEOUT); stkpc = mb->stop; @@ -1083,9 +107
MonetDB: default - approving tests after querlog / sysmon changes
Changeset: aecea48fd3aa for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=aecea48fd3aa Modified Files: sql/backends/monet5/UDF/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/Tests/udf-reverse.stable.out sql/jdbc/tests/Tests/Test_Dobjects.stable.out sql/jdbc/tests/Tests/Test_JdbcClient.stable.out sql/scripts/15_querylog.sql sql/test/BugDay_2005-10-06_2.8/Tests/MapiClient-dump.SF-905851.stable.out sql/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err sql/test/BugTracker/Tests/multi-column-constraint.SF-1964587.stable.out sql/test/Tests/systemfunctions.stable.out Branch: default Log Message: approving tests after querlog / sysmon changes also made querylog_history a system view. diffs (210 lines): diff --git a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out --- a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out +++ b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out @@ -44,7 +44,7 @@ end s0_1; % .explain # table_name % mal # name % clob # type -% 67 # length +% 78 # length function user.s1_1{autoCommit=true}(A0:sht,A1:sht):void; X_4 := udf.fuse(A0,A1); sql.exportValue(1,".","fuse_single_value","int",32,0,6,X_4,""); @@ -59,7 +59,7 @@ end s1_1; % .explain # table_name % mal # name % clob # type -% 70 # length +% 84 # length function user.s2_1{autoCommit=true}(A0:int,A1:int):void; X_4 := udf.fuse(A0,A1); sql.exportValue(1,".","fuse_single_value","bigint",64,0,6,X_4,""); @@ -92,7 +92,7 @@ end s2_1; % .explain # table_name % mal # name % clob # type -% 60 # length +% 86 # length function user.s5_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","udf_fuse"); @@ -116,7 +116,7 @@ end s5_1; % .explain # table_name % mal # name % clob # type -% 57 # length +% 86 # length function user.s6_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","udf_fuse"); @@ -140,7 +140,7 @@ end s6_1; % .explain # table_name % mal # name % clob # type -% 58 # length +% 86 # length function user.s7_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","udf_fuse"); diff --git a/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out b/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out --- a/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out +++ b/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out @@ -48,7 +48,7 @@ Ready. % .explain # table_name % mal # name % clob # type -% 70 # length +% 85 # length function user.s0_1{autoCommit=true}(A0:str):void; X_3 := udf.reverse(A0); sql.exportValue(1,".","reverse_single_value","clob",0,0,4,X_3,""); @@ -81,7 +81,7 @@ end s0_1; % .explain # table_name % mal # name % clob # type -% 60 # length +% 91 # length function user.s3_1{autoCommit=true}():void; X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,"sys","udf_reverse"); diff --git a/sql/jdbc/tests/Tests/Test_Dobjects.stable.out b/sql/jdbc/tests/Tests/Test_Dobjects.stable.out --- a/sql/jdbc/tests/Tests/Test_Dobjects.stable.out +++ b/sql/jdbc/tests/Tests/Test_Dobjects.stable.out @@ -54,7 +54,6 @@ TABLE_TYPE mTests_sql_jdbc_tests Resultset with 3 columns TABLE_SCHEMTABLE_CATALOG TABLE_CAT -querylog mTests_sql_jdbc_tests mTests_sql_jdbc_tests sysmTests_sql_jdbc_tests mTests_sql_jdbc_tests tmpmTests_sql_jdbc_tests mTests_sql_jdbc_tests Resultset with 3 columns @@ -88,6 +87,10 @@ mTests_sql_jdbc_teststmp keysSYSTEM TA mTests_sql_jdbc_tests tmp objects SYSTEM TABLEnullnullnull nullrowid SYSTEM mTests_sql_jdbc_tests tmp triggersSYSTEM TABLEnullnull nullnullrowid SYSTEM mTests_sql_jdbc_tests sys columns SYSTEM VIEW SELECT * FROM (SELECT p.* FROM "sys"."_columns" AS p UNION ALL SELECT t.* FROM "tmp"."_columns" AS t) AS columns; nullnullnullrowid SYSTEM +mTests_sql_jdbc_tests sys querylog_historySYSTEM VIEW create view sys.querylog_history as +select qd.*, ql."start",ql."stop", ql.arguments, ql.tuples, ql.run, ql.ship, ql.cpu, ql.space, ql.io +from sys.querylog_catalog() qd, sys.querylog_calls() ql +where qd.id = ql.id and qd.owner = user; nullnullnullrowid SYSTEM mTests_sql_jdbc_tests sys tables SYSTEM VIEW SELECT * FROM (SELECT p.*, 0 AS "temporary" FROM "sys"."_tables" AS p UNION ALL SELECT t.*, 1 AS "temporary" FROM "tmp"."_tables" AS t) AS tables where tables.type <> 2; nullnullnullrowid SYSTEM mTests_sql_jdbc_tests sys tablestoragemodel SYSTEM VIEW -- A summary of the table storage requirement is is available as a table view. -- The auxillary column denotes the maximum space if all non-sorted columns @@ -100,10 +103,6 @@ as
MonetDB: default - use a more explicit querylog_history view name
Changeset: 103f4488b953 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=103f4488b953 Modified Files: sql/scripts/15_querylog.sql Branch: default Log Message: use a more explicit querylog_history view name diffs (12 lines): diff --git a/sql/scripts/15_querylog.sql b/sql/scripts/15_querylog.sql --- a/sql/scripts/15_querylog.sql +++ b/sql/scripts/15_querylog.sql @@ -60,7 +60,7 @@ returns table( ) external name sql.querylog_calls; -create view sys.history as +create view sys.querylog_history as select qd.*, ql."start",ql."stop", ql.arguments, ql.tuples, ql.run, ql.ship, ql.cpu, ql.space, ql.io from sys.querylog_catalog() qd, sys.querylog_calls() ql where qd.id = ql.id and qd.owner = user; ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - removed one more querylog schema reference
Changeset: 56c12a975a27 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=56c12a975a27 Modified Files: sql/scripts/15_querylog.sql Branch: default Log Message: removed one more querylog schema reference diffs (12 lines): diff --git a/sql/scripts/15_querylog.sql b/sql/scripts/15_querylog.sql --- a/sql/scripts/15_querylog.sql +++ b/sql/scripts/15_querylog.sql @@ -60,7 +60,7 @@ returns table( ) external name sql.querylog_calls; -create view sys.querylog.history as +create view sys.history as select qd.*, ql."start",ql."stop", ql.arguments, ql.tuples, ql.run, ql.ship, ql.cpu, ql.space, ql.io from sys.querylog_catalog() qd, sys.querylog_calls() ql where qd.id = ql.id and qd.owner = user; ___ checkin-list mailing list checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list