Changeset: 10b4bbfb8dbc for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/10b4bbfb8dbc Modified Files: sql/backends/monet5/sql.c Branch: Aug2024 Log Message:
merged diffs (truncated from 329 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/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/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/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -3066,9 +3066,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/geom/monetdb5/geomBulk.c b/geom/monetdb5/geomBulk.c --- a/geom/monetdb5/geomBulk.c +++ b/geom/monetdb5/geomBulk.c @@ -823,10 +823,10 @@ wkbTransform_bat_cand(bat *outBAT_id, ba GEOSSetSRID_r(geoshandle, transformedGeosGeometry, *srid_dst); /* get the wkb */ if ((transformedWKB = geos2wkb(transformedGeosGeometry)) == NULL) - throw(MAL, "batgeom.Transform", SQLSTATE(38000) "Geos operation geos2wkb failed"); + err = createException(MAL, "batgeom.Transform", SQLSTATE(38000) "Geos operation geos2wkb failed"); else { if (BUNappend(outBAT, transformedWKB, false) != GDK_SUCCEED) { - throw(MAL, "batgeom.Transform", SQLSTATE(HY013) MAL_MALLOC_FAIL); + err = createException(MAL, "batgeom.Transform", SQLSTATE(HY013) MAL_MALLOC_FAIL); } } @@ -842,10 +842,14 @@ wkbTransform_bat_cand(bat *outBAT_id, ba BBPunfix(inBAT->batCacheid); if (s) BBPunfix(s->batCacheid); - *outBAT_id = outBAT->batCacheid; - BBPkeepref(outBAT); + if (err) { + BBPreclaim(outBAT); + } else { + *outBAT_id = outBAT->batCacheid; + BBPkeepref(outBAT); + } - return MAL_SUCCEED; + return err; #endif } diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c --- a/monetdb5/mal/mal_client.c +++ b/monetdb5/mal/mal_client.c @@ -184,12 +184,12 @@ MCgetClient(int id) static void MCresetProfiler(stream *fdout) { - if (fdout != maleventstream) - return; MT_lock_set(&mal_profileLock); - maleventstream = NULL; - profilerStatus = 0; - profilerMode = 0; + if (fdout == maleventstream) { + maleventstream = NULL; + profilerStatus = 0; + profilerMode = 0; + } MT_lock_unset(&mal_profileLock); } diff --git a/monetdb5/mal/mal_interpreter.c b/monetdb5/mal/mal_interpreter.c --- a/monetdb5/mal/mal_interpreter.c +++ b/monetdb5/mal/mal_interpreter.c @@ -571,6 +571,9 @@ runMALsequence(Client cntxt, MalBlkPtr m break; } + freeException(ret); + ret = MAL_SUCCEED; + if (stk->status) { /* pause procedure from SYSMON */ if (stk->status == 'p') { @@ -661,8 +664,6 @@ runMALsequence(Client cntxt, MalBlkPtr m } } _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org