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