Changeset: fb6716bcdab0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/fb6716bcdab0
Added Files:
sql/test/SQLancer/Tests/sqlancer22.test
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
gdk/gdk_aggr.c
gdk/gdk_group.c
gdk/gdk_string.c
monetdb5/modules/atoms/batxml.c
monetdb5/modules/atoms/json.c
monetdb5/modules/atoms/mtime.c
monetdb5/modules/atoms/uuid.c
monetdb5/modules/kernel/algebra.c
monetdb5/modules/kernel/bat5.c
monetdb5/modules/kernel/batmmath.c
monetdb5/modules/kernel/batstr.c
monetdb5/modules/mal/batcalc.c
monetdb5/modules/mal/pcre.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_remap.c
sql/backends/monet5/mal_backend.h
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql.h
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_gencode.h
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_statement.h
sql/common/sql_types.c
sql/server/rel_dump.c
sql/server/rel_optimizer.c
sql/server/rel_propagate.c
sql/server/rel_updates.c
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.test
sql/test/SQLancer/Tests/All
sql/test/SQLancer/Tests/sqlancer08.test
sql/test/SQLancer/Tests/sqlancer10.test
sql/test/SQLancer/Tests/sqlancer17.test
sql/test/SQLancer/Tests/sqlancer18.test
sql/test/miscellaneous/Tests/groupby_expressions.test
sql/test/miscellaneous/Tests/simple_plans.test
Branch: pushcands
Log Message:
Merged with default
diffs (truncated from 574381 to 300 lines):
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -811,3 +811,11 @@ 404cb13ad1bc3469bfaf5b7696a4d2cfe5ce71f4
9ab0adea978c184d895ca445792a79f26cb9d075 Jul2021_5
404cb13ad1bc3469bfaf5b7696a4d2cfe5ce71f4 Jul2021_release
9ab0adea978c184d895ca445792a79f26cb9d075 Jul2021_release
+ceade625915329a9697b5009470ce0251a5e2244 Jul2021_7
+ceade625915329a9697b5009470ce0251a5e2244 Jul2021_SP1_release
+4b353b1f914e3c9c7493117284f9cc06677e4c71 Jul2021_9
+ceade625915329a9697b5009470ce0251a5e2244 Jul2021_SP1_release
+4b353b1f914e3c9c7493117284f9cc06677e4c71 Jul2021_SP1_release
+65065954ca086d01254a20cc145695fa8b9a3db2 Jul2021_11
+4b353b1f914e3c9c7493117284f9cc06677e4c71 Jul2021_SP1_release
+65065954ca086d01254a20cc145695fa8b9a3db2 Jul2021_SP1_release
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,10 +24,6 @@ set(CMAKE_PROJECT_HOMEPAGE_URL "https://
set(C_STANDARD_REQUIRED ON)
set(CMAKE_C_STANDARD 99)
-if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.13.0")
- cmake_policy(SET CMP0076 OLD)
-endif()
-
# We give precedence to UNIX include directories over
# OS X Frameworks directories
set(CMAKE_FIND_FRAMEWORK LAST)
@@ -53,8 +49,7 @@ test_big_endian(IS_BIG_ENDIAN)
include(monetdb-functions)
include(monetdb-findpackages)
include(monetdb-toolchain)
-monetdb_default_toolchain()
-#monetdb_default_compiler_options()
+monetdb_default_compiler_options()
include(monetdb-defines)
monetdb_hg_revision()
@@ -93,10 +88,14 @@ monetdb_configure_misc()
# Some custom target will need these setting.
include(monetdb-custom-targets)
-SET(CMAKE_SKIP_BUILD_RPATH FALSE)
-SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
-SET(CMAKE_INSTALL_RPATH
"${CMAKE_INSTALL_FULL_LIBDIR};${CMAKE_INSTALL_FULL_LIBDIR}/monetdb5")
-SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+if(NOT ${CMAKE_INSTALL_PREFIX} STREQUAL "/usr")
+ SET(CMAKE_SKIP_BUILD_RPATH FALSE)
+ SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
+ SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
+ SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+#else()
+# SET(CMAKE_SKIP_RPATH TRUE)
+endif()
# required for some instalation files
set(PROGRAM_PERMISSIONS_DEFAULT
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -71,9 +71,6 @@
%bcond_without fits
%endif
-%{!?__python3: %global __python3 /usr/bin/python3}
-%{!?python3_sitelib: %global python3_sitelib %(%{__python3} -c "from
distutils.sysconfig import get_python_lib; print(get_python_lib())")}
-
Name: %{name}
Version: %{version}
Release: %{release}
@@ -84,7 +81,7 @@ Group: Applications/Databases
License: MPLv2.0
URL: https://www.monetdb.org/
BugURL: https://bugs.monetdb.org/
-Source:
https://www.monetdb.org/downloads/sources/Jul2021/%{name}-%{version}.tar.bz2
+Source:
https://www.monetdb.org/downloads/sources/Jul2021-SP1/%{name}-%{version}.tar.bz2
# The Fedora packaging document says we need systemd-rpm-macros for
# the _unitdir and _tmpfilesdir macros to exist; however on RHEL 7
@@ -98,7 +95,7 @@ BuildRequires: hardlink
BuildRequires: cmake3 >= 3.12
BuildRequires: gcc
BuildRequires: bison
-BuildRequires: /usr/bin/python3
+BuildRequires: python3-devel
%if %{?rhel:1}%{!?rhel:0}
# RH 7 (and for readline also 8)
BuildRequires: bzip2-devel
@@ -527,7 +524,6 @@ exit 0
%{_libdir}/monetdb5/lib_capi.so
%endif
%{_libdir}/monetdb5/lib_generator.so
-%{_libdir}/monetdb5/lib_udf.so
%doc %{_mandir}/man1/mserver5.1.gz
%dir %{_datadir}/doc/MonetDB
%docdir %{_datadir}/doc/MonetDB
@@ -683,7 +679,6 @@ package. You probably don't need this,
Summary: MonetDB - Monet Database Management System
Group: Applications/Databases
Requires: %{name}-client-tests = %{version}-%{release}
-Requires: /usr/bin/python3
BuildArch: noarch
%description testing-python
@@ -832,6 +827,7 @@ rm -f %{buildroot}%{_libdir}/monetdb5/ru
rm -f %{buildroot}%{_libdir}/monetdb5/lib_run_*.so
rm -f %{buildroot}%{_libdir}/monetdb5/microbenchmark.mal
rm -f %{buildroot}%{_libdir}/monetdb5/lib_microbenchmark*.so
+rm -f %{buildroot}%{_libdir}/monetdb5/lib_udf*.so
rm -f %{buildroot}%{_bindir}/monetdb_mtest.sh
rm -rf %{buildroot}%{_datadir}/monetdb # /cmake
@@ -842,7 +838,77 @@ else
/usr/bin/hardlink -cv %{buildroot}%{_datadir}/selinux
fi
+# update shebang lines for Python scripts
+%if %{?py3_shebang_fix:1}%{!?py3_shebang_fix:0}
+ # Fedora has py3_shebang_fix macro
+ %{py3_shebang_fix} %{buildroot}%{_bindir}/*.py
+%else
+ # EPEL does not, but we can use the script directly
+ /usr/bin/pathfix.py -pni "%{__python3} -s" %{buildroot}%{_bindir}/*.py
+%endif
+
%changelog
+* Thu Sep 30 2021 Sjoerd Mullender <[email protected]> - 11.41.11-20210930
+- Rebuilt.
+
+* Tue Sep 28 2021 Sjoerd Mullender <[email protected]> - 11.41.9-20210928
+- Rebuilt.
+
+* Mon Sep 27 2021 Sjoerd Mullender <[email protected]> - 11.41.7-20210927
+- Rebuilt.
+- GH#7140: SQL Query Plan Non Optimal with View
+- GH#7162: Extend sys.var_values table
+- GH#7165: `JOINIDX: missing '.'` when running distributed join query on
+ merged remote tables
+- GH#7172: Unexpected query result with merge tables
+- GH#7173: If truncate is in transaction then after restart of MonetDB the
+ table is empty
+- GH#7178: Remote Table Throws Error - createExceptionInternal: !ERROR:
+ SQLException:RAstatement2:42000!The number of projections don't match
+ between the generated plan and the expected one: 1 != 1200
+
+* Wed Sep 22 2021 Sjoerd Mullender <[email protected]> - 11.41.7-20210927
+- gdk: Some deadlock and race condition issues were fixed.
+- gdk: Handling of the list of free bats has been improved, leading to less
+ thread contention.
+- gdk: A problem was fixed where the server wouldn't start with a message from
+ BBPcheckbats about files being too small. The issue was not that the
+ file was too small, but that BBPcheckbats was looking at the wrong file.
+- gdk: An issue was fixed where a "short read" error was produced when memory
+ was getting tight.
+
+* Wed Sep 22 2021 Sjoerd Mullender <[email protected]> - 11.41.7-20210927
+- sql: If the server has been idle for a while with no active clients, the
+ write-ahead log is now rotated.
+- sql: A problem was fixed where files belonging to bats that had been deleted
+ internally were not cleaned up, leading to a growing database (dbfarm)
+ directory.
+- sql: A leak was fixed where extra bats were created but never cleaned up,
+ each taking up several kilobytes of memory.
+
+* Tue Aug 17 2021 Ying Zhang <[email protected]> - 11.41.7-20210927
+- sql: [This feature was already released in Jul2021 (11.41.5), but the
ChangeLog was missing]
+ Grant indirect privileges. With "GRANT SELECT ON <my_view> TO
+ <another_user>" and "GRANT EXECUTE ON FUNCTION <my_func> TO
+ <another_user>", one can grant access to "my_view" and "my_func"
+ to another user who does not have access to the underlying database
+ objects (e.g. tables, views) used in "my_view" and "my_func". The
+ grantee will only be able to access data revealed by "my_view" or
+ conduct operations provided by "my_func".
+
+* Mon Aug 16 2021 Sjoerd Mullender <[email protected]> - 11.41.7-20210927
+- sql: Improved error reporting in COPY INTO by giving the line number
+ (starting with one) for the row in which an error was found. In
+ particular, the sys.rejects() table now lists the line number of the
+ CSV file on which the record started in which an error was found.
+
+* Wed Aug 11 2021 Sjoerd Mullender <[email protected]> - 11.41.7-20210927
+- gdk: When appending to a string bat, we made an optimization where the string
+ heap was sometimes copied completely to avoid having to insert strings
+ individually. This copying was still done too eagerly, so now the
+ string heap is copied less frequently. In particular, when appending
+ to an empty bat, the string heap is now not always copied whole.
+
* Tue Aug 03 2021 Sjoerd Mullender <[email protected]> - 11.41.5-20210803
- Rebuilt.
- GH#7161: fix priority
diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py
--- a/NT/mksqlwxs.py
+++ b/NT/mksqlwxs.py
@@ -191,9 +191,9 @@ def main():
print(r' <Directory Id="lib" Name="lib">')
print(r' <Directory Id="monetdb5" Name="monetdb5">')
id = comp(features, id, 16,
- [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x:
x.startswith('_') and x.endswith('.dll') and ('geom' not in x) and ('pyapi' not
in x) and ('opt_sql_append' not in x) and ('run_' not in x) and
('microbenchmark' not in x), os.listdir(os.path.join(sys.argv[3], 'lib',
'monetdb5'))))])
+ [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x:
x.startswith('_') and x.endswith('.dll') and ('geom' not in x) and ('pyapi' not
in x) and ('opt_sql_append' not in x) and ('run_' not in x) and
('microbenchmark' not in x) and ('udf' not in x),
os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
id = comp(debug, id, 16,
- [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x:
x.startswith('_') and x.endswith('.pdb') and ('geom' not in x) and
('opt_sql_append' not in x) and ('run_' not in x) and ('microbenchmark' not in
x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
+ [r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x:
x.startswith('_') and x.endswith('.pdb') and ('geom' not in x) and
('opt_sql_append' not in x) and ('run_' not in x) and ('microbenchmark' not in
x) and ('udf' not in x), os.listdir(os.path.join(sys.argv[3], 'lib',
'monetdb5'))))])
id = comp(geom, id, 16,
[r'lib\monetdb5\{}'.format(x) for x in sorted(filter(lambda x:
x.startswith('_') and (x.endswith('.dll') or x.endswith('.pdb')) and ('geom' in
x), os.listdir(os.path.join(sys.argv[3], 'lib', 'monetdb5'))))])
id = comp(pyapi3, id, 16,
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
@@ -233,6 +233,7 @@ gdk_return BUNreplacemulti(BAT *b, const
gdk_return BUNreplacemultiincr(BAT *b, oid position, const void *values, BUN
count, bool force) __attribute__((__warn_unused_result__));
BAT *COLcopy(BAT *b, int tt, bool writable, role_t role);
BAT *COLnew(oid hseq, int tltype, BUN capacity, role_t role)
__attribute__((__warn_unused_result__));
+BAT *COLnew2(oid hseq, int tt, BUN cap, role_t role, uint16_t width)
__attribute__((__warn_unused_result__));
size_t GDK_mem_maxsize;
size_t GDK_vm_maxsize;
gdk_return GDKanalytical_correlation(BAT *r, BAT *p, BAT *o, BAT *b1, BAT *b2,
BAT *s, BAT *e, int tpe, int frame_type);
@@ -514,6 +515,8 @@ size_t escapedStrlen(const char *restric
ssize_t fltFromStr(const char *src, size_t *len, flt **dst, bool external);
ssize_t fltToStr(str *dst, size_t *len, const flt *src, bool external);
const flt flt_nil;
+gdk_return gdk_add_callback(char *name, gdk_callback_func *f, int argc, void
*argv[], int interval);
+gdk_return gdk_remove_callback(char *, gdk_callback_func *f);
geomcatalogfix_fptr geomcatalogfix_get(void);
void geomcatalogfix_set(geomcatalogfix_fptr);
geomsqlfix_fptr geomsqlfix_get(void);
@@ -773,7 +776,8 @@ void MPresetProfiler(stream *fdout);
char *MSP_locate_sqlscript(const char *mod_name, bit recurse);
str MSinitClientPrg(Client cntxt, const char *mod, const char *nme);
void MSresetInstructions(MalBlkPtr mb, int start);
-void MSresetVariables(Client cntxt, MalBlkPtr mb, MalStkPtr glb, int start);
+void MSresetStack(Client cntxt, MalBlkPtr mb, MalStkPtr glb);
+void MSresetVariables(MalBlkPtr mb);
void MSscheduleClient(str command, str challenge, bstream *fin, stream *fout,
protocol_version protocol, size_t blocksize);
str MSserveClient(Client cntxt);
str OIDXcreateImplementation(Client cntxt, int tpe, BAT *b, int pieces);
@@ -1057,6 +1061,7 @@ const char *hgeRef;
const char *identityRef;
const char *ifthenelseRef;
const char *importColumnRef;
+const char *importTableRef;
void initHeartbeat(void);
void initNamespace(void);
void initParser(void);
@@ -1136,6 +1141,7 @@ const char *mdbRef;
void mdbSetBreakRequest(Client cntxt, MalBlkPtr mb, str request, char cmd);
const char *mergecandRef;
const char *mergepackRef;
+const char *mergetableRef;
const char *minRef;
const char *min_no_nilRef;
const char *minusRef;
@@ -1226,7 +1232,6 @@ const char *plusRef;
const char *postludeRef;
const char *preludeRef;
MalStkPtr prepareMALstack(MalBlkPtr mb, int size);
-int prepareMalBlk(MalBlkPtr mb, str s);
void printFunction(stream *fd, MalBlkPtr mb, MalStkPtr stk, int flg);
void printInstruction(stream *fd, MalBlkPtr mb, MalStkPtr stk, InstrPtr p, int
flg);
const char *printRef;
@@ -1293,8 +1298,8 @@ const char *rename_tableRef;
const char *rename_userRef;
const char *replaceRef;
const char *replicatorRef;
-void resetMalBlk(MalBlkPtr mb, int stop);
-void resetMalBlkAndFreeInstructions(MalBlkPtr mb, int stop);
+void resetMalBlk(MalBlkPtr mb);
+void resetMalTypes(MalBlkPtr mb, int stop);
void resetScenario(Client c);
int resizeMalBlk(MalBlkPtr mb, int elements);
int resolveType(int dsttype, int srctype);
@@ -1385,6 +1390,7 @@ const char *thetajoinRef;
const char *thetaselectRef;
const char *tidRef;
const char *timestampRef;
+const char *totalRef;
void traceFunction(component_t comp, MalBlkPtr mb, MalStkPtr stk, int flg);
void traceInstruction(component_t comp, MalBlkPtr mb, MalStkPtr stk, InstrPtr
p, int flg);
const char *transactionRef;
diff --git a/clients/examples/python/basics.py
b/clients/examples/python/basics.py
--- a/clients/examples/python/basics.py
+++ b/clients/examples/python/basics.py
@@ -21,3 +21,6 @@ c.execute('select * from tables')
results = c.fetchall()
x.commit()
print(results)
+
+c.close()
+x.close()
diff --git a/clients/examples/python/perf.py b/clients/examples/python/perf.py
--- a/clients/examples/python/perf.py
+++ b/clients/examples/python/perf.py
@@ -20,3 +20,5 @@ c = x.cursor()
c.arraysize=10000
c.execute('select * from tables, tables')
results = c.fetchall()
+c.close()
+x.close()
diff --git a/clients/examples/python/sqlsample.py
b/clients/examples/python/sqlsample.py
--- a/clients/examples/python/sqlsample.py
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list