Changeset: dd824d804954 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dd824d804954
Modified Files:
        clients/Tests/exports.stable.out
        gdk/gdk_logger.c
        gdk/gdk_logger.h
        gdk/gdk_sample.c
        sql/test/pg_regress/Tests/All
        sql/test/pg_regress/Tests/aggregates.stable.err
        sql/test/pg_regress/Tests/aggregates.stable.out
        sql/test/pg_regress/Tests/alter_table.stable.err
        sql/test/pg_regress/Tests/alter_table.stable.out
        sql/test/pg_regress/Tests/arrays.stable.err
        sql/test/pg_regress/Tests/arrays.stable.out
        sql/test/pg_regress/Tests/bit.stable.err
        sql/test/pg_regress/Tests/bit.stable.out
        sql/test/pg_regress/Tests/boolean.stable.err
        sql/test/pg_regress/Tests/boolean.stable.out
        sql/test/pg_regress/Tests/box.stable.err
        sql/test/pg_regress/Tests/box.stable.out
        sql/test/pg_regress/Tests/btree_index.stable.err
        sql/test/pg_regress/Tests/btree_index.stable.out
        sql/test/pg_regress/Tests/case.stable.err
        sql/test/pg_regress/Tests/case.stable.out
        sql/test/pg_regress/Tests/char.stable.err
        sql/test/pg_regress/Tests/char.stable.out
        sql/test/pg_regress/Tests/circle.stable.err
        sql/test/pg_regress/Tests/circle.stable.out
        sql/test/pg_regress/Tests/cluster.stable.err
        sql/test/pg_regress/Tests/cluster.stable.out
        sql/test/pg_regress/Tests/comments.stable.err
        sql/test/pg_regress/Tests/comments.stable.out
        sql/test/pg_regress/Tests/conversion.stable.err
        sql/test/pg_regress/Tests/conversion.stable.out
        sql/test/pg_regress/Tests/copy2.stable.err
        sql/test/pg_regress/Tests/copy2.stable.out
        sql/test/pg_regress/Tests/create_aggregate.stable.err
        sql/test/pg_regress/Tests/create_aggregate.stable.out
        sql/test/pg_regress/Tests/create_index.stable.err
        sql/test/pg_regress/Tests/create_index.stable.out
        sql/test/pg_regress/Tests/create_misc.stable.err
        sql/test/pg_regress/Tests/create_misc.stable.out
        sql/test/pg_regress/Tests/create_operator.stable.err
        sql/test/pg_regress/Tests/create_operator.stable.out
        sql/test/pg_regress/Tests/create_table.stable.err
        sql/test/pg_regress/Tests/create_table.stable.out
        sql/test/pg_regress/Tests/create_type.stable.err
        sql/test/pg_regress/Tests/create_type.stable.out
        sql/test/pg_regress/Tests/create_view.stable.err
        sql/test/pg_regress/Tests/create_view.stable.out
        sql/test/pg_regress/Tests/date.stable.err
        sql/test/pg_regress/Tests/date.stable.out
        sql/test/pg_regress/Tests/domain.stable.err
        sql/test/pg_regress/Tests/domain.stable.out
        sql/test/pg_regress/Tests/drop.stable.err
        sql/test/pg_regress/Tests/drop.stable.out
        sql/test/pg_regress/Tests/errors.stable.err
        sql/test/pg_regress/Tests/errors.stable.out
        sql/test/pg_regress/Tests/float4.stable.err
        sql/test/pg_regress/Tests/float4.stable.out
        sql/test/pg_regress/Tests/float8.stable.err
        sql/test/pg_regress/Tests/float8.stable.out
        sql/test/pg_regress/Tests/foreign_key.stable.err
        sql/test/pg_regress/Tests/foreign_key.stable.out
        sql/test/pg_regress/Tests/geometry.stable.err
        sql/test/pg_regress/Tests/geometry.stable.out
        sql/test/pg_regress/Tests/hash_index.stable.err
        sql/test/pg_regress/Tests/hash_index.stable.out
        sql/test/pg_regress/Tests/horology.stable.err
        sql/test/pg_regress/Tests/horology.stable.out
        sql/test/pg_regress/Tests/inet.stable.err
        sql/test/pg_regress/Tests/inet.stable.out
        sql/test/pg_regress/Tests/inherit.stable.err
        sql/test/pg_regress/Tests/inherit.stable.out
        sql/test/pg_regress/Tests/insert.stable.err
        sql/test/pg_regress/Tests/insert.stable.out
        sql/test/pg_regress/Tests/int2.stable.err
        sql/test/pg_regress/Tests/int2.stable.out
        sql/test/pg_regress/Tests/int4.stable.err
        sql/test/pg_regress/Tests/int4.stable.out
        sql/test/pg_regress/Tests/int8.stable.err
        sql/test/pg_regress/Tests/int8.stable.out
        sql/test/pg_regress/Tests/interval.stable.err
        sql/test/pg_regress/Tests/interval.stable.out
        sql/test/pg_regress/Tests/join.stable.err
        sql/test/pg_regress/Tests/join.stable.out
        sql/test/pg_regress/Tests/limit.stable.err
        sql/test/pg_regress/Tests/limit.stable.out
        sql/test/pg_regress/Tests/load.SQL.bat
        sql/test/pg_regress/Tests/load.SQL.sh
        sql/test/pg_regress/Tests/lseg.stable.err
        sql/test/pg_regress/Tests/lseg.stable.out
        sql/test/pg_regress/Tests/mule_internal.stable.err
        sql/test/pg_regress/Tests/mule_internal.stable.out
        sql/test/pg_regress/Tests/name.stable.err
        sql/test/pg_regress/Tests/name.stable.out
        sql/test/pg_regress/Tests/namespace.stable.err
        sql/test/pg_regress/Tests/namespace.stable.out
        sql/test/pg_regress/Tests/numeric.stable.err
        sql/test/pg_regress/Tests/numeric.stable.out
        sql/test/pg_regress/Tests/numeric_big.stable.err
        sql/test/pg_regress/Tests/numeric_big.stable.out
        sql/test/pg_regress/Tests/numerology.stable.err
        sql/test/pg_regress/Tests/numerology.stable.out
        sql/test/pg_regress/Tests/oid.stable.err
        sql/test/pg_regress/Tests/oid.stable.out
        sql/test/pg_regress/Tests/oidjoins.stable.err
        sql/test/pg_regress/Tests/oidjoins.stable.out
        sql/test/pg_regress/Tests/opr_sanity.stable.err
        sql/test/pg_regress/Tests/opr_sanity.stable.out
        sql/test/pg_regress/Tests/path.stable.err
        sql/test/pg_regress/Tests/path.stable.out
        sql/test/pg_regress/Tests/plpgsql.stable.err
        sql/test/pg_regress/Tests/plpgsql.stable.out
        sql/test/pg_regress/Tests/point.stable.err
        sql/test/pg_regress/Tests/point.stable.out
        sql/test/pg_regress/Tests/polygon.stable.err
        sql/test/pg_regress/Tests/polygon.stable.out
        sql/test/pg_regress/Tests/polymorphism.stable.err
        sql/test/pg_regress/Tests/polymorphism.stable.out
        sql/test/pg_regress/Tests/portals.stable.err
        sql/test/pg_regress/Tests/portals.stable.out
        sql/test/pg_regress/Tests/portals_p2.stable.err
        sql/test/pg_regress/Tests/portals_p2.stable.out
        sql/test/pg_regress/Tests/prepare.stable.err
        sql/test/pg_regress/Tests/prepare.stable.out
        sql/test/pg_regress/Tests/privileges.stable.err
        sql/test/pg_regress/Tests/privileges.stable.out
        sql/test/pg_regress/Tests/random.stable.err
        sql/test/pg_regress/Tests/random.stable.out
        sql/test/pg_regress/Tests/rangefuncs.stable.err
        sql/test/pg_regress/Tests/rangefuncs.stable.out
        sql/test/pg_regress/Tests/reltime.stable.err
        sql/test/pg_regress/Tests/reltime.stable.out
        sql/test/pg_regress/Tests/rowtypes.stable.err
        sql/test/pg_regress/Tests/rowtypes.stable.out
        sql/test/pg_regress/Tests/rules.stable.err
        sql/test/pg_regress/Tests/rules.stable.out
        sql/test/pg_regress/Tests/sanity_check.stable.err
        sql/test/pg_regress/Tests/sanity_check.stable.out
        sql/test/pg_regress/Tests/select.stable.err
        sql/test/pg_regress/Tests/select.stable.out
        sql/test/pg_regress/Tests/select_distinct.stable.err
        sql/test/pg_regress/Tests/select_distinct.stable.out
        sql/test/pg_regress/Tests/select_distinct_on.stable.err
        sql/test/pg_regress/Tests/select_distinct_on.stable.out
        sql/test/pg_regress/Tests/select_having.stable.err
        sql/test/pg_regress/Tests/select_having.stable.out
        sql/test/pg_regress/Tests/select_implicit.stable.err
        sql/test/pg_regress/Tests/select_implicit.stable.out
        sql/test/pg_regress/Tests/select_into.stable.err
        sql/test/pg_regress/Tests/select_into.stable.out
        sql/test/pg_regress/Tests/select_views.stable.err
        sql/test/pg_regress/Tests/select_views.stable.out
        sql/test/pg_regress/Tests/sequence.stable.err
        sql/test/pg_regress/Tests/sequence.stable.out
        sql/test/pg_regress/Tests/sql_ascii.stable.err
        sql/test/pg_regress/Tests/sql_ascii.stable.out
        sql/test/pg_regress/Tests/stats.stable.err
        sql/test/pg_regress/Tests/stats.stable.out
        sql/test/pg_regress/Tests/strings.stable.err
        sql/test/pg_regress/Tests/strings.stable.out
        sql/test/pg_regress/Tests/strings_cast.stable.err
        sql/test/pg_regress/Tests/strings_cast.stable.out
        sql/test/pg_regress/Tests/strings_concat.stable.err
        sql/test/pg_regress/Tests/strings_concat.stable.out
        sql/test/pg_regress/Tests/strings_like.stable.out
        sql/test/pg_regress/Tests/subselect.stable.err
        sql/test/pg_regress/Tests/subselect.stable.out
        sql/test/pg_regress/Tests/temp.stable.err
        sql/test/pg_regress/Tests/temp.stable.out
        sql/test/pg_regress/Tests/text.stable.err
        sql/test/pg_regress/Tests/text.stable.out
        sql/test/pg_regress/Tests/time.stable.err
        sql/test/pg_regress/Tests/time.stable.out
        sql/test/pg_regress/Tests/timestamp.stable.err
        sql/test/pg_regress/Tests/timestamp.stable.out
        sql/test/pg_regress/Tests/timestamptz.stable.err
        sql/test/pg_regress/Tests/timestamptz.stable.out
        sql/test/pg_regress/Tests/timetz.stable.err
        sql/test/pg_regress/Tests/timetz.stable.out
        sql/test/pg_regress/Tests/tinterval.stable.err
        sql/test/pg_regress/Tests/tinterval.stable.out
        sql/test/pg_regress/Tests/transactions.stable.err
        sql/test/pg_regress/Tests/transactions.stable.out
        sql/test/pg_regress/Tests/triggers.stable.err
        sql/test/pg_regress/Tests/triggers.stable.out
        sql/test/pg_regress/Tests/truncate.stable.err
        sql/test/pg_regress/Tests/truncate.stable.out
        sql/test/pg_regress/Tests/type_sanity.stable.err
        sql/test/pg_regress/Tests/type_sanity.stable.out
        sql/test/pg_regress/Tests/union.stable.err
        sql/test/pg_regress/Tests/union.stable.out
        sql/test/pg_regress/Tests/update.stable.err
        sql/test/pg_regress/Tests/update.stable.out
        sql/test/pg_regress/Tests/vacuum.stable.err
        sql/test/pg_regress/Tests/vacuum.stable.out
        sql/test/pg_regress/Tests/varchar.stable.err
        sql/test/pg_regress/Tests/varchar.stable.out
        sql/test/pg_regress/Tests/without_oid.stable.err
        sql/test/pg_regress/Tests/without_oid.stable.out
