Changeset: 3f67a13935ea for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3f67a13935ea Modified Files: gdk/gdk_hash.c Branch: default Log Message:
Merge with Oct2020 branch. diffs (truncated from 329 to 300 lines): diff --git a/gdk/gdk_hash.c b/gdk/gdk_hash.c --- a/gdk/gdk_hash.c +++ b/gdk/gdk_hash.c @@ -740,8 +740,8 @@ BAThash_impl(BAT *restrict b, struct can } if ((h = GDKzalloc(sizeof(*h))) == NULL || - (h->heaplink.farmid = BBPselectfarm(b->batRole, b->ttype, hashheap)) < 0 || - (h->heapbckt.farmid = BBPselectfarm(b->batRole, b->ttype, hashheap)) < 0) { + (h->heaplink.farmid = BBPselectfarm(hascand ? TRANSIENT : b->batRole, b->ttype, hashheap)) < 0 || + (h->heapbckt.farmid = BBPselectfarm(hascand ? TRANSIENT : b->batRole, b->ttype, hashheap)) < 0) { GDKfree(h); return NULL; } diff --git a/sql/jdbc/tests/Tests/All b/sql/jdbc/tests/Tests/All --- a/sql/jdbc/tests/Tests/All +++ b/sql/jdbc/tests/Tests/All @@ -5,17 +5,5 @@ HAVE_JDBCTESTS&HAVE_HGE?Test_Int128 HAVE_JDBCCLIENT_JAR?Test_JdbcClient HAVE_JDBCCLIENT_JAR?bogus-auto-generated-keys #HAVE_JDBCTESTS?Test_PSlargeamount # scalabity test which is disabled by default (it takes a long time to run and does not need to be run everytime, only before a new release) -HAVE_JDBCTESTS?BugConcurrent_clients_SF_1504657 -HAVE_JDBCTESTS?BugConcurrent_sequences -HAVE_JDBCTESTS?BugExecuteUpdate_Bug_3350 -HAVE_JDBCTESTS?BugDatabaseMetaData_Bug_3356 -HAVE_JDBCTESTS?BugSetQueryTimeout_Bug_3357 -HAVE_JDBCTESTS?BugDecimalRound_Bug_3561 -HAVE_JDBCTESTS?BugResultSetMetaData_Bug_6183 -HAVE_JDBCTESTS?Bug_PrepStmtSetObject_CLOB_6349 -HAVE_JDBCTESTS?Bug_Connect_as_voc_getMetaData_Failure_Bug_6388 -HAVE_JDBCTESTS?Bug_LargeQueries_6571_6693 -HAVE_JDBCTESTS?Bug_IsValid_Timeout_Bug_6782 -HAVE_JDBCTESTS?Bug_PrepStmt_With_Errors_Jira292 # next test should be done AFTER all the other tests have completed HAVE_JDBCCLIENT_JAR?ValidateSystemCatalogTables diff --git a/sql/jdbc/tests/Tests/BugConcurrent_clients_SF_1504657.SQL.bat b/sql/jdbc/tests/Tests/BugConcurrent_clients_SF_1504657.SQL.bat deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugConcurrent_clients_SF_1504657.SQL.bat +++ /dev/null @@ -1,1 +0,0 @@ -@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/BugConcurrent_clients_SF_1504657.SQL.sh b/sql/jdbc/tests/Tests/BugConcurrent_clients_SF_1504657.SQL.sh deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugConcurrent_clients_SF_1504657.SQL.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/BugConcurrent_sequences.SQL.bat b/sql/jdbc/tests/Tests/BugConcurrent_sequences.SQL.bat deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugConcurrent_sequences.SQL.bat +++ /dev/null @@ -1,1 +0,0 @@ -@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/BugConcurrent_sequences.SQL.sh b/sql/jdbc/tests/Tests/BugConcurrent_sequences.SQL.sh deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugConcurrent_sequences.SQL.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.bat b/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.bat deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.bat +++ /dev/null @@ -1,1 +0,0 @@ -@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.sh b/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.sh deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/BugDecimalRound_Bug_3561.SQL.bat b/sql/jdbc/tests/Tests/BugDecimalRound_Bug_3561.SQL.bat deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugDecimalRound_Bug_3561.SQL.bat +++ /dev/null @@ -1,1 +0,0 @@ -@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/BugDecimalRound_Bug_3561.SQL.sh b/sql/jdbc/tests/Tests/BugDecimalRound_Bug_3561.SQL.sh deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugDecimalRound_Bug_3561.SQL.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/BugExecuteUpdate_Bug_3350.SQL.bat b/sql/jdbc/tests/Tests/BugExecuteUpdate_Bug_3350.SQL.bat deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugExecuteUpdate_Bug_3350.SQL.bat +++ /dev/null @@ -1,1 +0,0 @@ -@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/BugExecuteUpdate_Bug_3350.SQL.sh b/sql/jdbc/tests/Tests/BugExecuteUpdate_Bug_3350.SQL.sh deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugExecuteUpdate_Bug_3350.SQL.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/BugResultSetMetaData_Bug_6183.SQL.bat b/sql/jdbc/tests/Tests/BugResultSetMetaData_Bug_6183.SQL.bat deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugResultSetMetaData_Bug_6183.SQL.bat +++ /dev/null @@ -1,1 +0,0 @@ -@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/BugResultSetMetaData_Bug_6183.SQL.sh b/sql/jdbc/tests/Tests/BugResultSetMetaData_Bug_6183.SQL.sh deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugResultSetMetaData_Bug_6183.SQL.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/BugSetQueryTimeout_Bug_3357.SQL.bat b/sql/jdbc/tests/Tests/BugSetQueryTimeout_Bug_3357.SQL.bat deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugSetQueryTimeout_Bug_3357.SQL.bat +++ /dev/null @@ -1,1 +0,0 @@ -@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/BugSetQueryTimeout_Bug_3357.SQL.sh b/sql/jdbc/tests/Tests/BugSetQueryTimeout_Bug_3357.SQL.sh deleted file mode 100755 --- a/sql/jdbc/tests/Tests/BugSetQueryTimeout_Bug_3357.SQL.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/Bug_Connect_as_voc_getMetaData_Failure_Bug_6388.SQL.bat b/sql/jdbc/tests/Tests/Bug_Connect_as_voc_getMetaData_Failure_Bug_6388.SQL.bat deleted file mode 100755 --- a/sql/jdbc/tests/Tests/Bug_Connect_as_voc_getMetaData_Failure_Bug_6388.SQL.bat +++ /dev/null @@ -1,1 +0,0 @@ -@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/Bug_Connect_as_voc_getMetaData_Failure_Bug_6388.SQL.sh b/sql/jdbc/tests/Tests/Bug_Connect_as_voc_getMetaData_Failure_Bug_6388.SQL.sh deleted file mode 100755 --- a/sql/jdbc/tests/Tests/Bug_Connect_as_voc_getMetaData_Failure_Bug_6388.SQL.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.bat b/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.bat deleted file mode 100755 --- a/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.bat +++ /dev/null @@ -1,1 +0,0 @@ -@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.sh b/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.sh deleted file mode 100755 --- a/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/Bug_LargeQueries_6571_6693.SQL.bat b/sql/jdbc/tests/Tests/Bug_LargeQueries_6571_6693.SQL.bat deleted file mode 100755 --- a/sql/jdbc/tests/Tests/Bug_LargeQueries_6571_6693.SQL.bat +++ /dev/null @@ -1,1 +0,0 @@ -@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/Bug_LargeQueries_6571_6693.SQL.sh b/sql/jdbc/tests/Tests/Bug_LargeQueries_6571_6693.SQL.sh deleted file mode 100755 --- a/sql/jdbc/tests/Tests/Bug_LargeQueries_6571_6693.SQL.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/Bug_PrepStmtSetObject_CLOB_6349.SQL.bat b/sql/jdbc/tests/Tests/Bug_PrepStmtSetObject_CLOB_6349.SQL.bat deleted file mode 100755 --- a/sql/jdbc/tests/Tests/Bug_PrepStmtSetObject_CLOB_6349.SQL.bat +++ /dev/null @@ -1,1 +0,0 @@ -@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/Bug_PrepStmtSetObject_CLOB_6349.SQL.sh b/sql/jdbc/tests/Tests/Bug_PrepStmtSetObject_CLOB_6349.SQL.sh deleted file mode 100755 --- a/sql/jdbc/tests/Tests/Bug_PrepStmtSetObject_CLOB_6349.SQL.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/Bug_PrepStmt_With_Errors_Jira292.SQL.bat b/sql/jdbc/tests/Tests/Bug_PrepStmt_With_Errors_Jira292.SQL.bat deleted file mode 100755 --- a/sql/jdbc/tests/Tests/Bug_PrepStmt_With_Errors_Jira292.SQL.bat +++ /dev/null @@ -1,1 +0,0 @@ -@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/Bug_PrepStmt_With_Errors_Jira292.SQL.sh b/sql/jdbc/tests/Tests/Bug_PrepStmt_With_Errors_Jira292.SQL.sh deleted file mode 100755 --- a/sql/jdbc/tests/Tests/Bug_PrepStmt_With_Errors_Jira292.SQL.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -$TSTSRCDIR/Test.SQL.sh $* diff --git a/tools/merovingian/daemon/connections.c b/tools/merovingian/daemon/connections.c --- a/tools/merovingian/daemon/connections.c +++ b/tools/merovingian/daemon/connections.c @@ -25,7 +25,7 @@ #include "connections.h" err -openConnectionIP(int *socks, bool udp, bool bind_ipv6, const char *bindaddr, unsigned short port, FILE *log) +openConnectionIP(int *socks, bool udp, const char *bindaddr, unsigned short port, FILE *log) { struct addrinfo *result = NULL, *rp = NULL; int sock = -1, check = 0; @@ -35,9 +35,10 @@ openConnectionIP(int *socks, bool udp, b char host[512] = ""; int e = 0; const char *msghost = bindaddr ? bindaddr : "any"; /* for messages */ + int ipv6_vs6only = -1; struct addrinfo hints = (struct addrinfo) { - .ai_family = bind_ipv6 ? AF_INET6 : AF_INET, + .ai_family = AF_INET6, .ai_socktype = udp ? SOCK_DGRAM : SOCK_STREAM, .ai_flags = AI_PASSIVE | AI_NUMERICSERV, .ai_protocol = udp ? 0 : IPPROTO_TCP, @@ -46,6 +47,38 @@ openConnectionIP(int *socks, bool udp, b socks[0] = socks[1] = -1; + if (bindaddr == NULL || strcmp(bindaddr, "localhost") == 0) { + hints.ai_family = AF_INET6; + hints.ai_flags |= AI_NUMERICHOST; + ipv6_vs6only = 0; + bindaddr = "::1"; + strcpy_len(host, "localhost", sizeof(host)); + } else if (strcmp(bindaddr, "all") == 0) { + hints.ai_family = AF_INET6; + ipv6_vs6only = 0; + bindaddr = NULL; + } else if (strcmp(bindaddr, "::") == 0) { + hints.ai_family = AF_INET6; + ipv6_vs6only = 1; + bindaddr = NULL; + } else if (strcmp(bindaddr, "0.0.0.0") == 0) { + hints.ai_family = AF_INET; + hints.ai_flags |= AI_NUMERICHOST; + bindaddr = NULL; + } else if (strcmp(bindaddr, "::1") == 0) { + hints.ai_family = AF_INET6; + hints.ai_flags |= AI_NUMERICHOST; + ipv6_vs6only = 1; + strcpy_len(host, "localhost", sizeof(host)); + } else if (strcmp(bindaddr, "127.0.0.1") == 0) { + hints.ai_family = AF_INET; + hints.ai_flags |= AI_NUMERICHOST; + strcpy_len(host, "localhost", sizeof(host)); + } else { + hints.ai_family = AF_INET6; + ipv6_vs6only = 0; + } + for (;;) { /* max twice */ check = getaddrinfo(bindaddr, sport, &hints, &result); if (check != 0) @@ -122,9 +155,12 @@ openConnectionIP(int *socks, bool udp, b break; /* working */ } freeaddrinfo(result); - if (hints.ai_family == AF_INET6) + if (ipv6_vs6only == 0) { + ipv6_vs6only = -1; hints.ai_family = AF_INET; - else + if (bindaddr && strcmp(bindaddr, "::1") == 0) + bindaddr = "127.0.0.1"; + } else break; } diff --git a/tools/merovingian/daemon/connections.h b/tools/merovingian/daemon/connections.h --- a/tools/merovingian/daemon/connections.h +++ b/tools/merovingian/daemon/connections.h @@ -11,7 +11,7 @@ #include "merovingian.h" -err openConnectionIP(int *socks, bool udp, bool use_ipv6, const char *bindaddr, unsigned short port, FILE *log); +err openConnectionIP(int *socks, bool udp, const char *bindaddr, unsigned short port, FILE *log); err openConnectionUNIX(int *ret, const char *path, int mode, FILE *log); #endif diff --git a/tools/merovingian/daemon/merovingian.c b/tools/merovingian/daemon/merovingian.c --- a/tools/merovingian/daemon/merovingian.c +++ b/tools/merovingian/daemon/merovingian.c @@ -350,7 +350,6 @@ main(int argc, char *argv[]) FILE *oerr = NULL; int thret; bool merodontfork = false; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list