Changeset: 95b78f831b0b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/95b78f831b0b
Modified Files:
        MonetDB.spec
        clients/Tests/exports.stable.out
        debian/control
        gdk/gdk_batop.c
        sql/backends/monet5/sql.c
Branch: default
Log Message:

Merge with Aug2024 branch.


diffs (truncated from 1447 to 300 lines):

diff --git a/ChangeLog.Dec2023 b/ChangeLog.Dec2023
--- a/ChangeLog.Dec2023
+++ b/ChangeLog.Dec2023
@@ -1,3 +1,7 @@
 # ChangeLog file for devel
 # This file is updated with Maddlog
 
+* Tue Aug  6 2024 Sjoerd Mullender <sjo...@acm.org>
+- The CMake configuration files for building extensions have now been
+  included in the various MonetDB development RPMs and debs.
+
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -211,6 +211,12 @@ functionality of MonetDB.
 %{_includedir}/monetdb/monet*.h
 %{_libdir}/libbat*.so
 %{_libdir}/pkgconfig/monetdb-gdk.pc
+%dir %{_datadir}/monetdb
+%dir %{_datadir}/monetdb/cmake
+%{_datadir}/monetdb/cmake/gdkTargets*.cmake
+%{_datadir}/monetdb/cmake/matomicTargets.cmake
+%{_datadir}/monetdb/cmake/mstringTargets.cmake
+%{_datadir}/monetdb/cmake/monetdb_config_headerTargets.cmake
 %endif
 
 %package stream
@@ -258,6 +264,7 @@ library.
 %{_includedir}/monetdb/stream.h
 %{_includedir}/monetdb/stream_socket.h
 %{_libdir}/pkgconfig/monetdb-stream.pc
+%{_datadir}/monetdb/cmake/streamTargets*.cmake
 %endif
 
 %package client-lib
@@ -338,6 +345,7 @@ This package contains the files needed t
 %{_includedir}/monetdb/mapi*.h
 %{_includedir}/monetdb/msettings.h
 %{_libdir}/pkgconfig/monetdb-mapi.pc
+%{_datadir}/monetdb/cmake/mapiTargets*.cmake
 %endif
 
 %if %{without compat}
@@ -644,6 +652,7 @@ used from the MAL level.
 %{_includedir}/monetdb/mel.h
 %{_libdir}/libmonetdb5*.so
 %{_libdir}/pkgconfig/monetdb5.pc
+%{_datadir}/monetdb/cmake/monetdb5Targets*.cmake
 %endif
 
 %package SQL
@@ -701,6 +710,7 @@ Summary: MonetDB SQL server modules deve
 Group: Applications/Databases
 Requires: %{name}-SQL%{?_isa} = %{version}-%{release}
 Requires: %{name}-server-devel%{?_isa} = %{version}-%{release}
+Requires: %{name}-embedded-devel%{?_isa} = %{version}-%{release}
 
 %description SQL-devel
 MonetDB is a database management system that is developed from a
@@ -716,6 +726,8 @@ This package contains files needed to de
 %{_includedir}/monetdb/rel_*.h
 %{_includedir}/monetdb/sql*.h
 %{_includedir}/monetdb/store_*.h
+%{_datadir}/monetdb/cmake/MonetDBConfig*.cmake
+%{_datadir}/monetdb/cmake/sqlTargets*.cmake
 %endif
 
 %if %{without compat}
@@ -759,6 +771,7 @@ program that uses MonetDB as an embeddab
 %{_libdir}/libmonetdbe.so
 %{_includedir}/monetdb/monetdbe.h
 %{_libdir}/pkgconfig/monetdbe.pc
+%{_datadir}/monetdb/cmake/monetdbeTargets*.cmake
 
 %package embedded-tests
 Summary: MonetDBe tests package
