Changeset: d39ba9e10d92 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d39ba9e10d92
Modified Files:
        .hgtags
        gdk/gdk_bbp.c
        sql/backends/monet5/sql_scenario.c
        sql/test/BugTracker-2022/Tests/All
Branch: Sep2022
Log Message:

merged


diffs (truncated from 450 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -786,3 +786,4 @@ 47675351fec22d5d5dc81eec03dfa08f505afc99
 44e45c9a451f6afd933773094ec25723f713d3be Jan2022_23
 44e45c9a451f6afd933773094ec25723f713d3be Jan2022_SP5_release
 43d4a717410d6f6692a16a878640fc7e0f248725 Jan2022_25
+43d4a717410d6f6692a16a878640fc7e0f248725 Jan2022_SP6_release
diff --git a/cmake/Modules/FindReadline.cmake b/cmake/Modules/FindReadline.cmake
--- a/cmake/Modules/FindReadline.cmake
+++ b/cmake/Modules/FindReadline.cmake
@@ -9,22 +9,24 @@ find_package(PkgConfig QUIET)
 pkg_check_modules(PC_READLINE QUIET readline>=8.0)
 
 if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" OR PC_READLINE_FOUND)
+  if(NOT WIN32)
 
-# Look for the header file.
-find_path(READLINE_INCLUDE_DIR NAMES readline/readline.h
-   HINTS
-   ${PC_READLINE_INCLUDEDIR}
-   ${PC_READLINE_INCLUDE_DIRS}
-   PATH_SUFFIXES readline
-   )
+    # Look for the header file.
+    find_path(READLINE_INCLUDE_DIR NAMES readline/readline.h
+      HINTS
+      ${PC_READLINE_INCLUDEDIR}
+      ${PC_READLINE_INCLUDE_DIRS}
+      PATH_SUFFIXES readline
+      )
 
-# Look for the library.
-find_library(READLINE_LIBRARIES NAMES readline
-   HINTS
-   ${PC_READLINE_LIBDIR}
-   ${PC_READLINE_LIBRARY_DIRS}
-   )
+    # Look for the library.
+    find_library(READLINE_LIBRARIES NAMES readline
+      HINTS
+      ${PC_READLINE_LIBDIR}
+      ${PC_READLINE_LIBRARY_DIRS}
+      )
 
+  endif()
 endif()
 
 # Handle the QUIETLY and REQUIRED arguments and set READLINE_FOUND to TRUE if 
all listed variables are TRUE.
diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -1026,12 +1026,12 @@ SQLparser(Client c)
                if (n == 2 || n == 3) {
                        if (n == 2)
                                len = m->reply_size;
+                       in->pos = in->len;      /* HACK: should use parsed 
length */
                        if ((ok = mvc_export_chunk(be, out, v, off, len < 0 ? 
BUN_NONE : (BUN) len)) < 0) {
                                msg = createException(SQL, "SQLparser", 
SQLSTATE(45000) "Result set construction failed: %s", mvc_export_error(be, out, 
ok));
                                goto finalize;
                        }
 
-                       in->pos = in->len;      /* HACK: should use parsed 
length */
                        return MAL_SUCCEED;
                }
                if (strncmp(in->buf + in->pos, "close ", 6) == 0) {
@@ -1098,8 +1098,10 @@ SQLparser(Client c)
                }
                if (strncmp(in->buf + in->pos, "quit", 4) == 0) {
                        c->mode = FINISHCLIENT;
+                       in->pos = in->len;      /* HACK: should use parsed 
length */
                        return MAL_SUCCEED;
                }
+               in->pos = in->len;      /* HACK: should use parsed length */
                msg = createException(SQL, "SQLparser", SQLSTATE(42000) 
"Unrecognized X command: %s\n", in->buf + in->pos);
                goto finalize;
        }
diff --git a/sql/test/BugTracker-2022/Tests/All 
b/sql/test/BugTracker-2022/Tests/All
--- a/sql/test/BugTracker-2022/Tests/All
+++ b/sql/test/BugTracker-2022/Tests/All
@@ -18,3 +18,6 @@ dependencies.Bug-7328
 multi-column-filters-k2-unique.Bug-7303
 multi-column-filters-k2-is-1.Bug-7303
 values.Bug-7336
