Changeset: c0d174a666d5 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c0d174a666d5 Added Files: monetdb5/optimizer/Tests/inline12.malC monetdb5/optimizer/Tests/inline12.stable.err monetdb5/optimizer/Tests/inline12.stable.out sql/server/rel_partition.c sql/server/rel_partition.h sql/test/BugTracker-2016/Tests/DISTINCT_with_correlated_scalar_subquery_crashes_mserver.Bug-3920.sql sql/test/BugTracker-2016/Tests/DISTINCT_with_correlated_scalar_subquery_crashes_mserver.Bug-3920.stable.err sql/test/BugTracker-2016/Tests/DISTINCT_with_correlated_scalar_subquery_crashes_mserver.Bug-3920.stable.out sql/test/BugTracker-2016/Tests/create_table_from_complex_query.Bug-3921.sql sql/test/BugTracker-2016/Tests/create_table_from_complex_query.Bug-3921.stable.err sql/test/BugTracker-2016/Tests/create_table_from_complex_query.Bug-3921.stable.out sql/test/BugTracker-2016/Tests/projectionpath-prefix.Bug.sql sql/test/BugTracker-2016/Tests/projectionpath-prefix.Bug.stable.err sql/test/BugTracker-2016/Tests/projectionpath-prefix.Bug.stable.out sql/test/BugTracker-2016/Tests/storagemodel.Bug-3923.sql sql/test/BugTracker-2016/Tests/storagemodel.Bug-3923.stable.err sql/test/BugTracker-2016/Tests/storagemodel.Bug-3923.stable.out Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/SQL-dump.stable.out clients/Tests/SQL-dump.stable.out.int128 clients/mapiclient/stethoscope.c gdk/gdk_atoms.c gdk/gdk_hash.h gdk/gdk_project.c geom/sql/Tests/conformance_load.stable.out java/ChangeLog java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java java/src/main/java/nl/cwi/monetdb/jdbc/MonetStatement.java monetdb5/ChangeLog monetdb5/ChangeLog.Jul2015 monetdb5/mal/Tests/dynamicload.stable.err monetdb5/mal/Tests/tst903.stable.out monetdb5/mal/Tests/tst904.stable.out monetdb5/mal/Tests/tst905.stable.out monetdb5/mal/Tests/tst907.stable.out monetdb5/mal/mal_builder.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_resolve.c monetdb5/modules/atoms/uuid.c monetdb5/modules/mal/Tests/manifold.stable.out monetdb5/modules/mal/Tests/manifoldstr.stable.out monetdb5/optimizer/Tests/All monetdb5/optimizer/Tests/JPexample.stable.out monetdb5/optimizer/Tests/Mexample.stable.out monetdb5/optimizer/Tests/inline02.stable.out monetdb5/optimizer/Tests/inline03.stable.out monetdb5/optimizer/Tests/inline04.stable.out monetdb5/optimizer/Tests/inline05.stable.out monetdb5/optimizer/Tests/inline06.stable.out monetdb5/optimizer/Tests/inline07.stable.out monetdb5/optimizer/Tests/inline08.stable.out monetdb5/optimizer/Tests/inline09.stable.out monetdb5/optimizer/Tests/inline10.stable.out monetdb5/optimizer/Tests/inlineCst.stable.out monetdb5/optimizer/Tests/inlineFunction2.stable.out monetdb5/optimizer/Tests/inlineIfthen.stable.out monetdb5/optimizer/Tests/manifold2.stable.out monetdb5/optimizer/Tests/manifold2.stable.out.single monetdb5/optimizer/Tests/projectionchain.stable.out monetdb5/optimizer/opt_deadcode.c monetdb5/optimizer/opt_generator.c monetdb5/optimizer/opt_inline.c monetdb5/optimizer/opt_mitosis.c monetdb5/optimizer/opt_multiplex.c monetdb5/optimizer/opt_profiler.c monetdb5/optimizer/opt_projectionpath.c monetdb5/optimizer/opt_pushselect.c monetdb5/optimizer/opt_remap.c sql/backends/monet5/Tests/rapi12.stable.out sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql.mal sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h sql/backends/monet5/sql_upgrades.c sql/backends/monet5/vaults/bam/Tests/query2.5.stable.out sql/backends/monet5/vaults/bam/Tests/query2.5.stable.out.int128 sql/backends/monet5/vaults/bam/Tests/query2.6.stable.out sql/benchmarks/ssbm/Tests/04-explain.stable.out sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/05-explain.stable.out sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/06-explain.stable.out sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/07-explain.stable.out sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/08-explain.stable.out sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/09-explain.stable.out sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/10-explain.stable.out sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/11-explain.stable.out sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/12-explain.stable.out sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/13-explain.stable.out sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128 sql/benchmarks/tpch/Tests/02-explain.stable.out sql/benchmarks/tpch/Tests/02-plan.stable.out sql/benchmarks/tpch/Tests/03-explain.stable.out sql/benchmarks/tpch/Tests/03-explain.stable.out.int128 sql/benchmarks/tpch/Tests/05-explain.stable.out sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit sql/benchmarks/tpch/Tests/05-explain.stable.out.int128 sql/benchmarks/tpch/Tests/07-explain.stable.out sql/benchmarks/tpch/Tests/07-explain.stable.out.int128 sql/benchmarks/tpch/Tests/08-explain.stable.out sql/benchmarks/tpch/Tests/08-explain.stable.out.int128 sql/benchmarks/tpch/Tests/09-explain.stable.out sql/benchmarks/tpch/Tests/09-explain.stable.out.int128 sql/benchmarks/tpch/Tests/10-explain.stable.out sql/benchmarks/tpch/Tests/10-explain.stable.out.int128 sql/benchmarks/tpch/Tests/15-explain.stable.out sql/benchmarks/tpch/Tests/15-explain.stable.out.int128 sql/benchmarks/tpch/Tests/16-explain.stable.out sql/benchmarks/tpch/Tests/16-explain.stable.out.32bit sql/benchmarks/tpch/Tests/17-explain.stable.out sql/benchmarks/tpch/Tests/17-explain.stable.out.int128 sql/benchmarks/tpch/Tests/17-plan.stable.out sql/benchmarks/tpch/Tests/17-plan.stable.out.int128 sql/benchmarks/tpch/Tests/18-explain.stable.out sql/benchmarks/tpch/Tests/18-explain.stable.out.int128 sql/benchmarks/tpch/Tests/19-explain.stable.out sql/benchmarks/tpch/Tests/19-explain.stable.out.int128 sql/benchmarks/tpch/Tests/20-explain.stable.out sql/benchmarks/tpch/Tests/20-explain.stable.out.32bit sql/benchmarks/tpch/Tests/20-explain.stable.out.int128 sql/benchmarks/tpch/Tests/20-plan.stable.out sql/benchmarks/tpch/Tests/20-plan.stable.out.int128 sql/benchmarks/tpch/Tests/21-explain.stable.out sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit sql/benchmarks/tpch/Tests/21-plan.stable.out sql/benchmarks/tpch/Tests/22-explain.stable.out.int128 sql/benchmarks/tpch/fileleak/Tests/leaks.stable.out sql/include/sql_relation.h sql/jdbc/tests/Tests/All sql/jdbc/tests/Tests/Test_Dobjects.stable.out sql/scripts/75_storagemodel.sql sql/server/Makefile.ag sql/server/rel_exp.c sql/server/rel_optimizer.c sql/server/rel_rel.c sql/server/rel_select.c 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 sql/test/BugTracker-2013/Tests/correlated_select.Bug-3250.stable.out sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out.int128 sql/test/BugTracker-2015/Tests/apply_merge_distinct.Bug-3760.stable.out sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out sql/test/BugTracker-2015/Tests/div_zero.Bug-3742.stable.out sql/test/BugTracker-2015/Tests/missed-error.Bug-3842.stable.out sql/test/BugTracker-2015/Tests/msqldump-merge-and-remote-tables.Bug-3774.stable.out sql/test/BugTracker-2015/Tests/msqldump_generates_incorrect_syntax_ON_UPDATE_null.Bug-3839.stable.out sql/test/BugTracker-2015/Tests/reserved_keywords.Bug-3613.stable.out sql/test/BugTracker-2015/Tests/sys_tracelog.Bug-3887.stable.out sql/test/BugTracker-2016/Tests/All sql/test/SQLite_regress/sqllogictest/Tests/select1.test.stable.out sql/test/SQLite_regress/sqllogictest/Tests/select1.test.stable.out.int128 sql/test/SQLite_regress/sqllogictest/Tests/select2.test.stable.out sql/test/SQLite_regress/sqllogictest/Tests/select2.test.stable.out.int128 sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out.int128 sql/test/Tests/systemfunctions.stable.out sql/test/Tests/systemfunctions.stable.out.int128 sql/test/bugs/Tests/apply_with_union_assertion.stable.out sql/test/leaks/Tests/check1.stable.out.int128 sql/test/leaks/Tests/check2.stable.out.int128 sql/test/leaks/Tests/check3.stable.out.int128 sql/test/leaks/Tests/check4.stable.out.int128 sql/test/leaks/Tests/check5.stable.out.int128 sql/test/mergetables/Tests/mergequery.stable.out sql/test/pg_regress/Tests/int8.stable.out sql/test/remote/Tests/partition_elim.stable.out sql/test/testdb-upgrade-chain-hge/Tests/dump.stable.out sql/test/testdb-upgrade-hge/Tests/dump.stable.out testing/Mtest.py.in Branch: mosaic Log Message:
merge with default diffs (truncated from 26569 to 300 lines): diff --git a/clients/Tests/SQL-dump.stable.out b/clients/Tests/SQL-dump.stable.out --- a/clients/Tests/SQL-dump.stable.out +++ b/clients/Tests/SQL-dump.stable.out @@ -1008,6 +1008,60 @@ external name sql.sysmon_stop; create function sys."storage"() returns table ("schema" string, "table" string, "column" string, "type" string, "mode" string, location string, "count" bigint, typewidth int, columnsize bigint, heapsize bigint, hashes bigint, phash boolean, imprints bigint, sorted boolean, compress boolean) external name sql."storage"; +create function sys."storage"( sname string) +returns table ( + "schema" string, + "table" string, + "column" string, + "type" string, + "mode" string, + location string, + "count" bigint, + typewidth int, + columnsize bigint, + heapsize bigint, + hashes bigint, + phash boolean, + imprints bigint, + sorted boolean +) +external name sql."storage"; +create function sys."storage"( sname string, tname string) +returns table ( + "schema" string, + "table" string, + "column" string, + "type" string, + "mode" string, + location string, + "count" bigint, + typewidth int, + columnsize bigint, + heapsize bigint, + hashes bigint, + phash boolean, + imprints bigint, + sorted boolean +) +external name sql."storage"; +create function sys."storage"( sname string, tname string, cname string) +returns table ( + "schema" string, + "table" string, + "column" string, + "type" string, + "mode" string, + location string, + "count" bigint, + typewidth int, + columnsize bigint, + heapsize bigint, + hashes bigint, + phash boolean, + imprints bigint, + sorted boolean +) +external name sql."storage"; create function sys.storagemodel() returns table ( "schema" string, diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c --- a/gdk/gdk_atoms.c +++ b/gdk/gdk_atoms.c @@ -82,13 +82,13 @@ dblCmp(const dbl *l, const dbl *r) static BUN bteHash(const bte *v) { - return (BUN) *(const unsigned char *) v; + return (BUN) mix_bte(*(const unsigned char *) v); } static BUN shtHash(const sht *v) { - return (BUN) *(const unsigned short *) v; + return (BUN) mix_sht(*(const unsigned short *) v); } static BUN @@ -100,15 +100,14 @@ intHash(const int *v) static BUN lngHash(const lng *v) { - return (BUN) mix_int(((const unsigned int *) v)[0] ^ ((const unsigned int *) v)[1]); + return (BUN) mix_lng(*(const ulng *) v); } #ifdef HAVE_HGE static BUN hgeHash(const hge *v) { - return (BUN) mix_int(((const unsigned int *) v)[0] ^ ((const unsigned int *) v)[1] ^ \ - ((const unsigned int *) v)[2] ^ ((const unsigned int *) v)[3]); + return (BUN) mix_hge(*(const uhge *) v); } #endif diff --git a/gdk/gdk_hash.h b/gdk/gdk_hash.h --- a/gdk/gdk_hash.h +++ b/gdk/gdk_hash.h @@ -128,13 +128,16 @@ gdk_export BUN HASHlist(Hash *h, BUN i); } while (0) #endif -#define mix_bte(X) ((unsigned int) (X)) -#define mix_sht(X) ((unsigned int) (X)) -#define mix_int(X) (((X)>>7)^((X)>>13)^((X)>>21)^(X)) -#define mix_lng(X) mix_int((unsigned int) ((X) ^ ((X) >> 32))) +#define mix_bte(X) ((unsigned int) (unsigned char) (X)) +#define mix_sht(X) ((unsigned int) (unsigned short) (X)) +#define mix_int(X) (((unsigned int) (X) >> 7) ^ \ + ((unsigned int) (X) >> 13) ^ \ + ((unsigned int) (X) >> 21) ^ \ + (unsigned int) (X)) +#define mix_lng(X) mix_int((unsigned int) ((ulng) (X) ^ \ + ((ulng) (X) >> 32))) #ifdef HAVE_HGE -#define mix_hge(X) mix_int((unsigned int) ((X) ^ ((X) >> 32) ^ \ - ((X) >> 64) ^ ((X) >> 96))) +#define mix_hge(X) mix_lng((ulng) ((uhge) (X) ^ ((uhge) (X) >> 64))) #endif #define hash_loc(H,V) hash_any(H,V) #define hash_var(H,V) hash_any(H,V) diff --git a/gdk/gdk_project.c b/gdk/gdk_project.c --- a/gdk/gdk_project.c +++ b/gdk/gdk_project.c @@ -525,14 +525,18 @@ BATprojectchain(BAT **bats) /* only dense-tailed BATs before last: we can return a * slice and manipulate offsets and head seqbase */ ALGODEBUG fprintf(stderr, "#BATprojectchain with %d BATs, size "BUNFMT", type %s, using BATslice("BUNFMT","BUNFMT")\n", n, cnt, ATOMname(tpe), off, off + cnt); - bn = BATslice(b, off, off + cnt); - if (bn == NULL) { - GDKfree(ba); - return NULL; + if (BATtdense(b)) { + bn = BATdense(hseq, tseq, cnt); + } else { + bn = BATslice(b, off, off + cnt); + if (bn == NULL) { + GDKfree(ba); + return NULL; + } + BATseqbase(bn, hseq); + if (bn->ttype == TYPE_void) + BATseqbase(BATmirror(bn), tseq); } - BATseqbase(bn, hseq); - if (bn->ttype == TYPE_void) - BATseqbase(BATmirror(bn), tseq); GDKfree(ba); return bn; } diff --git a/geom/sql/Tests/conformance_load.stable.out b/geom/sql/Tests/conformance_load.stable.out --- a/geom/sql/Tests/conformance_load.stable.out +++ b/geom/sql/Tests/conformance_load.stable.out @@ -20,30 +20,6 @@ stdout of test 'conformance_load` in dir # MonetDB/SQL module loaded Ready. -#WARNING To speedup geom.Dimension a bulk operator implementation is needed -#WARNING To speedup geom.AsText a bulk operator implementation is needed -#WARNING To speedup geom.SRID a bulk operator implementation is needed -#WARNING To speedup geom.IsEmpty a bulk operator implementation is needed -#WARNING To speedup geom.IsSimple a bulk operator implementation is needed -#WARNING To speedup geom.Length a bulk operator implementation is needed -#WARNING To speedup geom.Area a bulk operator implementation is needed -#WARNING To speedup geom.Length a bulk operator implementation is needed -#WARNING To speedup geom.Area a bulk operator implementation is needed -#WARNING To speedup geom.Equals a bulk operator implementation is needed -#WARNING To speedup geom.Disjoint a bulk operator implementation is needed -#WARNING To speedup geom.Touches a bulk operator implementation is needed -#WARNING To speedup geom.Within a bulk operator implementation is needed -#WARNING To speedup geom.Overlaps a bulk operator implementation is needed -#WARNING To speedup geom.Contains a bulk operator implementation is needed -#WARNING To speedup geom.Relate a bulk operator implementation is needed -#WARNING To speedup geom.Intersection a bulk operator implementation is needed -#WARNING To speedup geom.AsText a bulk operator implementation is needed -#WARNING To speedup geom.Difference a bulk operator implementation is needed -#WARNING To speedup geom.AsText a bulk operator implementation is needed -#WARNING To speedup geom.SymDifference a bulk operator implementation is needed -#WARNING To speedup geom.AsText a bulk operator implementation is needed -#WARNING To speedup geom.ConvexHull a bulk operator implementation is needed -#WARNING To speedup geom.AsText a bulk operator implementation is needed # 14:27:16 > # 14:27:16 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-17423" "--port=30565" diff --git a/java/ChangeLog b/java/ChangeLog --- a/java/ChangeLog +++ b/java/ChangeLog @@ -1,10 +1,18 @@ # ChangeLog file for java # This file is updated with Maddlog +* Thu Feb 11 2016 Martin van Dinther <martin.van.dint...@monetdbsolutions.com> +- Implemented methods getProcedures() and getProcedureColumns() + in DatabaseMetadata.java. They used to return an empty resultset. + Now they return the expected Procedures and ProcedureColumns. + Also getProcedureColumns() now returns a resultset with all 20 columns + instead of 13 columns previously. + * Thu Feb 4 2016 Martin van Dinther <martin.van.dint...@monetdbsolutions.com> - Method getFunctionColumns() in DatabaseMetadata used to throw an SQLException: getFunctionColumns(String, String, String, String) is - not implemented This method is now implemented and returns a resultset. + not implemented. + This method is now implemented and returns a resultset. * Thu Jan 28 2016 Martin van Dinther <martin.van.dint...@monetdbsolutions.com> - Method getFunctions() in DatabaseMetadata used to throw an SQLException: diff --git a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java --- a/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java +++ b/java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java @@ -203,7 +203,7 @@ public class MonetDatabaseMetaData exten /** * What is the version of this database product. * - * @return a fixed version number, yes it's quick and dirty + * @return the mserver5 version number string * @throws SQLException if a database access error occurs */ @Override @@ -214,8 +214,7 @@ public class MonetDatabaseMetaData exten } /** - * What is the name of this JDBC driver? If we don't know this - * we are doing something wrong! + * What is the name of this JDBC driver? * * @return the JDBC driver name */ @@ -228,7 +227,7 @@ public class MonetDatabaseMetaData exten * What is the version string of this JDBC driver? Again, this is * static. * - * @return the JDBC driver name. + * @return the JDBC driver version string */ @Override public String getDriverVersion() { @@ -238,7 +237,7 @@ public class MonetDatabaseMetaData exten /** * What is this JDBC driver's major version number? * - * @return the JDBC driver major version + * @return the JDBC driver major version number */ @Override public int getDriverMajorVersion() { @@ -248,7 +247,7 @@ public class MonetDatabaseMetaData exten /** * What is this JDBC driver's minor version number? * - * @return the JDBC driver minor version + * @return the JDBC driver minor version number */ @Override public int getDriverMinorVersion() { @@ -881,13 +880,12 @@ public class MonetDatabaseMetaData exten /** * What is the database vendor's preferred term for "procedure"? - * Traditionally, "function" has been used. * * @return the vendor term */ @Override public String getProcedureTerm() { - return "function"; + return "procedure"; } /** @@ -1538,28 +1536,28 @@ public class MonetDatabaseMetaData exten /** * Get a description of stored procedures available in a catalog - * Currently not applicable and not implemented, returns null * * <p>Only procedure descriptions matching the schema and procedure - * name criteria are returned. They are ordered by PROCEDURE_SCHEM - * and PROCEDURE_NAME + * name criteria are returned. They are ordered by PROCEDURE_SCHEM, + * PROCEDURE_NAME and SPECIFIC_NAME. * * <p>Each procedure description has the following columns: * <ol> * <li><b>PROCEDURE_CAT</b> String => procedure catalog (may be null) * <li><b>PROCEDURE_SCHEM</b> String => procedure schema (may be null) * <li><b>PROCEDURE_NAME</b> String => procedure name - * <li><b>Field 4</b> reserved (make it null) - * <li><b>Field 5</b> reserved (make it null) - * <li><b>Field 6</b> reserved (make it null) + * <li><b>Field4</b> reserved (make it null) + * <li><b>Field5</b> reserved (make it null) + * <li><b>Field6</b> reserved (make it null) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list