@@ -938,7 +951,6 @@ rm -f "${RPM_BUILD_ROOT}"%{_libdir}/mone
 rm -f "${RPM_BUILD_ROOT}"%{_libdir}/monetdb5*/lib_microbenchmark*.so
 rm -f "${RPM_BUILD_ROOT}"%{_libdir}/monetdb5*/lib_udf*.so
 rm -f "${RPM_BUILD_ROOT}"%{_bindir}/monetdb_mtest.sh
-rm -rf "${RPM_BUILD_ROOT}"%{_datadir}/monetdb # /cmake
 
 if [ -x /usr/sbin/hardlink ]; then
     /usr/sbin/hardlink -cv "${RPM_BUILD_ROOT}"%{_datadir}/selinux
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -1322,6 +1322,7 @@ void trimMalVariables(MalBlkPtr mb, MalS
 void trimMalVariables_(MalBlkPtr mb, MalStkPtr glb);
 void typeChecker(Module scope, MalBlkPtr mb, InstrPtr p, int p_idx, int 
silent);
 const char *umaskRef;
+const char *unionfuncRef;
 const char *uniqueRef;
 const char *unlockRef;
 const char *updateRef;
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -2251,14 +2251,10 @@ dump_table(Mapi mid, const char *schema,
                                goto doreturn;
                        }
                        for (int64_t i = 0; i < rows; i++) {
-                               if (mapi_fetch_row(hdl) == 0) {
-                                       mapi_close_handle(hdl);
-                                       fprintf(stderr, "unexepcted error\n");
-                                       goto doreturn;
-                               }
-                               tables[i].schema = strdup(mapi_fetch_field(hdl, 
0));
-                               tables[i].table = strdup(mapi_fetch_field(hdl, 
1));
-                               if (tables[i].schema == NULL || tables[i].table 
== NULL) {
+                               tables[i].schema = tables[i].table = NULL;
+                               if (mapi_fetch_row(hdl) == 0 ||
+                                       (tables[i].schema = 
strdup(mapi_fetch_field(hdl, 0))) == NULL ||
+                                       (tables[i].table = 
strdup(mapi_fetch_field(hdl, 1))) == NULL) {
                                        do {
                                                free(tables[i].schema);
                                                free(tables[i].table);
diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -1786,12 +1786,6 @@ mapi_new(msettings *settings)
        mid = malloc(sizeof(*mid));
        if (mid == NULL)
                return NULL;
-       if (settings == NULL)
-               settings = msettings_create();
-       if (settings == NULL) {
-               free(mid);
-               return NULL;
-       }
 
        /* then fill in some details */
        *mid = MapiStructDefaults;
@@ -1800,6 +1794,13 @@ mapi_new(msettings *settings)
                mapi_destroy(mid);
                return NULL;
        }
+       if (settings == NULL) {
+               settings = msettings_create();
+               if (settings == NULL) {
+                       mapi_destroy(mid);
+                       return NULL;
+               }
+       }
        mid->settings = settings;
        mid->blk.buf[0] = 0;
        mid->blk.buf[mid->blk.lim] = 0;
diff --git a/common/stream/fwf.c b/common/stream/fwf.c
--- a/common/stream/fwf.c
+++ b/common/stream/fwf.c
@@ -47,8 +47,10 @@ stream_fwf_read(stream *restrict s, void
        if (fsd == NULL || elmsize != 1) {
                return -1;
        }
-       if (fsd->eof)
+       if (fsd->eof) {
+               s->eof = 1;
                return 0;
+       }
 
        while (to_write > 0) {
                /* input conversion */
@@ -59,14 +61,18 @@ stream_fwf_read(stream *restrict s, void
                                if (actually_read < 0) {
                                        return actually_read;   /* this is an 
error */
                                }
-                               fsd->eof |= fsd->s->eof;
-                               return (ssize_t) buf_written;   /* skip last 
line */
+                               if (actually_read == 0) {
+                                       fsd->eof |= fsd->s->eof;
+                                       s->eof = fsd->eof;
+                                       return (ssize_t) buf_written;   /* skip 
last line */
+                               }
                        }
                        /* consume to next newline */
                        while (fsd->s->read(fsd->s, &nl_buf, 1, 1) == 1 &&
                               nl_buf != '\n')
                                ;
                        fsd->eof |= fsd->s->eof;
+                       s->eof = fsd->eof;
 
                        for (field_idx = 0; field_idx < fsd->num_fields; 
field_idx++) {
                                char *val_start, *val_end;
diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -274,7 +274,8 @@ Package: monetdb-sql-dev
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends},
  monetdb-server-dev (= ${source:Version}),
- monetdb-sql (= ${source:Version})
+ monetdb-sql (= ${source:Version})),
+ libmonetdbe-dev (= ${source:Version})
 Replaces: monetdb5-sql-dev (<< 11.50.0)
 Break: monetdb5-sql-dev (<< 11.50.0)
 Description: MonetDB SQL support
diff --git a/debian/libmonetdb-client-dev.install 
b/debian/libmonetdb-client-dev.install
--- a/debian/libmonetdb-client-dev.install
+++ b/debian/libmonetdb-client-dev.install
@@ -2,3 +2,4 @@ debian/tmp/usr/lib/x86_64-linux-gnu/libm
 debian/tmp/usr/include/monetdb/mapi*.h usr/include/monetdb
 debian/tmp/usr/include/monetdb/msettings.h usr/include/monetdb
 debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/monetdb-mapi.pc 
usr/lib/x86_64-linux-gnu/pkgconfig
+debian/tmp/usr/share/monetdb/cmake/mapiTargets*.cmake usr/share/monetdb/cmake
diff --git a/debian/libmonetdb-dev.install b/debian/libmonetdb-dev.install
--- a/debian/libmonetdb-dev.install
+++ b/debian/libmonetdb-dev.install
@@ -7,3 +7,7 @@ debian/tmp/usr/include/monetdb/mstring.h
 debian/tmp/usr/include/monetdb/monet_*.h usr/include/monetdb
 debian/tmp/usr/include/monetdb/monetdb_*.h usr/include/monetdb
 debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/monetdb-gdk.pc 
usr/lib/x86_64-linux-gnu/pkgconfig
+debian/tmp/usr/share/monetdb/cmake/gdkTargets*.cmake usr/share/monetdb/cmake
+debian/tmp/usr/share/monetdb/cmake/matomicTargets.cmake usr/share/monetdb/cmake
+debian/tmp/usr/share/monetdb/cmake/mstringTargets.cmake usr/share/monetdb/cmake
+debian/tmp/usr/share/monetdb/cmake/monetdb_config_headerTargets.cmake 
usr/share/monetdb/cmake
diff --git a/debian/libmonetdb-stream-dev.install 
b/debian/libmonetdb-stream-dev.install
--- a/debian/libmonetdb-stream-dev.install
+++ b/debian/libmonetdb-stream-dev.install
@@ -2,3 +2,4 @@ debian/tmp/usr/lib/x86_64-linux-gnu/libs
 debian/tmp/usr/include/monetdb/stream.h usr/include/monetdb
 debian/tmp/usr/include/monetdb/stream_socket.h usr/include/monetdb
 debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/monetdb-stream.pc 
usr/lib/x86_64-linux-gnu/pkgconfig
+debian/tmp/usr/share/monetdb/cmake/streamTargets*.cmake usr/share/monetdb/cmake
diff --git a/debian/libmonetdbe-dev.install b/debian/libmonetdbe-dev.install
--- a/debian/libmonetdbe-dev.install
+++ b/debian/libmonetdbe-dev.install
@@ -1,3 +1,4 @@
 debian/tmp/usr/lib/x86_64-linux-gnu/libmonetdbe.so usr/lib/x86_64-linux-gnu
 debian/tmp/usr/include/monetdb/monetdbe.h usr/include/monetdb
 debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/monetdbe.pc 
usr/lib/x86_64-linux-gnu/pkgconfig
+debian/tmp/usr/share/monetdb/cmake/monetdbeTargets.cmake 
usr/share/monetdb/cmake
diff --git a/debian/monetdb5-server-dev.install 
b/debian/monetdb5-server-dev.install
--- a/debian/monetdb5-server-dev.install
+++ b/debian/monetdb5-server-dev.install
@@ -2,3 +2,4 @@ debian/tmp/usr/lib/x86_64-linux-gnu/libm
 debian/tmp/usr/include/monetdb/mal*.h usr/include/monetdb
 debian/tmp/usr/include/monetdb/mel.h usr/include/monetdb
 debian/tmp/usr/lib/x86_64-linux-gnu/pkgconfig/monetdb5.pc 
usr/lib/x86_64-linux-gnu/pkgconfig
+debian/tmp/usr/share/monetdb/cmake/monetdb5Targets*.cmake 
usr/share/monetdb/cmake
diff --git a/debian/monetdb5-sql-dev.install b/debian/monetdb5-sql-dev.install
--- a/debian/monetdb5-sql-dev.install
+++ b/debian/monetdb5-sql-dev.install
@@ -2,3 +2,5 @@ debian/tmp/usr/include/monetdb/opt_backe
 debian/tmp/usr/include/monetdb/rel_*.h usr/include/monetdb
 debian/tmp/usr/include/monetdb/sql*.h usr/include/monetdb
 debian/tmp/usr/include/monetdb/store_*.h usr/include/monetdb
+debian/tmp/usr/share/monetdb/cmake/MonetDBConfigTargets*.cmake 
usr/share/monetdb/cmake
+debian/tmp/usr/share/monetdb/cmake/sqlTargets*.cmake usr/share/monetdb/cmake
diff --git a/debian/rules b/debian/rules
--- a/debian/rules
+++ b/debian/rules
@@ -54,7 +54,6 @@ override_dh_strip:
 override_dh_auto_install:
        dh_auto_install
        rm debian/tmp/usr/bin/monetdb_mtest.sh
-       rm -r debian/tmp/usr/share/monetdb
        rm debian/tmp/usr/lib/*/monetdb5*/lib_opt_sql_append.so
        rm debian/tmp/usr/lib/*/monetdb5*/lib_microbenchmark*.so
        rm debian/tmp/usr/lib/*/monetdb5*/lib_udf*.so
diff --git a/gdk/ChangeLog.Aug2024 b/gdk/ChangeLog.Aug2024
--- a/gdk/ChangeLog.Aug2024
+++ b/gdk/ChangeLog.Aug2024
@@ -6,7 +6,7 @@
   comparisons and converting to upper or lower case.  Case insensitive
   comparison (i.e. the ILIKE operator) uses case folding which is similar
   to converting to lower case, but changes more characters, also sometimes
-  to multiple characters (e.g. German sharp s (ß) comparse equal to SS).
+  to multiple characters (e.g. German sharp s (ß) compares equal to SS).
 
 * Tue Mar 26 2024 Sjoerd Mullender <sjo...@acm.org>
 - Made some changes to how BAT descriptors are allocated.  They are now
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -3069,9 +3069,11 @@ BATcount_no_nil(BAT *b, BAT *s)
 
        hseq = b->hseqbase;
        canditer_init(&ci, b, s);
-       if (b->tnonil)
+       BATiter bi = bat_iterator(b);
+       if (bi.nonil) {
+               bat_iterator_end(&bi);
                return ci.ncand;
-       BATiter bi = bat_iterator(b);
+       }
        p = bi.base;
        t = ATOMbasetype(bi.type);
        switch (t) {
diff --git a/gdk/gdk_cand.c b/gdk/gdk_cand.c
--- a/gdk/gdk_cand.c
+++ b/gdk/gdk_cand.c
@@ -846,6 +846,7 @@ canditer_mask_next(const struct canditer
                                o = 31;
                                if (p == 0)
                                        return oid_nil;
+                               p--;
                        } else {
                                o--;
                        }
diff --git a/gdk/gdk_hash.c b/gdk/gdk_hash.c
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to