Branch: geo
Log Message:

Merge with default branch.


diffs (truncated from 75893 to 300 lines):

diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -428,7 +428,7 @@ int log_sequence(logger *lg, int seq, ln
 int log_tend(logger *lg);
 int log_tstart(logger *lg);
 log_bid logger_add_bat(logger *lg, BAT *b, char *name);
-size_t logger_changes(logger *lg);
+lng logger_changes(logger *lg);
 int logger_cleanup(logger *lg);
 logger *logger_create(int debug, char *fn, char *logdir, int version, 
preversionfix_fptr prefuncp, postversionfix_fptr postfuncp);
 void logger_del_bat(logger *lg, log_bid bid);
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1654,7 +1654,7 @@ logger_cleanup(logger *lg)
        return LOG_OK;
 }
 
-size_t
+lng
 logger_changes(logger *lg)
 {
        return lg->changes;
@@ -1782,7 +1782,7 @@ log_delta(logger *lg, BAT *b, char *name
 
        l.tid = lg->tid;
        l.nr = (BUNlast(b) - BUNfirst(b));
-       lg->changes += (size_t)l.nr;
+       lg->changes += l.nr;
 
        if (l.nr) {
                BATiter bi = bat_iterator(b);
@@ -1824,7 +1824,7 @@ log_bat(logger *lg, BAT *b, char *name)
 
        l.tid = lg->tid;
        l.nr = (BUNlast(b) - b->batInserted);
-       lg->changes += (size_t)l.nr;
+       lg->changes += l.nr;
 
        if (l.nr) {
                BATiter bi = bat_iterator(b);
@@ -1857,7 +1857,7 @@ log_bat(logger *lg, BAT *b, char *name)
                        fprintf(stderr, "#Logged %s " LLFMT " inserts\n", name, 
l.nr);
        }
        l.nr = (b->batFirst - b->batDeleted);
-       lg->changes += (size_t)l.nr;
+       lg->changes += l.nr;
 
        if (l.nr && ok == GDK_SUCCEED) {
                BATiter bi = bat_iterator(b);
@@ -1897,7 +1897,7 @@ log_bat_clear(logger *lg, char *name)
 
        l.nr = 1;
        l.tid = lg->tid;
-       lg->changes += (size_t)l.nr;
+       lg->changes += l.nr;
 
        l.flag = LOG_CLEAR;
        if (log_write_format(lg, &l) == LOG_ERR ||
diff --git a/gdk/gdk_logger.h b/gdk/gdk_logger.h
--- a/gdk/gdk_logger.h
+++ b/gdk/gdk_logger.h
@@ -104,7 +104,7 @@ gdk_export void logger_destroy(logger *l
 gdk_export int logger_exit(logger *lg);
 gdk_export int logger_restart(logger *lg);
 gdk_export int logger_cleanup(logger *lg);
-gdk_export size_t logger_changes(logger *lg);
+gdk_export lng logger_changes(logger *lg);
 gdk_export int logger_sequence(logger *lg, int seq, lng *id);
 
 /* todo pass the transaction id */
diff --git a/gdk/gdk_sample.c b/gdk/gdk_sample.c
--- a/gdk/gdk_sample.c
+++ b/gdk/gdk_sample.c
@@ -27,6 +27,11 @@
  * This implementation has a logarithmic complexity that only depends on the
  * sample size.
  *
+ * There is a pathological case when the sample size is almost the size of the 
BAT.
+ * Then, many collisions occur and performance degrades. To catch this, we 
+ * switch to antiset semantics when the sample size is larger than half the BAT
+ * size. Then, we generate the values that should be omitted from the sample.
+ *
  */
 
 #include "monetdb_config.h"
@@ -92,6 +97,22 @@ static void OIDTreeToBAT(struct oidtreen
                OIDTreeToBAT(node->right, bat);
 }
 
+/* Antiset traversal, give us all values but the ones in the tree */
+static void OIDTreeToBATAntiset(struct oidtreenode* node, BAT *bat, BUN start, 
BUN stop) {
+       BUN noid;
+       if (node->left != NULL)
+               OIDTreeToBATAntiset(node->left, bat, start, node->oid);
+       else 
+               for (noid = start+1; noid < node->oid; noid++)
+                       ((oid *) bat->T->heap.base)[bat->batFirst + 
bat->batCount++] = noid;                    
+       
+        if (node->right != NULL)
+               OIDTreeToBATAntiset(node->right, bat, node->oid, stop);
+       else
+               for (noid = node->oid+1; noid < stop; noid++)
+                        ((oid *) bat->T->heap.base)[bat->batFirst + 
bat->batCount++] = noid;
+}
+
 static void OIDTreeDestroy(struct oidtreenode* node) {
        if (node == NULL) {
                return;
@@ -110,7 +131,7 @@ static void OIDTreeDestroy(struct oidtre
 BAT *
 BATsample(BAT *b, BUN n) {
        BAT *bn;
-       BUN cnt;
+       BUN cnt, slen;
        BUN rescnt = 0;
        struct oidtreenode* tree = NULL;
 
@@ -128,7 +149,7 @@ BATsample(BAT *b, BUN n) {
                BATseqbase(bn, 0);
                BATseqbase(BATmirror(bn), 0);
                /* sample size is larger than the input BAT, return all oids */
-       } else if (cnt <= n) {
+       } else if (n >= cnt) {
                bn = BATnew(TYPE_void, TYPE_void, cnt);
                BATsetcount(bn, cnt);
                BATseqbase(bn, 0);
@@ -136,9 +157,13 @@ BATsample(BAT *b, BUN n) {
        } else {
                BUN minoid = b->hseqbase;
                BUN maxoid = b->hseqbase + cnt;
-               //oid *o;
-               bn = BATnew(TYPE_void, TYPE_oid, n);
-
+               /* if someone samples more than half of our tree, we do the 
antiset */
+               bit antiset = n > cnt/2;
+               slen = n;
+               if (antiset) 
+                       n = cnt - n;
+               
+               bn = BATnew(TYPE_void, TYPE_oid, slen);
                if (bn == NULL ) {
                        GDKerror("#BATsample: memory allocation error");
                        return NULL;
@@ -162,10 +187,14 @@ BATsample(BAT *b, BUN n) {
                        tree = ttree;
                        rescnt++;
                }
-               OIDTreeToBAT(tree, bn);
+               if (!antiset) {
+                       OIDTreeToBAT(tree, bn);
+               } else {
+                       OIDTreeToBATAntiset(tree, bn, minoid-1, maxoid+1);
+               }
                OIDTreeDestroy(tree);
 
-               BATsetcount(bn, n);
+               BATsetcount(bn, slen);
                bn->trevsorted = bn->batCount <= 1;
                bn->tsorted = 1;
                bn->tkey = 1;
diff --git a/sql/test/pg_regress/Tests/All b/sql/test/pg_regress/Tests/All
--- a/sql/test/pg_regress/Tests/All
+++ b/sql/test/pg_regress/Tests/All
@@ -1,14 +1,14 @@
-#load
-#
-## these need to go here, later tests depend on their tables to exist
-#char
-#varchar
-#text
-#
-#strings_concat
-#strings_cast
-#strings_like
-#
+load
+
+# these need to go here, later tests depend on their tables to exist
+char
+varchar
+text
+
+strings_concat
+strings_cast
+strings_like
+
 #pgregress set
 # abstime NOT supported ABSTIME, deprecated in Postgresql
 aggregates
@@ -19,7 +19,7 @@ boolean
 box
 btree_index
 case
-char
+##char
 circle
 cluster
 comments
@@ -86,13 +86,13 @@ select_views
 sequence
 sql_ascii
 stats
-strings_cast
-strings_concat
-strings_like
+##strings_cast
+##strings_concat
+##strings_like
 strings
 subselect
 temp
-text
+##text
 time
 timestamp
 timestamptz
@@ -105,5 +105,5 @@ type_sanity
 union
 update
 vacuum
-varchar
+##varchar
 without_oid
diff --git a/sql/test/pg_regress/Tests/aggregates.stable.err 
b/sql/test/pg_regress/Tests/aggregates.stable.err
--- a/sql/test/pg_regress/Tests/aggregates.stable.err
+++ b/sql/test/pg_regress/Tests/aggregates.stable.err
@@ -1,9 +1,9 @@
 stderr of test 'aggregates` in directory 'sql/test/pg_regress` itself:
 
 
-# 17:09:48 >  
-# 17:09:48 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=38959" "--set" 
"mapi_usock=/var/tmp/mtest-1142/.s.monetdb.38959" "--set" "monet_prompt=" 
"--forcemito" "--set" "mal_listing=2" 
"--dbpath=/ufs/dinther/INSTALL/var/MonetDB/mTests_sql_test_pg_regress" "--set" 
"mal_listing=0"
-# 17:09:48 >  
+# 17:11:18 >  
+# 17:11:18 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=38959" "--set" 
"mapi_usock=/var/tmp/mtest-1142/.s.monetdb.38959" "--set" "monet_prompt=" 
"--forcemito" "--set" "mal_listing=2" 
"--dbpath=/ufs/dinther/INSTALL/var/MonetDB/mTests_sql_test_pg_regress" "--set" 
"mal_listing=0"
+# 17:11:18 >  
 
 # builtin opt  gdk_dbpath = /ufs/dinther/INSTALL/var/monetdb5/dbfarm/demo
 # builtin opt  gdk_debug = 0
@@ -25,213 +25,12 @@ stderr of test 'aggregates` in directory
 # cmdline opt  mal_listing = 0
 # cmdline opt  gdk_debug = 536870922
 
-# 17:09:48 >  
-# 17:09:48 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-1142" "--port=38959"
-# 17:09:48 >  
+# 17:11:19 >  
+# 17:11:19 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-1142" "--port=38959"
+# 17:11:19 >  
 
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT avg(four) AS avg_1 FROM onek;
-ERROR = !SELECT: no such table 'onek'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT avg(a) AS avg_32 FROM aggtest WHERE a < 100;
-ERROR = !SELECT: no such table 'aggtest'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT cast(avg(b) as numeric(10,3)) AS avg_107_943 FROM aggtest;
-ERROR = !SELECT: no such table 'aggtest'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT avg(gpa) AS avg_3_4  FROM student;
-ERROR = !SELECT: no such table 'student'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT sum(four) AS sum_1500 FROM onek;
-ERROR = !SELECT: no such table 'onek'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT sum(a) AS sum_198 FROM aggtest;
-ERROR = !SELECT: no such table 'aggtest'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT sum(b) AS avg_431_773 FROM aggtest;
-ERROR = !SELECT: no such table 'aggtest'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT sum(gpa) AS avg_6_8  FROM student;
-ERROR = !SELECT: no such table 'student'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT max(four) AS max_3 FROM onek;
-ERROR = !SELECT: no such table 'onek'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT max(a) AS max_100 FROM aggtest;
-ERROR = !SELECT: no such table 'aggtest'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT max(aggtest.b) AS max_324_78 FROM aggtest;
-ERROR = !SELECT: no such table 'aggtest'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT max(student.gpa) AS max_3_7 FROM student;
-ERROR = !SELECT: no such table 'student'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT count(four) AS cnt_1000 FROM onek;
-ERROR = !SELECT: no such table 'onek'
-QUERY = SELECT count(four) AS cnt_1000 FROM onek;
-ERROR = !SELECT: no such table 'onek'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = SELECT count(DISTINCT four) AS cnt_4 FROM onek;
-ERROR = !SELECT: no such table 'onek'
-MAPI  = (monetdb) /var/tmp/mtest-1142/.s.monetdb.38959
-QUERY = select ten, count(*), sum(four) from onek
-        group by ten order by ten;
-ERROR = !SELECT: no such table 'onek'
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to