Changeset: d80b9d68be25 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d80b9d68be25
Modified Files:
        clients/mapilib/mapi.c
        sql/server/rel_select.c
        sql/test/BugTracker-2024/Tests/All
Branch: default
Log Message:

Merge 'Dec2023' into 'default'


diffs (120 lines):

diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -1777,6 +1777,11 @@ mapi_new(msettings *settings)
        Mapi mid;
        static ATOMIC_TYPE index = ATOMIC_VAR_INIT(0);
 
+       if (!ATOMIC_TAS(&mapi_initialized)) {
+               if (mnstr_init() < 0)
+                       return NULL;
+       }
+
        mid = malloc(sizeof(*mid));
        if (mid == NULL)
                return NULL;
@@ -1885,11 +1890,6 @@ mapi_mapiuri(const char *url, const char
 {
        Mapi mid;
 
-       if (!ATOMIC_TAS(&mapi_initialized)) {
-               if (mnstr_init() < 0)
-                       return NULL;
-       }
-
        mid = mapi_new(NULL);
        if (mid == NULL)
                return NULL;
@@ -1944,11 +1944,6 @@ mapi_mapi(const char *host, int port, co
 {
        Mapi mid;
 
-       if (!ATOMIC_TAS(&mapi_initialized)) {
-               if (mnstr_init() < 0)
-                       return NULL;
-       }
-
        mid = mapi_new(NULL);
        if (mid == NULL)
                return NULL;
diff --git a/common/utils/GenerateVersionHeader.cmake 
b/common/utils/GenerateVersionHeader.cmake
--- a/common/utils/GenerateVersionHeader.cmake
+++ b/common/utils/GenerateVersionHeader.cmake
@@ -18,34 +18,34 @@ elseif(EXISTS "${DIR}/.hg")
   find_package(Hg)
   if(HG_FOUND)
     message("hg found: ${HG_EXECUTABLE}")
+    execute_process(COMMAND "${HG_EXECUTABLE}" "id" "-i" WORKING_DIRECTORY 
"${DIR}" RESULT_VARIABLE HG_RETURN_CODE
+      OUTPUT_VARIABLE HG_OUPUT_RES OUTPUT_STRIP_TRAILING_WHITESPACE)
+    if(HG_RETURN_CODE EQUAL 0 AND HG_OUPUT_RES)
+      set(MERCURIAL_ID "${HG_OUPUT_RES}")
+    else()
+      message(WARNING "Failed to find mercurial ID")
+      set(MERCURIAL_ID "Unknown")
+    endif()
   else()
     message(WARNING "Failed to find mercurial")
     set(MERCURIAL_ID "Unknown")
   endif()
-  execute_process(COMMAND "${HG_EXECUTABLE}" "id" "-i" WORKING_DIRECTORY 
"${DIR}" RESULT_VARIABLE HG_RETURN_CODE
-    OUTPUT_VARIABLE HG_OUPUT_RES OUTPUT_STRIP_TRAILING_WHITESPACE)
-  if(HG_RETURN_CODE EQUAL 0 AND HG_OUPUT_RES)
-    set(MERCURIAL_ID "${HG_OUPUT_RES}")
-  else()
-    message(WARNING "Failed to find mercurial ID")
-    set(MERCURIAL_ID "Unknown")
-  endif()
 elseif(EXISTS "${DIR}/.git")
   find_package(Git)
   if(GIT_FOUND)
     message("git found: ${GIT_EXECUTABLE}")
+    execute_process(COMMAND "${GIT_EXECUTABLE}" "rev-parse" "--short" "HEAD" 
WORKING_DIRECTORY "${DIR}"
+      RESULT_VARIABLE GIT_RETURN_CODE OUTPUT_VARIABLE GIT_OUPUT_RES 
OUTPUT_STRIP_TRAILING_WHITESPACE)
+    if(GIT_RETURN_CODE EQUAL 0 AND GIT_OUPUT_RES)
+      set(MERCURIAL_ID "${GIT_OUPUT_RES}")
+    else()
+      message(WARNING "Failed to find git ID")
+      set(MERCURIAL_ID "Unknown")
+    endif()
   else()
     message(WARNING "Failed to find git")
     set(MERCURIAL_ID "Unknown")
   endif()
-  execute_process(COMMAND "${GIT_EXECUTABLE}" "rev-parse" "--short" "HEAD" 
WORKING_DIRECTORY "${DIR}"
-    RESULT_VARIABLE GIT_RETURN_CODE OUTPUT_VARIABLE GIT_OUPUT_RES 
OUTPUT_STRIP_TRAILING_WHITESPACE)
-  if(GIT_RETURN_CODE EQUAL 0 AND GIT_OUPUT_RES)
-    set(MERCURIAL_ID "${GIT_OUPUT_RES}")
-  else()
-    message(WARNING "Failed to find git ID")
-    set(MERCURIAL_ID "Unknown")
-  endif()
 else()
   set(MERCURIAL_ID "Unknown")
 endif()
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -3221,6 +3221,8 @@ rel_nop(sql_query *query, sql_rel **rel,
        char *sname = qname_schema(l->data.lval);
 
        if (!sname && strcmp(fname, "field") == 0) { /* map into join */
+               if (err)
+                       return NULL;
                sql_exp *le = exps->h->data;
                set_freevar(le, 1);
                list_remove_data(exps, NULL, le);
diff --git a/sql/test/BugTracker-2024/Tests/All 
b/sql/test/BugTracker-2024/Tests/All
--- a/sql/test/BugTracker-2024/Tests/All
+++ b/sql/test/BugTracker-2024/Tests/All
@@ -53,3 +53,4 @@ sql_init_subtype-Bug-7487
 orderby-max-over-rows-Bug-7488
 rel2bin_select-Bug-7496
 multicolumn_IN_value_list-Bug-7497
+field-arg-error-Bug-7506
diff --git a/sql/test/BugTracker-2024/Tests/field-arg-error-Bug-7506.test 
b/sql/test/BugTracker-2024/Tests/field-arg-error-Bug-7506.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2024/Tests/field-arg-error-Bug-7506.test
@@ -0,0 +1,2 @@
+statement error
+SELECT FIELD(x, '', '', '', '', '', '', '', '', '', '', '', '', '')
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to