Changeset: 2e8a54c6fce0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2e8a54c6fce0
Added Files:
        sql/test/BugTracker-2019/Tests/index-insert-crash.Bug-6781.sql
Removed Files:
        clients/mapiclient/mnc.c
        sql/test/datacell/Tests/All
        sql/test/datacell/Tests/crashonundefined.sql
        sql/test/datacell/Tests/crashonundefined.stable.err
        sql/test/datacell/Tests/crashonundefined.stable.out
        sql/test/datacell/Tests/garbagecollect.sql
        sql/test/datacell/Tests/garbagecollect.stable.err
        sql/test/datacell/Tests/garbagecollect.stable.out
        sql/test/datacell/Tests/select.sql
        sql/test/datacell/Tests/select.stable.err
        sql/test/datacell/Tests/select.stable.out
        sql/test/datacell/Tests/topbasket.sql
        sql/test/datacell/Tests/topbasket.stable.err
        sql/test/datacell/Tests/topbasket.stable.out
Modified Files:
        NT/mkodbcwxs.py
        NT/mksqlwxs.py
        clients/Tests/MAL-signatures.stable.out.int128
        clients/mapiclient/Makefile.ag
        gdk/gdk_bbp.c
        monetdb5/modules/atoms/00_json_hge.mal
        sql/ChangeLog.Nov2019
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_upgrades.c
        sql/common/sql_types.c
        sql/scripts/40_json.sql
        sql/test/BugTracker-2019/Tests/All
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.32bit
        sql/test/emptydb/Tests/check.stable.out.int128
        sql/test/sql_xml/Tests/funcs.sql
        sql/test/sys-schema/Tests/systemfunctions.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
Branch: default
Log Message:

Merge with Nov2019


diffs (truncated from 1320 to 300 lines):

