Changeset: 73978c3d7c9a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=73978c3d7c9a
Removed Files:
        sql/test/sys-schema/Tests/systemfunctions.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
        sql/test/sys-schema/Tests/systemfunctions.test
Modified Files:
        gdk/gdk_align.c
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_private.h
        gdk/gdk_project.c
        monetdb5/mal/mal_parser.c
        sql/backends/monet5/CMakeLists.txt
        sql/test/pg_regress/Tests/without_oid.sql
        sql/test/pg_regress/Tests/without_oid.test
Branch: unlock
Log Message:

merged


diffs (truncated from 9210 to 300 lines):

diff --git a/clients/examples/python/sqlsample.py 
b/clients/examples/python/sqlsample.py
--- a/clients/examples/python/sqlsample.py
+++ b/clients/examples/python/sqlsample.py
@@ -11,28 +11,33 @@ import sys
 
 dbh = 
pymonetdb.connect(port=int(sys.argv[1]),database=sys.argv[2],hostname=sys.argv[3],autocommit=True)
 
-cursor = dbh.cursor();
+cursor = dbh.cursor()
 cursor.execute('select 1;')
-print(cursor.fetchall())
+if cursor.fetchall() != [(1,)]:
+    sys.stderr.write("Just row (1,) expected")
 
-cursor = dbh.cursor();
+cursor = dbh.cursor()
 cursor.execute('select 2;')
-print(cursor.fetchone())
+if cursor.fetchall() != [(2,)]:
+    sys.stderr.write("Just row (2,) expected")
 
 # deliberately executing a wrong SQL statement:
 try:
     cursor.execute('select commit_action, access from tables group by access;')
+    sys.stderr.write("Grouping error expected")
 except pymonetdb.OperationalError as e:
-    print(e)
+    if 'SELECT: cannot use non GROUP BY column \'commit_action\' in query 
results without an aggregate function' not in str(e):
+        raise e
 
-cursor.execute('create table python_table (i smallint,s string);');
-cursor.execute('insert into python_table values ( 3, \'three\');');
-cursor.execute('insert into python_table values ( 7, \'seven\');');
-cursor.execute('select * from python_table;');
-print(cursor.fetchall())
+cursor.execute('create table python_table (i smallint,s string);')
+cursor.execute('insert into python_table values ( 3, \'three\');')
+cursor.execute('insert into python_table values ( 7, \'seven\');')
+cursor.execute('select * from python_table;')
+if cursor.fetchall() != [(3, 'three'), (7, 'seven')]:
+    sys.stderr.write("Result set [(3, 'three'), (7, 'seven')] expected")
 
 s = ((0, 'row1'), (1, 'row2'))
-x = cursor.executemany("insert into python_table VALUES (%s, %s);", s)
-print(x);
+if cursor.executemany("insert into python_table VALUES (%s, %s);", s) != 2:
+    sys.stderr.write("2 rows inserted expected")
 
-cursor.execute('drop table python_table;');
+cursor.execute('drop table python_table;')
diff --git a/gdk/gdk_align.c b/gdk/gdk_align.c
--- a/gdk/gdk_align.c
+++ b/gdk/gdk_align.c
@@ -146,7 +146,7 @@ VIEWcreate(oid seq, BAT *b)
                GDKfree(bn);
                return NULL;
        }
-       TRC_DEBUG(ALGO, "VIEWcreate(" ALGOBATFMT ")=" ALGOBATFMT "\n",
+       TRC_DEBUG(ALGO, ALGOBATFMT " -> " ALGOBATFMT "\n",
                  ALGOBATPAR(b), ALGOBATPAR(bn));
        return bn;
 }
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -926,7 +926,7 @@ COLcopy(BAT *b, int tt, bool writable, r
        }
        if (!writable)
                bn->batRestricted = BAT_READ;