+temp-table-index.Bug
+rerun-temp-table-index-crashes-server.Bug
+rerun-temp-table-index-fails-to-restart-server.Bug
diff --git 
a/sql/test/BugTracker-2022/Tests/rerun-temp-table-index-crashes-server.Bug.test 
b/sql/test/BugTracker-2022/Tests/rerun-temp-table-index-crashes-server.Bug.test
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2022/Tests/rerun-temp-table-index-crashes-server.Bug.test
@@ -0,0 +1,116 @@
+statement ok
+CREATE LOCAL TEMP TABLE tmp.tmp_pk_uc (id1 INT NOT NULL PRIMARY KEY, name1 
VARCHAR(99) UNIQUE)
+
+statement ok
+CREATE LOCAL TEMP TABLE tmp.tmp_nopk_twoucs (id2 INT NOT NULL UNIQUE, name2 
VARCHAR(99) UNIQUE)
+
+statement ok
+CREATE GLOBAL TEMP TABLE tmp.glbl_pk_uc (id1 INT NOT NULL PRIMARY KEY, name1 
VARCHAR(99) UNIQUE)
+
+statement ok
+CREATE GLOBAL TEMP TABLE tmp.glbl_nopk_twoucs (id2 INT NOT NULL UNIQUE, name2 
VARCHAR(99) UNIQUE)
+
+query T rowsort
+SELECT name FROM sys.tables WHERE NOT system ORDER BY name
+-----
+glbl_nopk_twoucs
+glbl_pk_uc
+tmp_nopk_twoucs
+tmp_pk_uc
+
+query T rowsort
+SELECT name FROM sys.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+glbl_nopk_twoucs_id2_unique
+glbl_nopk_twoucs_name2_unique
+glbl_pk_uc_id1_pkey
+glbl_pk_uc_name1_unique
+
+query T rowsort
+SELECT name FROM tmp.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+tmp_nopk_twoucs_id2_unique
+tmp_nopk_twoucs_name2_unique
+tmp_pk_uc_id1_pkey
+tmp_pk_uc_name1_unique
+
+statement ok
+CREATE INDEX tmp_pk_uc_i ON tmp.tmp_pk_uc (id1, name1)
+
+statement ok
+CREATE INDEX tmp_nopk_twoucs_i ON tmp.tmp_nopk_twoucs (id2, name2)
+
+statement ok
+CREATE INDEX glbl_pk_uc_i ON tmp.glbl_pk_uc (id1, name1)
+
+statement ok
+CREATE INDEX glbl_nopk_twoucs_i ON tmp.glbl_nopk_twoucs (id2, name2)
+
+query T rowsort
+SELECT name FROM sys.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+glbl_nopk_twoucs_i
+glbl_nopk_twoucs_id2_unique
+glbl_nopk_twoucs_name2_unique
+glbl_pk_uc_i
+glbl_pk_uc_id1_pkey
+glbl_pk_uc_name1_unique
+
+query T rowsort
+SELECT name FROM tmp.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+tmp_nopk_twoucs_i
+tmp_nopk_twoucs_id2_unique
+tmp_nopk_twoucs_name2_unique
+tmp_pk_uc_i
+tmp_pk_uc_id1_pkey
+tmp_pk_uc_name1_unique
+
+statement ok
+DROP INDEX tmp.tmp_pk_uc_i
+
+statement ok
+DROP INDEX tmp.tmp_nopk_twoucs_i
+
+statement ok
+DROP INDEX tmp.glbl_pk_uc_i
+
+statement ok
+DROP INDEX tmp.glbl_nopk_twoucs_i
+
+query T rowsort
+SELECT name FROM sys.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+glbl_nopk_twoucs_id2_unique
+glbl_nopk_twoucs_name2_unique
+glbl_pk_uc_id1_pkey
+glbl_pk_uc_name1_unique
+
+query T rowsort
+SELECT name FROM tmp.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+tmp_nopk_twoucs_id2_unique
+tmp_nopk_twoucs_name2_unique
+tmp_pk_uc_id1_pkey
+tmp_pk_uc_name1_unique
+
+statement ok
+DROP TABLE tmp.tmp_pk_uc
+
+statement ok
+DROP TABLE tmp.glbl_pk_uc
+
+statement ok
+DROP TABLE tmp.tmp_nopk_twoucs
+
+statement ok
+DROP TABLE tmp.glbl_nopk_twoucs
+
+query T rowsort
+SELECT name FROM sys.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+
+query T rowsort
+SELECT name FROM tmp.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+
diff --git 
a/sql/test/BugTracker-2022/Tests/rerun-temp-table-index-fails-to-restart-server.Bug.test
 