diff --git a/NT/mkodbcwxs.py b/NT/mkodbcwxs.py
--- a/NT/mkodbcwxs.py
+++ b/NT/mkodbcwxs.py
@@ -55,16 +55,13 @@ def main():
     print(r'    <CustomAction Id="driverinstall" FileKey="odbcinstall" 
ExeCommand="/Install" Execute="deferred" Impersonate="no"/>')
     print(r'    <CustomAction Id="driveruninstall" FileKey="odbcinstall" 
ExeCommand="/Uninstall" Execute="deferred" Impersonate="no"/>')
     print(r'    <Directory Id="TARGETDIR" Name="SourceDir">')
-    if vs in ('17', '19'):
-        msvc = r'C:\Program Files (x86)\Microsoft Visual 
Studio\20%s\Community\VC\Redist\MSVC' % vs
-        d = sorted(os.listdir(msvc))[-1]
-        msm = '_CRT_%s.msm' % arch
-        for f in sorted(os.listdir(os.path.join(msvc, d, 'MergeModules'))):
-            if msm in f:
-                fn = f
-        print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="%s\%s\MergeModules\%s"/>' % (msvc, d, fn))
-    else:
-        print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="C:\Program Files (x86)\Common Files\Merge 
Modules\Microsoft_VC%s0_CRT_%s.msm"/>' % (vs, arch))
+    msvc = r'C:\Program Files (x86)\Microsoft Visual 
Studio\20%s\Community\VC\Redist\MSVC' % vs
+    d = sorted(os.listdir(msvc))[-1]
+    msm = '_CRT_%s.msm' % arch
+    for f in sorted(os.listdir(os.path.join(msvc, d, 'MergeModules'))):
+        if msm in f:
+            fn = f
+    print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="%s\%s\MergeModules\%s"/>' % (msvc, d, fn))
     print(r'      <Directory Id="%s">' % folder)
     print(r'        <Directory Id="ProgramFilesMonetDB" Name="MonetDB">')
     print(r'          <Directory Id="INSTALLDIR" Name="MonetDB ODBC Driver">')
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -114,16 +114,13 @@ def main():
     print(r'    <Property Id="ARPPRODUCTICON" Value="monetdb.ico"/>')
     print(r'    <Media Id="1" Cabinet="monetdb.cab" EmbedCab="yes"/>')
     print(r'    <Directory Id="TARGETDIR" Name="SourceDir">')
-    if vs in ('17', '19'):
-        msvc = r'C:\Program Files (x86)\Microsoft Visual 
Studio\20%s\Community\VC\Redist\MSVC' % vs
-        d = sorted(os.listdir(msvc))[-1]
-        msm = '_CRT_%s.msm' % arch
-        for f in sorted(os.listdir(os.path.join(msvc, d, 'MergeModules'))):
-            if msm in f:
-                fn = f
-        print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="%s\%s\MergeModules\%s"/>' % (msvc, d, fn))
-    else:
-        print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="C:\Program Files (x86)\Common Files\Merge 
Modules\Microsoft_VC%s0_CRT_%s.msm"/>' % (vs, arch))
+    msvc = r'C:\Program Files (x86)\Microsoft Visual 
Studio\20%s\Community\VC\Redist\MSVC' % vs
+    d = sorted(os.listdir(msvc))[-1]
+    msm = '_CRT_%s.msm' % arch
+    for f in sorted(os.listdir(os.path.join(msvc, d, 'MergeModules'))):
+        if msm in f:
+            fn = f
+    print(r'      <Merge Id="VCRedist" DiskId="1" Language="0" 
SourceFile="%s\%s\MergeModules\%s"/>' % (msvc, d, fn))
     print(r'      <Directory Id="%s">' % folder)
     print(r'        <Directory Id="ProgramFilesMonetDB" Name="MonetDB">')
     print(r'          <Directory Id="INSTALLDIR" Name="MonetDB5">')
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -15544,8 +15544,6 @@ stdout of test 'MAL-signatures` in direc
 [ "io",        "setmallocsuccesscount",        "command 
io.setmallocsuccesscount(count:lng):void ",    "IOsetmallocsuccesscount;",     
"Set number of mallocs that are allowed to succeed."    ]
 [ "io",        "stdin",        "pattern io.stdin():bstream ",  "io_stdin;",    
"return the input stream to the database client"        ]
 [ "io",        "stdout",       "pattern io.stdout():streams ", "io_stdout;",   
"return the output stream for the database client"      ]
-[ "iterator",  "filter",       "command iterator.filter(name:json, idx:hge, 
other:str):json ", "JSONfilterArrayDefault_hge;",  ""      ]
-[ "iterator",  "filter",       "command iterator.filter(name:json, 
idx:hge):json ",    "JSONfilterArray_hge;", ""      ]
 [ "iterator",  "new",  "pattern iterator.new(b:bat[:any_2]) (h:oid, t:any_2) 
",        "ITRbunIterator;",      "Process the buns one by one extracted from a 
void table."      ]
 [ "iterator",  "new",  "command iterator.new(b:bat[:any_2], size:lng) 
(X_0:lng, X_1:bat[:any_2]) ",    "ITRnewChunk;", "Create an iterator with fixed 
granule size.\n\t  The result is a view."        ]
 [ "iterator",  "next", "pattern iterator.next(b:bat[:any_2]) (h:oid, t:any_2) 
",       "ITRbunNext;",  "Produce the next bun for processing."  ]
@@ -15562,10 +15560,12 @@ stdout of test 'MAL-signatures` in direc
 [ "json",      "dump", "pattern json.dump(j:json):void ",      "JSONdump;",    
""      ]
 [ "json",      "filter",       "command json.filter(name:json, 
pathexpr:str):json ",   "JSONfilter;",  "Filter all members of an object by a 
path expression, returning an array.\nNon-matching elements are skipped." ]
 [ "json",      "filter",       "command json.filter(name:json, idx:bte, 
other:str):json ",     "JSONfilterArrayDefault_bte;",  ""      ]
+[ "json",      "filter",       "command json.filter(name:json, idx:hge, 
other:str):json ",     "JSONfilterArrayDefault_hge;",  ""      ]
 [ "json",      "filter",       "command json.filter(name:json, idx:int, 
other:str):json ",     "JSONfilterArrayDefault_int;",  ""      ]
 [ "json",      "filter",       "command json.filter(name:json, idx:lng, 
other:str):json ",     "JSONfilterArrayDefault_lng;",  "Extract a single array 
element"        ]
 [ "json",      "filter",       "command json.filter(name:json, idx:sht, 
other:str):json ",     "JSONfilterArrayDefault_sht;",  ""      ]
 [ "json",      "filter",       "command json.filter(name:json, idx:bte):json 
",        "JSONfilterArray_bte;", ""      ]
+[ "json",      "filter",       "command json.filter(name:json, idx:hge):json 
",        "JSONfilterArray_hge;", ""      ]
 [ "json",      "filter",       "command json.filter(name:json, idx:int):json 
",        "JSONfilterArray_int;", ""      ]
 [ "json",      "filter",       "command json.filter(name:json, idx:lng):json 
",        "JSONfilterArray_lng;", ""      ]
 [ "json",      "filter",       "command json.filter(name:json, idx:sht):json 
",        "JSONfilterArray_sht;", ""      ]
diff --git a/clients/mapiclient/Makefile.ag b/clients/mapiclient/Makefile.ag
--- a/clients/mapiclient/Makefile.ag
+++ b/clients/mapiclient/Makefile.ag
@@ -54,15 +54,6 @@ bin_tomograph = {
                $(SOCKET_LIBS) $(zlib_LIBS) $(bzip2_LIBS) $(snappy_LIBS) 
$(lz4_LIBS) $(liblzma_LIBS) $(curl_LIBS) $(LTLIBICONV) $(openssl_LIBS)
 }
 
-# disabled: it's not really a tool for users, more to debug mapi
-# problems, or measure performance
-#bin_mnc = {
-#      SOURCES = mnc.c
-#      LIBS = ../../common/stream/libstream \
-#              ../mapilib/libmapi \
-#              $(curl_LIBS) $(MALLOC_LIBS) $(PTHREAD_LIBS) $(SOCKET_LIBS)
-#}
-
 man_MANS = mclient.1 msqldump.1
 
 EXTRA_DIST = $(man_MANS)
diff --git a/clients/mapiclient/mnc.c b/clients/mapiclient/mnc.c
deleted file mode 100644
--- a/clients/mapiclient/mnc.c
+++ /dev/null
@@ -1,339 +0,0 @@
-/*
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0.  If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
- */
-
-/**
- * mnc
- * Fabian Groffen
- *
- * MCL netcat
- * Simple utility meant to measure the protocol overhead incurred by our
- * stream library compared to "plain" netcat (nc).
- */
-
-#include "monetdb_config.h"
-#include "mapi.h"
-#include "stream.h"
-#include "stream_socket.h"
-#include <string.h>
-#include <signal.h>
-#include <unistd.h>
-#ifdef HAVE_PTHREAD_H
-#include <pthread.h>
-#endif
-#include <sys/types.h>
-#ifdef HAVE_SYS_SOCKET_H
-# include <sys/socket.h>
-#endif
-#ifdef HAVE_WINSOCK_H
-# include <winsock.h>
-#endif
-#ifdef HAVE_NETDB_H
-# include <netdb.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-# include <netinet/in.h>
-#endif
-
-#ifndef HAVE_GETOPT_LONG
-# include "monet_getopt.h"
-#else
-# ifdef HAVE_GETOPT_H
-#  include "getopt.h"
-# endif
-#endif
-
-#define SOCKPTR struct sockaddr *
-#ifdef HAVE_SOCKLEN_T
-#define SOCKLEN socklen_t
-#else
-#define SOCKLEN int
-#endif
-
-#if !defined(HAVE_ACCEPT4) || !defined(SOCK_CLOEXEC)
-#define accept4(sockfd, addr, addlen, flags)   accept(sockfd, addr, addrlen)
-#endif
-
-static void
-usage(void)
-{
-       fprintf(stderr, "mnc [options] destination port\n");
-       fprintf(stderr, "  -l | --listen   listen for connection instead\n");
-       /* TODO
-       fprintf(stderr, "  -u | --udp      use UDP instead of TCP\n");
-       fprintf(stderr, "  -g | --gzip     use gzip stream wrapper\n");
-       fprintf(stderr, "  -j | --bzip2    use bzip2 stream wrapper\n");
-       fprintf(stderr, "  -b | --buffer   use buffered stream\n");
-       */
-       fprintf(stderr, "  -B | --block    use block stream\n");
-}
-
-int
-main(int argc, char **argv)
-{
-       int a = 1;
-       char *host = NULL;
-       int port = 0;
-       char clisten = 0;
-       /* char udp = 0; */
-       /* char zip = 0; */
-       /* char buffer = 0; */
-       char block = 0;
-       SOCKET s = INVALID_SOCKET;
-       stream *in = NULL;
-       stream *out = NULL;
-       char buf[8096];
-       ssize_t len;
-       fd_set fds;
-       char seeneof = 0;
-       char seenflush = 0;
-
-       static struct option long_options[8] = {
-               { "listen", 0, 0, 'l' },
-               { "udp", 0, 0, 'u' },
-               { "gzip", 0, 0, 'g' },
-               { "bzip2", 0, 0, 'j' },
-               { "buffer", 0, 0, 'b' },
-               { "block", 0, 0, 'B' },
-               { "help", 0, 0, '?' },
-               { 0, 0, 0, 0 }
-       };
-       while (1) {
-               int option_index = 0;
-               int c = getopt_long(argc, argv, "lugjbB?h",
-                       long_options, &option_index);
-               if (c == -1)
-                       break;
-               switch (c) {
-                       case 'l':
-                               clisten = 1;
-                               break;
-                       case 'u':
-                               /* udp = 1; */
-                               break;
-                       case 'g':
-                               /* zip = 1; */
-                               break;
-                       case 'j':
-                               /* zip = 2; */
-                               break;
-                       case 'b':
-                               /* buffer = 1; */
-                               break;
-                       case 'B':
-                               block = 1;
-                               break;
-                       default:
-                               usage();
-                               exit(0);
-               }
-       }
-
-       a = optind;
-       if (argc - a != 2) {
-               fprintf(stderr, "%s: need destination and port arguments\n", 
argv[0]);
-               usage();
-               exit(-1);
-       }
-
-       host = argv[a++];
-       port = atoi(argv[a]);
-       
-       /* call the stream wrappers based on the user's choice, stream
-        * everything from/to stdin/stdout */
-
-       if (!clisten) {
-#ifdef HAVE_GETADDRINFO
-               struct addrinfo hints, *res, *rp;
-               char sport[32];
-               int ret;
-
-               snprintf(sport, sizeof(sport), "%d", port & 0xFFFF);
-
-               hints = (struct addrinfo) {
-                       .ai_family = AF_UNSPEC,
-                       .ai_socktype = SOCK_STREAM,
-                       .ai_protocol = IPPROTO_TCP,
-               };
-               ret = getaddrinfo(host, sport, &hints, &res);
-               if (ret) {
-                       fprintf(stderr, "getaddrinfo failed: %s\n", 
gai_strerror(ret));
-                       exit(1);
-               }
-               for (rp = res; rp; rp = rp->ai_next) {
-                       s = socket(rp->ai_family, rp->ai_socktype
-#ifdef SOCK_CLOEXEC
-                                  | SOCK_CLOEXEC
-#endif
-                                  , rp->ai_protocol);
-                       if (s == INVALID_SOCKET)
-                               continue;
-                       if (connect(s, rp->ai_addr, (socklen_t) rp->ai_addrlen) 
!= SOCKET_ERROR)
-                               break;  /* success */
-                       closesocket(s);
-               }
-#if !defined(SOCK_CLOEXEC) && defined(HAVE_FCNTL)
-               (void) fcntl(s, F_SETFD, FD_CLOEXEC);
-#endif
-               freeaddrinfo(res);
-               if (rp == NULL) {
-                       fprintf(stderr, "could not connect to %s:%s: %s\n",
-                                       host, sport, strerror(errno));
-                       exit(1);
-               }
-#else
-               struct sockaddr_in server;
-               struct hostent *hp;
-               struct sockaddr *serv = (struct sockaddr *) &server;
-
-               if ((hp = gethostbyname(host)) == NULL) {
-                       fprintf(stderr, "gethostbyname failed: %s\n", errno ? 
strerror(errno) : hstrerror(h_errno));
-                       exit(1);
-               }
-               server = (struct sockaddr_in) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to