-       TRC_DEBUG(ALGO, "COLcopy(" ALGOBATFMT ")=" ALGOBATFMT "\n",
+       TRC_DEBUG(ALGO, ALGOBATFMT " -> " ALGOBATFMT "\n",
                  ALGOBATPAR(b), ALGOBATPAR(bn));
        return bn;
       bunins_failed:
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -2080,11 +2080,11 @@ BATsort(BAT **sorted, BAT **order, BAT *
                        }
                        *groups = gn;
                }
-               TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o="
+               TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o="
                          ALGOOPTBATFMT ",g=" ALGOOPTBATFMT
                          ",reverse=%d,nilslast=%d,stable=%d) = ("
                          ALGOOPTBATFMT "," ALGOOPTBATFMT ","
-                         ALGOOPTBATFMT ") -- trivial (" LLFMT
+                         ALGOOPTBATFMT " -- trivial (" LLFMT
                          " usec)\n",
                          ALGOBATPAR(b), ALGOOPTBATPAR(o),
                          ALGOOPTBATPAR(g), reverse, nilslast, stable,
@@ -2168,11 +2168,11 @@ BATsort(BAT **sorted, BAT **order, BAT *
                        BBPunfix(on->batCacheid);
                        on = NULL;
                }
-               TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o="
+               TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o="
                          ALGOOPTBATFMT ",g=" ALGOOPTBATFMT
                          ",reverse=%d,nilslast=%d,stable=%d) = ("
                          ALGOOPTBATFMT "," ALGOOPTBATFMT ","
-                         ALGOOPTBATFMT ") -- orderidx (" LLFMT
+                         ALGOOPTBATFMT " -- orderidx (" LLFMT
                          " usec)\n",
                          ALGOBATPAR(b), ALGOOPTBATPAR(o),
                          ALGOOPTBATPAR(g), reverse, nilslast, stable,
@@ -2270,12 +2270,12 @@ BATsort(BAT **sorted, BAT **order, BAT *
                                        goto error;
                                *groups = gn;
                        }
-                       TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT
+                       TRC_DEBUG(ALGO, "b=" ALGOBATFMT
                                  ",o=" ALGOOPTBATFMT ",g=" ALGOBATFMT
                                  ",reverse=%d,nilslast=%d,stable=%d"
                                  ") = (" ALGOOPTBATFMT ","
                                  ALGOOPTBATFMT "," ALGOOPTBATFMT
-                                 ") -- key group (" LLFMT " usec)\n",
+                                 " -- key group (" LLFMT " usec)\n",
                                  ALGOBATPAR(b), ALGOOPTBATPAR(o),
                                  ALGOBATPAR(g), reverse, nilslast,
                                  stable, ALGOOPTBATPAR(bn),
@@ -2392,10 +2392,10 @@ BATsort(BAT **sorted, BAT **order, BAT *
                bn = NULL;
        }
 
-       TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" ALGOOPTBATFMT
+       TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT
                  ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d,"
                  "stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT ","
-                 ALGOOPTBATFMT ") -- %ssort (" LLFMT " usec)\n",
+                 ALGOOPTBATFMT " -- %ssort (" LLFMT " usec)\n",
                  ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g),
                  reverse, nilslast, stable, ALGOOPTBATPAR(bn),
                  ALGOOPTBATPAR(gn), ALGOOPTBATPAR(on),
diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h
--- a/gdk/gdk_private.h
+++ b/gdk/gdk_private.h
@@ -266,8 +266,8 @@ BAT *virtualize(BAT *bn)
        BATcount(b),                                                    \
        b->hseqbase,                                                    \
        ATOMname(b->ttype),                                             \