b/sql/test/BugTracker-2022/Tests/rerun-temp-table-index-fails-to-restart-server.Bug.test
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2022/Tests/rerun-temp-table-index-fails-to-restart-server.Bug.test
@@ -0,0 +1,116 @@
+statement ok
+CREATE LOCAL TEMP TABLE tmp.tmp_pk_uc (id1 INT NOT NULL PRIMARY KEY, name1 
VARCHAR(99) UNIQUE)
+
+statement ok
+CREATE LOCAL TEMP TABLE tmp.tmp_nopk_twoucs (id2 INT NOT NULL UNIQUE, name2 
VARCHAR(99) UNIQUE)
+
+statement ok
+CREATE GLOBAL TEMP TABLE tmp.glbl_pk_uc (id1 INT NOT NULL PRIMARY KEY, name1 
VARCHAR(99) UNIQUE)
+
+statement ok
+CREATE GLOBAL TEMP TABLE tmp.glbl_nopk_twoucs (id2 INT NOT NULL UNIQUE, name2 
VARCHAR(99) UNIQUE)
+
+query T rowsort
+SELECT name FROM sys.tables WHERE NOT system ORDER BY name
+-----
+glbl_nopk_twoucs
+glbl_pk_uc
+tmp_nopk_twoucs
+tmp_pk_uc
+
+query T rowsort
+SELECT name FROM sys.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+glbl_nopk_twoucs_id2_unique
+glbl_nopk_twoucs_name2_unique
+glbl_pk_uc_id1_pkey
+glbl_pk_uc_name1_unique
+
+query T rowsort
+SELECT name FROM tmp.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+tmp_nopk_twoucs_id2_unique
+tmp_nopk_twoucs_name2_unique
+tmp_pk_uc_id1_pkey
+tmp_pk_uc_name1_unique
+
+statement ok
+CREATE INDEX tmp_pk_uc_i ON tmp.tmp_pk_uc (id1, name1)
+
+statement ok
+CREATE INDEX tmp_nopk_twoucs_i ON tmp.tmp_nopk_twoucs (id2, name2)
+
+statement ok
+CREATE INDEX glbl_pk_uc_i ON tmp.glbl_pk_uc (id1, name1)
+
+statement ok
+CREATE INDEX glbl_nopk_twoucs_i ON tmp.glbl_nopk_twoucs (id2, name2)
+
+query T rowsort
+SELECT name FROM sys.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+glbl_nopk_twoucs_i
+glbl_nopk_twoucs_id2_unique
+glbl_nopk_twoucs_name2_unique
+glbl_pk_uc_i
+glbl_pk_uc_id1_pkey
+glbl_pk_uc_name1_unique
+
+query T rowsort
+SELECT name FROM tmp.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+tmp_nopk_twoucs_i
+tmp_nopk_twoucs_id2_unique
+tmp_nopk_twoucs_name2_unique
+tmp_pk_uc_i
+tmp_pk_uc_id1_pkey
+tmp_pk_uc_name1_unique
+
+statement ok
+DROP INDEX tmp.tmp_pk_uc_i
+
+statement ok
+DROP INDEX tmp.tmp_nopk_twoucs_i
+
+statement ok
+DROP INDEX tmp.glbl_pk_uc_i
+
+statement ok
+DROP INDEX tmp.glbl_nopk_twoucs_i
+
+query T rowsort
+SELECT name FROM sys.idxs WHERE (table_id) IN (SELECT id FROM sys.tables WHERE 
NOT system) ORDER BY name
+-----
+glbl_nopk_twoucs_id2_unique
+glbl_nopk_twoucs_name2_unique
+glbl_pk_uc_id1_pkey
+glbl_pk_uc_name1_unique
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to