Changeset: 7cc5b13ee585 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7cc5b13ee585
Added Files:
sql/backends/monet5/UDF/capi/Tests/capi14.sql
sql/backends/monet5/UDF/capi/Tests/capi14.stable.err
sql/backends/monet5/UDF/capi/Tests/capi14.stable.out
sql/backends/monet5/UDF/capi/Tests/capi15.sql
sql/backends/monet5/UDF/capi/Tests/capi15.stable.err
sql/backends/monet5/UDF/capi/Tests/capi15.stable.out
sql/backends/monet5/UDF/capi/Tests/capi16.sql
sql/backends/monet5/UDF/capi/Tests/capi16.stable.err
sql/backends/monet5/UDF/capi/Tests/capi16.stable.out
sql/backends/monet5/UDF/capi/Tests/capi17.sql
sql/backends/monet5/UDF/capi/Tests/capi17.stable.err
sql/backends/monet5/UDF/capi/Tests/capi17.stable.out
sql/backends/monet5/UDF/capi/Tests/capi18.sql
sql/backends/monet5/UDF/capi/Tests/capi18.stable.err
sql/backends/monet5/UDF/capi/Tests/capi18.stable.out
sql/test/BugTracker-2018/Tests/concat-str-int.Bug-6583.sql
sql/test/BugTracker-2018/Tests/concat-str-int.Bug-6583.stable.err
sql/test/BugTracker-2018/Tests/concat-str-int.Bug-6583.stable.out
sql/test/BugTracker-2018/Tests/multiple-count.Bug-6599.sql
sql/test/BugTracker-2018/Tests/multiple-count.Bug-6599.stable.err
sql/test/BugTracker-2018/Tests/multiple-count.Bug-6599.stable.out
sql/test/BugTracker-2018/Tests/nested-merge-tables.Bug-6585.sql
sql/test/BugTracker-2018/Tests/nested-merge-tables.Bug-6585.stable.err
sql/test/BugTracker-2018/Tests/nested-merge-tables.Bug-6585.stable.out
sql/test/BugTracker-2018/Tests/procedure-create-table.Bug-6604.sql
sql/test/BugTracker-2018/Tests/remote-table-where-is-null.Bug-6601.SQL.py
sql/test/BugTracker-2018/Tests/remote-table-where-is-null.Bug-6601.stable.err
sql/test/BugTracker-2018/Tests/remote-table-where-is-null.Bug-6601.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-aritmetic-expressions-handling.Bug-6576.stable.out.int128
sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.stable.err
sql/test/BugTracker-2018/Tests/sqlitelogictest-cast-null-not-in.Bug-6605.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-coalesce-division-by-zero.Bug-6556.stable.err
sql/test/BugTracker-2018/Tests/sqlitelogictest-coalesce-division-by-zero.Bug-6556.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-complex-case-not-in.Bug-6594.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-complex-case-not-in.Bug-6594.stable.err
sql/test/BugTracker-2018/Tests/sqlitelogictest-complex-case-not-in.Bug-6594.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-complex-expression.Bug-6589.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-complex-expression.Bug-6589.stable.err
sql/test/BugTracker-2018/Tests/sqlitelogictest-complex-expression.Bug-6589.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-coalesce-error-message.Bug-6608.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-coalesce-error-message.Bug-6608.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-distinct-duplicate.Bug-6603.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-distinct-duplicate.Bug-6603.stable.err
sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-distinct-duplicate.Bug-6603.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-select-errors.Bug-6600.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-select-errors.Bug-6600.stable.err
sql/test/BugTracker-2018/Tests/sqlitelogictest-select-errors.Bug-6600.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-select-not-in-wrong.Bug-6602.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-select-not-in-wrong.Bug-6602.stable.err
sql/test/BugTracker-2018/Tests/sqlitelogictest-select-not-in-wrong.Bug-6602.stable.out
sql/test/BugTracker-2018/Tests/temp-table-performance.Bug-6577.sql
sql/test/BugTracker-2018/Tests/temp-table-performance.Bug-6577.stable.err
sql/test/BugTracker-2018/Tests/temp-table-performance.Bug-6577.stable.out
sql/test/Dump/Tests/clean-again.reqtests
sql/test/Dump/Tests/clean-again.sql.src
sql/test/Dump/Tests/clean-again.stable.err
sql/test/Dump/Tests/clean-again.stable.out
sql/test/Dump/Tests/dump-again.SQL.py
sql/test/Dump/Tests/dump-again.reqtests
sql/test/Dump/Tests/dump-again.stable.err
sql/test/Dump/Tests/dump-again.stable.out
sql/test/Dump/Tests/reload-again.SQL.py
sql/test/Dump/Tests/reload-again.reqtests
sql/test/Dump/Tests/reload-again.stable.err
sql/test/Dump/Tests/reload-again.stable.out
sql/test/Dump/Tests/test-again.reqtests
sql/test/Dump/Tests/test-again.sql.src
sql/test/Dump/Tests/test-again.stable.err.src
sql/test/Dump/Tests/test-again.stable.out.src
sql/test/Tests/copy-from-compressed.csv.bz2
sql/test/Tests/copy-from-compressed.csv.gz
sql/test/Tests/copy-from-compressed.csv.raw
sql/test/Tests/copy-from-compressed.csv.xz
sql/test/Tests/copy-from-compressed.sql.in
sql/test/Tests/copy-from-compressed.stable.err
sql/test/Tests/copy-from-compressed.stable.out
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.reqtests
sql/test/emptydb-upgrade-chain/Tests/upgrade.reqtests
sql/test/emptydb-upgrade-hge/Tests/upgrade.reqtests
sql/test/emptydb-upgrade/Tests/upgrade.reqtests
Removed Files:
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64
Modified Files:
MonetDB.spec
NT/mkgeomwxs.py
buildtools/selinux/monetdb.te
clients/mapiclient/dump.c
clients/mapiclient/mclient.c
clients/mapiclient/msqldump.c
clients/mapiclient/msqldump.h
clients/odbc/driver/Makefile.ag
clients/odbc/driver/SQLColumnPrivileges.c
clients/odbc/driver/SQLExecute.c
clients/odbc/driver/SQLTablePrivileges.c
common/stream/stream.c
configure.ag
debian/fix-deb.sh
gdk/gdk_aggr.c
gdk/gdk_project.c
gdk/gdk_select.c
sql/ChangeLog.Mar2018
sql/backends/monet5/UDF/capi/Tests/All
sql/backends/monet5/UDF/capi/capi.c
sql/backends/monet5/UDF/capi/cheader.h
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_upgrades.c
sql/scripts/21_dependency_functions.sql
sql/scripts/21_dependency_views.sql
sql/server/rel_dump.c
sql/server/rel_exp.c
sql/server/rel_optimizer.c
sql/server/rel_optimizer.h
sql/server/rel_partition.c
sql/server/rel_psm.c
sql/server/rel_schema.c
sql/server/rel_select.c
sql/server/rel_updates.c
sql/server/sql_atom.c
sql/server/sql_mvc.c
sql/server/sql_mvc.h
sql/server/sql_parser.h
sql/server/sql_parser.y
sql/storage/bat/bat_logger.c
sql/test/BugDay_2005-10-06_2.9.3/Tests/UNION_JOIN_vs_plain_set_UNION-2.SF-920585.stable.out
sql/test/BugTracker-2014/Tests/temporary.Bug-3430.stable.err
sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.out
sql/test/BugTracker-2018/Tests/All
sql/test/BugTracker-2018/Tests/sqlitelogictest-coalesce-division-by-zero.Bug-6556.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-not-between-wrong.Bug-6569.sql
sql/test/BugTracker-2018/Tests/sqlitelogictest-not-between-wrong.Bug-6569.stable.out
sql/test/BugTracker-2018/Tests/sqlitelogictest-not-in-wrong-results.Bug-6530.stable.out
sql/test/Dependencies/Tests/Dependencies.stable.out
sql/test/Dependencies/Tests/Dependencies.stable.out.int128
sql/test/Dump/Tests/All
sql/test/Tests/All
sql/test/Tests/coalesce.stable.out
sql/test/Tests/string.stable.out
sql/test/Tests/systemfunctions.stable.out
sql/test/Tests/systemfunctions.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128
sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
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/mergetables/Tests/mergequery.stable.out
sql/test/orderidx/Tests/simpletable.sql
sql/test/orderidx/Tests/simpletable.stable.out
sql/test/orderidx/Tests/simpletable.stable.out.32bit
sql/test/orderidx/Tests/smalltable.sql
sql/test/orderidx/Tests/smalltable.stable.out
sql/test/orderidx/Tests/smalltable.stable.out.32bit
sql/test/pg_regress/Tests/vacuum.sql
sql/test/pg_regress/Tests/vacuum.stable.out
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
testing/Mtest.py.in
Branch: config_rss
Log Message:
Merge with March2018 branch.
diffs (truncated from 11349 to 300 lines):
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -640,7 +640,6 @@ fi
%exclude %{_libdir}/monetdb5/fits.mal
%exclude %{_libdir}/monetdb5/autoload/*_fits.mal
%exclude %{_libdir}/monetdb5/createdb/*_fits.sql
-%exclude %{_libdir}/monetdb5/lib_fits.so
%endif
%if %{?with_geos:1}%{!?with_geos:0}
%exclude %{_libdir}/monetdb5/geom.mal
@@ -674,25 +673,16 @@ fi
%endif
%exclude %{_libdir}/monetdb5/autoload/??_sql*.mal
%{_libdir}/monetdb5/autoload/*.mal
-%if %{?with_geos:1}%{!?with_geos:0}
-%exclude %{_libdir}/monetdb5/lib_geom.so
-%endif
-%if %{?with_lidar:1}%{!?with_lidar:0}
-%exclude %{_libdir}/monetdb5/lib_lidar.so
-%endif
-%if %{?with_pyintegration:1}%{!?with_pyintegration:0}
-%exclude %{_libdir}/monetdb5/lib_pyapi.so
-%endif
-%if %{?with_rintegration:1}%{!?with_rintegration:0}
-%exclude %{_libdir}/monetdb5/lib_rapi.so
-%endif
%if %{?with_samtools:1}%{!?with_samtools:0}
%exclude %{_libdir}/monetdb5/bam.mal
%exclude %{_libdir}/monetdb5/autoload/*_bam.mal
-%exclude %{_libdir}/monetdb5/lib_bam.so
%endif
-%exclude %{_libdir}/monetdb5/lib_sql.so
-%{_libdir}/monetdb5/*.so
+%{_libdir}/monetdb5/lib_capi.so
+%{_libdir}/monetdb5/lib_generator.so
+%{_libdir}/monetdb5/lib_lsst.so
+%{_libdir}/monetdb5/lib_opt_sql_append.so
+%{_libdir}/monetdb5/lib_udf.so
+%{_libdir}/monetdb5/lib_vault.so
%doc %{_mandir}/man1/mserver5.1.gz
%dir %{_datadir}/doc/MonetDB
%docdir %{_datadir}/doc/MonetDB
diff --git a/NT/mkgeomwxs.py b/NT/mkgeomwxs.py
--- a/NT/mkgeomwxs.py
+++ b/NT/mkgeomwxs.py
@@ -51,7 +51,7 @@ def main():
print(r' <Property Id="ARPPRODUCTICON" Value="monetdb.ico"/>')
print(r' <Media Id="1" Cabinet="monetdb.cab" EmbedCab="yes"/>')
print(r' <Condition Message="MonetDB5-SQL needs to be installed
first.">')
- print(r' INSTALLDIR')
+ print(r' Installed OR INSTALLDIR')
print(r' </Condition>')
print(r' <Directory Id="TARGETDIR" Name="SourceDir">')
if vs == '17':
diff --git a/buildtools/selinux/monetdb.te b/buildtools/selinux/monetdb.te
--- a/buildtools/selinux/monetdb.te
+++ b/buildtools/selinux/monetdb.te
@@ -1,7 +1,24 @@
-policy_module(monetdb, 0.2)
+policy_module(monetdb, 0.3)
# The above line declares that this file is a SELinux policy file. Its
# name is monetdb, so the file should be saved as monetdb.te
+# Declare the system types and classes we're using.
+require {
+ type proc_net_t;
+ type tmp_t;
+ type var_t;
+ class dir { read };
+ class fd { use };
+ class fifo_file { getattr read write };
+ class file { entrypoint execute getattr manage_file_perms map open read
};
+ class netlink_selinux_socket create_socket_perms;
+ class process { rlimitinh siginh signal transition };
+ class tcp_socket create_stream_socket_perms;
+ class udp_socket create_stream_socket_perms;
+ class unix_dgram_socket create_socket_perms;
+ class unix_stream_socket { connectto create_stream_socket_perms getopt
read shutdown write };
+}
+
# First, we declare the monetdbd_t domain, used for the "monetdbd"
# process. Because it is launched by systemd, we tell the policy that
# monetdbd_exec_t (the context of monetdbd), when launched by systemd,
@@ -79,6 +96,7 @@ allow monetdbd_t self:udp_socket create_
allow monetdbd_t self:unix_dgram_socket create_socket_perms;
allow monetdbd_t self:unix_stream_socket { create_stream_socket_perms
connectto };
allow monetdbd_t self:netlink_selinux_socket create_socket_perms;
+allow monetdbd_t proc_net_t:file read;
manage_dirs_pattern(monetdbd_t, tmp_t, tmp_t)
manage_sock_files_pattern(monetdbd_t, tmp_t, tmp_t)
manage_sock_files_pattern(monetdbd_t, mserver5_db_t, mserver5_db_t)
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -15,6 +15,16 @@
#include <ctype.h>
#include "msqldump.h"
+static const char *
+get_compat_clause(Mapi mid)
+{
+ static const char *compat_clause = NULL;
+ if (!compat_clause) {
+ compat_clause = get_with_comments_as_clause(mid);
+ }
+ return compat_clause;
+}
+
static void
quoted_print(stream *f, const char *s, bool singleq)
{
@@ -111,15 +121,15 @@ get_schema(Mapi mid)
}
/* return TRUE if the HUGEINT type exists */
-static int
+static bool
has_hugeint(Mapi mid)
{
MapiHdl hdl;
- int ret;
+ bool ret;
static int hashge = -1;
if (hashge >= 0)
- return hashge;
+ return (bool) hashge;
if ((hdl = mapi_query(mid,
"SELECT id "
@@ -135,7 +145,7 @@ has_hugeint(Mapi mid)
if (mapi_error(mid))
goto bailout;
mapi_close_handle(hdl);
- hashge = ret;
+ hashge = (int) ret;
return ret;
bailout:
@@ -246,7 +256,7 @@ dump_foreign_keys(Mapi mid, const char *
"pkt.schema_id = ps.id AND "
"fkt.schema_id = fs.id AND "
"fkt.system = FALSE "
- "ORDER BY fs.name,fkt.name, "
+ "ORDER BY fs.name, fkt.name, "
"fkk.name, nr";
}
hdl = mapi_query(mid, query);
@@ -373,8 +383,8 @@ static int dump_column_definition(
const char *schema,
const char *tname,
const char *tid,
- int foreign,
- int hashge);
+ bool foreign,
+ bool hashge);
static const char *geomsubtypes[] = {
NULL, /* 0 */
@@ -389,7 +399,7 @@ static const char *geomsubtypes[] = {
};
static int
-dump_type(Mapi mid, stream *toConsole, const char *c_type, const char
*c_type_digits, const char *c_type_scale, int hashge)
+dump_type(Mapi mid, stream *toConsole, const char *c_type, const char
*c_type_digits, const char *c_type_scale, bool hashge)
{
int space = 0;
@@ -523,7 +533,7 @@ dump_type(Mapi mid, stream *toConsole, c
}
static int
-dump_column_definition(Mapi mid, stream *toConsole, const char *schema, const
char *tname, const char *tid, int foreign, int hashge)
+dump_column_definition(Mapi mid, stream *toConsole, const char *schema, const
char *tname, const char *tid, bool foreign, bool hashge)
{
MapiHdl hdl = NULL;
char *query;
@@ -772,7 +782,7 @@ describe_table(Mapi mid, const char *sch
int type = 0;
size_t maxquerylen;
char *sname = NULL;
- int hashge;
+ bool hashge;
if (schema == NULL) {
if ((sname = strchr(tname, '.')) != NULL) {
@@ -790,15 +800,17 @@ describe_table(Mapi mid, const char *sch
hashge = has_hugeint(mid);
- maxquerylen = 512 + strlen(tname) + strlen(schema);
+ maxquerylen = 5120 + strlen(tname) + strlen(schema);
query = malloc(maxquerylen);
snprintf(query, maxquerylen,
+ "%s "
"SELECT t.name, t.query, t.type, c.remark "
- "FROM sys.schemas s, sys._tables t LEFT OUTER JOIN
sys.comments c ON t.id = c.id "
+ "FROM sys.schemas s, sys._tables t LEFT OUTER JOIN comments c
ON t.id = c.id "
"WHERE s.name = '%s' AND "
"t.schema_id = s.id AND "
"t.name = '%s'",
+ get_compat_clause(mid),
schema, tname);
if ((hdl = mapi_query(mid, query)) == NULL || mapi_error(mid))
@@ -937,7 +949,14 @@ describe_table(Mapi mid, const char *sch
if (cnt)
mnstr_printf(toConsole, ");\n");
snprintf(query, maxquerylen,
- "SELECT i.name, c.remark FROM sys.idxs i, sys.comments
c WHERE i.id = c.id AND i.table_id = (SELECT id FROM sys._tables WHERE
schema_id = (select id FROM sys.schemas WHERE name = '%s') AND name = '%s')
ORDER BY i.name", schema, tname);
+ "%s "
+ "SELECT i.name, c.remark "
+ "FROM sys.idxs i, comments c "
+ "WHERE i.id = c.id "
+ "AND i.table_id = (SELECT id FROM sys._tables WHERE
schema_id = (select id FROM sys.schemas WHERE name = '%s') AND name = '%s') "
+ "ORDER BY i.name",
+ get_compat_clause(mid),
+ schema, tname);
if ((hdl = mapi_query(mid, query)) == NULL || mapi_error(mid))
goto bailout;
while (mapi_fetch_row(hdl) != 0) {
@@ -950,13 +969,20 @@ describe_table(Mapi mid, const char *sch
}
snprintf(query, maxquerylen,
- "SELECT col.name, com.remark FROM sys._columns col,
sys.comments com WHERE col.id = com.id AND col.table_id = (SELECT id FROM
sys._tables WHERE schema_id = (SELECT id FROM sys.schemas WHERE name = '%s')
AND name = '%s') ORDER BY number", schema, tname);
+ "%s "
+ "SELECT col.name, com.remark "
+ "FROM sys._columns col, comments com "
+ "WHERE col.id = com.id "
+ "AND col.table_id = (SELECT id FROM sys._tables WHERE
schema_id = (SELECT id FROM sys.schemas WHERE name = '%s') AND name = '%s') "
+ "ORDER BY number",
+ get_compat_clause(mid),
+ schema, tname);
if ((hdl = mapi_query(mid, query)) == NULL || mapi_error(mid))
goto bailout;
while (mapi_fetch_row(hdl) != 0) {
comment_on(toConsole, "COLUMN", schema, tname,
- mapi_fetch_field(hdl, 0),
- mapi_fetch_field(hdl, 1));
+ mapi_fetch_field(hdl, 0),
+ mapi_fetch_field(hdl, 1));
}
mapi_close_handle(hdl);
hdl = NULL;
@@ -1015,24 +1041,26 @@ describe_sequence(Mapi mid, const char *
schema = sname;
}
- maxquerylen = 512 + strlen(tname) + strlen(schema);
+ maxquerylen = 5120 + strlen(tname) + strlen(schema);
query = malloc(maxquerylen);
snprintf(query, maxquerylen,
+ "%s "
"SELECT s.name, "
- "seq.name, "
- "get_value_for(s.name,seq.name), "
- "seq.\"minvalue\", "
- "seq.\"maxvalue\", "
- "seq.\"increment\", "
- "seq.\"cycle\", "
- "rem.\"remark\" "
- "FROM sys.sequences seq LEFT OUTER JOIN sys.comments rem ON
seq.id = rem.id, "
+ "seq.name, "
+ "get_value_for(s.name, seq.name), "
+ "seq.\"minvalue\", "
+ "seq.\"maxvalue\", "
+ "seq.\"increment\", "
+ "seq.\"cycle\", "
+ "rem.\"remark\" "
+ "FROM sys.sequences seq LEFT OUTER JOIN comments rem ON seq.id
= rem.id, "
"sys.schemas s "
"WHERE s.id = seq.schema_id AND "
"s.name = '%s' AND "
"seq.name = '%s' "
- "ORDER BY s.name,seq.name",
+ "ORDER BY s.name, seq.name",
+ get_compat_clause(mid),
schema, tname);
if ((hdl = mapi_query(mid, query)) == NULL || mapi_error(mid))
@@ -1095,15 +1123,17 @@ int
describe_schema(Mapi mid, const char *sname, stream *toConsole)
{
MapiHdl hdl = NULL;
- char schemas[256];
+ char schemas[5120];
- snprintf(schemas, 256,
+ snprintf(schemas, sizeof(schemas),
+ "%s "
"SELECT s.name, a.name, c.remark "
"FROM sys.auths a, "
- "sys.schemas s LEFT OUTER JOIN sys.comments c ON s.id =
c.id "
+ "sys.schemas s LEFT OUTER JOIN comments c ON s.id = c.id "
"WHERE s.\"authorization\" = a.id AND "
"s.name = '%s' "
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list