-       !b->batTransient ? "P" : isVIEW(b) ? "V" : "T",                 \
-       BATtdense(b) ? "D" : b->ttype == TYPE_void && b->tvheap ? "X" :"", \
+       !b->batTransient ? "P" : b->theap.parentid ? "V" : b->tvheap && 
b->tvheap->parentid != b->batCacheid ? "v" : "T", \
+       BATtdense(b) ? "D" : b->ttype == TYPE_void && b->tvheap ? "X" : 
ATOMstorage(b->ttype) == TYPE_str && GDK_ELIMDOUBLES(b->tvheap) ? "E" : "", \
        b->tsorted ? "S" : b->tnosorted ? "!s" : "",                    \
        b->trevsorted ? "R" : b->tnorevsorted ? "!r" : "",              \
        b->tkey ? "K" : b->tnokey[1] ? "!k" : "",                       \
@@ -286,8 +286,8 @@ BAT *virtualize(BAT *bn)
        b ? "[" : "",                                                   \
        b ? ATOMname(b->ttype) : "",                                    \
        b ? "]" : "",                                                   \
-       b ? !b->batTransient ? "P" : isVIEW(b) ? "V" : "T" : "",        \
-       b ? BATtdense(b) ? "D" : b->ttype == TYPE_void && b->tvheap ? "X" : "" 
: "", \
+       b ? !b->batTransient ? "P" : b->theap.parentid ? "V" : b->tvheap && 
b->tvheap->parentid != b->batCacheid ? "v" : "T" : "",      \
+       b ? BATtdense(b) ? "D" : b->ttype == TYPE_void && b->tvheap ? "X" : 
ATOMstorage(b->ttype) == TYPE_str && GDK_ELIMDOUBLES(b->tvheap) ? "E" : "" : 
"", \
        b ? b->tsorted ? "S" : b->tnosorted ? "!s" : "" : "",           \
        b ? b->trevsorted ? "R" : b->tnorevsorted ? "!r" : "" : "",     \
        b ? b->tkey ? "K" : b->tnokey[1] ? "!k" : "" : "",              \
diff --git a/gdk/gdk_project.c b/gdk/gdk_project.c
--- a/gdk/gdk_project.c
+++ b/gdk/gdk_project.c
@@ -581,8 +581,7 @@ BATproject2(BAT *restrict l, BAT *restri
                } else if (l->tnonil &&
                           r2 != NULL &&
                           (r1->tvheap == r2->tvheap ||
-                           (!GDK_ELIMDOUBLES(r1->tvheap) &&
-                            !GDK_ELIMDOUBLES(r2->tvheap) /* && size tests 
*/))) {
+                           (!GDK_ELIMDOUBLES(r1->tvheap) /* && size tests 
*/))) {
                        /* r1 and r2 may explicitly share their vheap,
                         * if they do, the result will also share the
                         * vheap; this also means that for this case we
diff --git a/monetdb5/mal/CMakeLists.txt b/monetdb5/mal/CMakeLists.txt
--- a/monetdb5/mal/CMakeLists.txt
+++ b/monetdb5/mal/CMakeLists.txt
@@ -17,7 +17,9 @@ set(mal_public_headers
   ${CMAKE_CURRENT_SOURCE_DIR}/mal_linker.h
   ${CMAKE_CURRENT_SOURCE_DIR}/mal_namespace.h
   ${CMAKE_CURRENT_SOURCE_DIR}/mal_stack.h
-  ${CMAKE_CURRENT_SOURCE_DIR}/mal_type.h)
+  ${CMAKE_CURRENT_SOURCE_DIR}/mal_type.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/mal_prelude.h
+  ${CMAKE_CURRENT_SOURCE_DIR}/mel.h)
 
 add_library(mal OBJECT)
 
@@ -53,7 +55,6 @@ target_sources(mal
   mal_embedded.c mal_embedded.h
   mal_private.h mal_internal.h
   mal_prelude.c
-  mel.h
   PUBLIC
   ${mal_public_headers})
 
diff --git a/monetdb5/mal/mal_import.c b/monetdb5/mal/mal_import.c
--- a/monetdb5/mal/mal_import.c
+++ b/monetdb5/mal/mal_import.c
@@ -32,6 +32,8 @@
 #include "mal_parser.h"
 #include "mal_authorize.h"
 #include "mal_private.h"
+#include "mal_session.h"
+#include "mal_utils.h"
 
 void
 slash_2_dir_sep(str fname)
diff --git a/monetdb5/mal/mal_import.h b/monetdb5/mal/mal_import.h
--- a/monetdb5/mal/mal_import.h
+++ b/monetdb5/mal/mal_import.h
@@ -11,8 +11,6 @@
 
 #include "mal_exception.h"
 #include "mal_client.h"
-#include "mal_session.h"
-#include "mal_utils.h"
 #include "mal_prelude.h"
 
 mal_export str malIncludeString(Client c, const str name, const str mal, int 
listing, MALfcn address);
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
@@ -1276,7 +1276,7 @@ pushArgumentId(MalBlkPtr mb, InstrPtr p,
                if ((v = newVariable(mb, name, namelen, getAtomIndex(name, 
namelen, TYPE_any))) < 0) {
                        /* set the MAL block to erroneous and simply return 
without doing anything */
                        /* mb->errors already set */
-                       return NULL;
+                       return p;
                }
        }
        return pushArgument(mb, p, v);
diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c
--- a/monetdb5/mal/mal_parser.c
+++ b/monetdb5/mal/mal_parser.c
@@ -20,6 +20,7 @@
 #include "mal_utils.h"
 #include "mal_builder.h"
 #include "mal_type.h"
+#include "mal_session.h"
 #include "mal_private.h"
 
 #define FATALINPUT MAXERRORS+1
diff --git a/monetdb5/mal/mal_prelude.h b/monetdb5/mal/mal_prelude.h
--- a/monetdb5/mal/mal_prelude.h
+++ b/monetdb5/mal/mal_prelude.h
@@ -11,8 +11,6 @@
 
 #include "mal_exception.h"
 #include "mal_client.h"
-#include "mal_session.h"
-#include "mal_utils.h"
 
 #include "mel.h"
 
diff --git a/monetdb5/mal/mal_scenario.c b/monetdb5/mal/mal_scenario.c
--- a/monetdb5/mal/mal_scenario.c
+++ b/monetdb5/mal/mal_scenario.c
@@ -97,6 +97,7 @@
 #include "mal_exception.h"
 #include "mal_profiler.h"
 #include "mal_private.h"
+#include "mal_session.h"
 
 #ifdef HAVE_SYS_TIMES_H
 # include <sys/times.h>
diff --git a/sql/backends/monet5/CMakeLists.txt 
b/sql/backends/monet5/CMakeLists.txt
--- a/sql/backends/monet5/CMakeLists.txt
+++ b/sql/backends/monet5/CMakeLists.txt
@@ -48,11 +48,6 @@ if(HAVE_HGE)
 endif()
 
 create_include_object(
-  MAL_LANGUAGE
-  name_module "sql"
-  modules_list ${include_mal_files})
-
-create_include_object(
   SQL_LANGUAGE
   name_module "sql"
   path "${CMAKE_SOURCE_DIR}/sql/scripts/"
@@ -118,7 +113,8 @@ set_target_properties(sql
   PROPERTIES
   OUTPUT_NAME monetdbsql
   VERSION ${MONETDB_VERSION}
-  SOVERSION ${MONETDB_VERSION_MAJOR})
+  SOVERSION ${MONETDB_VERSION_MAJOR}
+  PUBLIC_HEADER "${sql_public_headers}")
 
 target_compile_definitions(sql
   PRIVATE
@@ -128,6 +124,9 @@ target_compile_definitions(sql
 install(TARGETS
   sql
   EXPORT sqlTargets
+  PUBLIC_HEADER
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/monetdb
+  COMPONENT sql
   RUNTIME
   DESTINATION ${CMAKE_INSTALL_BINDIR}
   LIBRARY
diff --git a/sql/test/bugs/Tests/All b/sql/test/bugs/Tests/All
--- a/sql/test/bugs/Tests/All
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to