MonetDB: default - removed code from debugging

2018-10-09 Thread Niels Nes
Changeset: 9511d85b40a4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9511d85b40a4
Modified Files:
gdk/gdk_logger.c
Branch: default
Log Message:

removed code from debugging


diffs (20 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -339,7 +339,7 @@ static gdk_return
 log_write_id(logger *l, char tpe, oid id)
 {
lng lid = id;
-   assert(lid >= 0 && lid <= 100);
+   assert(lid >= 0);
if (mnstr_writeChr(l->log, tpe) &&
mnstr_writeLng(l->log, lid))
return GDK_SUCCEED;
@@ -1785,7 +1785,6 @@ logger_load(int debug, const char *fn, c
goto error;
}
 
-   /* TODO add upgrade code !! */
snprintf(bak, sizeof(bak), "%s_catalog_tpe", fn);
catalog_tpe = BBPindex(bak);
t = BATdescriptor(catalog_tpe);
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: rename-sql - Introduced TR_RENAMED flag for sql_base. T...

2018-10-09 Thread Pedro Ferreira
Changeset: 3612d4314622 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3612d4314622
Modified Files:
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_cat.c
sql/common/sql_changeset.c
sql/common/sql_types.c
sql/include/sql_catalog.h
sql/server/sql_partition.c
sql/storage/bat/bat_storage.c
sql/storage/sql_storage.h
sql/storage/store.c
sql/storage/store_sequence.c
sql/test/rename/Tests/rename02.sql
Branch: rename-sql
Log Message:

Introduced TR_RENAMED flag for sql_base. This flag allows to identify if a sql 
object was renamed during a transaction.

The "flag" field of sql_base (now "flags") is now a bit mask listening changes 
occurred during a transaction.


diffs (truncated from 1363 to 300 lines):

diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -864,7 +864,7 @@ stmt_col( backend *be, sql_column *c, st
stmt *sc = stmt_bat(be, c, RDONLY, del?del->partition:0);
 
if (isTable(c->t) && c->t->access != TABLE_READONLY &&
-  (c->base.flag != TR_NEW || c->t->base.flag != TR_NEW /* alter */) &&
+  (!isNew(c) || !isNew(c->t) /* alter */) &&
   (c->t->persistence == SQL_PERSIST || c->t->persistence == 
SQL_DECLARED_TABLE) && !c->t->commit_action) {
stmt *i = stmt_bat(be, c, RD_INS, 0);
stmt *u = stmt_bat(be, c, RD_UPD_ID, del?del->partition:0);
@@ -882,7 +882,7 @@ stmt_idx( backend *be, sql_idx *i, stmt 
stmt *sc = stmt_idxbat(be, i, RDONLY, del?del->partition:0);
 
if (isTable(i->t) && i->t->access != TABLE_READONLY &&
-  (i->base.flag != TR_NEW || i->t->base.flag != TR_NEW /* alter */) &&
+  (!isNew(i) || !isNew(i->t) /* alter */) &&
   (i->t->persistence == SQL_PERSIST || i->t->persistence == 
SQL_DECLARED_TABLE) && !i->t->commit_action) {
stmt *ic = stmt_idxbat(be, i, RD_INS, 0);
stmt *u = stmt_idxbat(be, i, RD_UPD_ID, del?del->partition:0);
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -1922,7 +1922,7 @@ SQLtid(Client cntxt, MalBlkPtr mb, MalSt
 
nr = store_funcs.count_col(tr, c, 1);
 
-   if (isTable(t) && t->access == TABLE_WRITABLE && (t->base.flag != 
TR_NEW /* alter */ ) &&
+   if (isTable(t) && t->access == TABLE_WRITABLE && (!isNew(t) /* alter */ 
) &&
t->persistence == SQL_PERSIST && !t->commit_action)
inr = store_funcs.count_col(tr, c, 0);
nr -= inr;
diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c
--- a/sql/backends/monet5/sql_cat.c
+++ b/sql/backends/monet5/sql_cat.c
@@ -65,7 +65,7 @@ table_has_updates(sql_trans *tr, sql_tab
if ( b == 0)
return -1;
cnt |= BATcount(b) > 0;
-   if (isTable(t) && t->access != TABLE_READONLY && (t->base.flag 
!= TR_NEW /* alter */ ) &&
+   if (isTable(t) && t->access != TABLE_READONLY && (!isNew(t) /* 
alter */ ) &&
t->persistence == SQL_PERSIST && !t->commit_action)
cnt |= store_funcs.count_col(tr, c, 0) > 0;
BBPunfix(b->batCacheid);
@@ -1601,7 +1601,7 @@ SQLrename_table(Client cntxt, MalBlkPtr 
if (!(t = mvc_bind_table(sql, s, old_name)))
throw(SQL, "sql.rename_table", SQLSTATE(42S02) "ALTER TABLE: no 
such table '%s' in schema '%s'", old_name, schema_name);
if (t->system)
-   throw(SQL, "sql.rename_table", SQLSTATE(42000) "ALTER TABLE: 
cannot rename system table '%s'", old_name);
+   throw(SQL, "sql.rename_table", SQLSTATE(42000) "ALTER TABLE: 
cannot rename a system table");
if (!new_name || strcmp(new_name, str_nil) == 0)
throw(SQL, "sql.rename_table", SQLSTATE(3F000) "ALTER TABLE: 
invalid new table name");
if (mvc_bind_table(sql, s, new_name))
@@ -1632,7 +1632,7 @@ SQLrename_column(Client cntxt, MalBlkPtr
if (!(t = mvc_bind_table(sql, s, table_name)))
throw(SQL, "sql.rename_column", SQLSTATE(42S02) "ALTER TABLE: 
no such table '%s' in schema '%s'", table_name, schema_name);
if (t->system)
-   throw(SQL, "sql.rename_column", SQLSTATE(42000) "ALTER TABLE: 
cannot rename system table '%s'", t->base.name);
+   throw(SQL, "sql.rename_column", SQLSTATE(42000) "ALTER TABLE: 
cannot rename a column in a system table");
if (isView(t))
throw(SQL, "sql.rename_column", SQLSTATE(42000) "ALTER TABLE: 
cannot rename column '%s': '%s' is a view", old_name, t->base.name);
if (!mvc_bind_column(sql, t, old_name))
diff --git a/sql/common/sql_changeset.c b/sql/common/sql_changeset.c
--- a/sql/common/sql_changeset.c
+++ 

MonetDB: Aug2018 - The guidelines suggest that we use a hardened...

2018-10-09 Thread Sjoerd Mullender
Changeset: 2fbe382ed18a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2fbe382ed18a
Modified Files:
MonetDB.spec
Branch: Aug2018
Log Message:

The guidelines suggest that we use a hardened build.
I'm not sure this does anything to our builds...


diffs (14 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -14,6 +14,10 @@
 
 %global release %{buildno}%{?dist}
 
+# This package contains monetdbd which is a (long running) daemon, so
+# we need to harden:
+%global _hardened_build 1
+
 # On RedHat Enterprise Linux and derivatives, if the Extra Packages
 # for Enterprise Linux (EPEL) repository is available, you can enable
 # its use by providing rpmbuild or mock with the "--with epel" option.
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Aug2018 - Follow packaging guidelines for tmpfiles.d co...

2018-10-09 Thread Sjoerd Mullender
Changeset: ae4bafbf9728 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ae4bafbf9728
Modified Files:
MonetDB.spec
Branch: Aug2018
Log Message:

Follow packaging guidelines for tmpfiles.d configuration.


diffs (80 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -698,10 +698,6 @@ used from the MAL level.
 Summary: MonetDB5 SQL server modules
 Group: Applications/Databases
 Requires(pre): MonetDB5-server%{?_isa} = %{version}-%{release}
-%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7
-# RHEL >= 7, and all current Fedora
-Requires(post): %{_bindir}/systemd-tmpfiles
-%endif
 %if (0%{?fedora} >= 22)
 %if %{with hugeint}
 Recommends: %{name}-SQL-server5-hugeint%{?_isa} = %{version}-%{release}
@@ -718,11 +714,6 @@ accelerators.  It also has an SQL fronte
 This package contains the SQL frontend for MonetDB.  If you want to
 use SQL with MonetDB, you will need to install this package.
 
-%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7
-%post SQL-server5
-systemd-tmpfiles --create %{_sysconfdir}/tmpfiles.d/monetdbd.conf
-%endif
-
 %files SQL-server5
 %defattr(-,root,root)
 %{_bindir}/monetdb
@@ -730,12 +721,13 @@ systemd-tmpfiles --create %{_sysconfdir}
 %dir %attr(775,monetdb,monetdb) %{_localstatedir}/log/monetdb
 %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7
 # RHEL >= 7, and all current Fedora
-%{_sysconfdir}/tmpfiles.d/monetdbd.conf
+%dir %attr(775,monetdb,monetdb) /run/monetdb
+%{_tmpfilesdir}/monetdbd.conf
 %{_unitdir}/monetdbd.service
 %else
 # RedHat Enterprise Linux < 7
 %dir %attr(775,monetdb,monetdb) %{_localstatedir}/run/monetdb
-%exclude %{_sysconfdir}/tmpfiles.d/monetdbd.conf
+%exclude %{_tmpfilesdir}/monetdbd.conf
 # no _unitdir macro
 %exclude %{_prefix}/lib/systemd/system/monetdbd.service
 %endif
@@ -867,7 +859,7 @@ do
   /usr/sbin/semodule -s ${selinuxvariant} -i \
 %{_datadir}/selinux/${selinuxvariant}/monetdb.pp &> /dev/null || :
 done
-/sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb 
%{_localstatedir}/run/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 
%{_unitdir}/monetdbd.service &> /dev/null || :
+/sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb 
/run/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 
%{_unitdir}/monetdbd.service &> /dev/null || :
 /usr/bin/systemctl try-restart monetdbd.service
 
 %postun selinux
@@ -880,7 +872,7 @@ if [ $1 -eq 0 ] ; then
   do
 /usr/sbin/semodule -s ${selinuxvariant} -r monetdb &> /dev/null || :
   done
-  /sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb 
%{_localstatedir}/run/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 
%{_unitdir}/monetdbd.service &> /dev/null || :
+  /sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb 
/run/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 
%{_unitdir}/monetdbd.service &> /dev/null || :
   if [ $active = active ]; then
 /usr/bin/systemctl start monetdbd.service
   fi
@@ -976,10 +968,15 @@ cd -
 %install
 %make_install
 
-mkdir -p %{buildroot}%{_localstatedir}/MonetDB
-mkdir -p %{buildroot}%{_localstatedir}/monetdb5/dbfarm
-mkdir -p %{buildroot}%{_localstatedir}/log/monetdb
-mkdir -p %{buildroot}%{_localstatedir}/run/monetdb
+# move file to correct location
+mkdir -p %{buildroot}%{_tmpfilesdir}
+mv %{buildroot}%{_sysconfdir}/tmpfiles.d/monetdbd.conf 
%{buildroot}%{_tmpfilesdir}
+rmdir %{buildroot}%{_sysconfdir}/tmpfiles.d
+
+install -d -m 0750 %{buildroot}%{_localstatedir}/MonetDB
+install -d -m 0770 %{buildroot}%{_localstatedir}/monetdb5/dbfarm
+install -d -m 0775 %{buildroot}%{_localstatedir}/log/monetdb
+install -d -m 0775 %{buildroot}/run/monetdb
 
 # remove unwanted stuff
 # .la files
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: client-filetrans - Merge with default branch.

2018-10-09 Thread Sjoerd Mullender
Changeset: 767ceefa16c7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=767ceefa16c7
Added Files:
gdk/xoshiro256starstar.h
sql/test/BugTracker-2018/Tests/convert-key.Bug-6648.sql
sql/test/BugTracker-2018/Tests/convert-key.Bug-6648.stable.err
sql/test/BugTracker-2018/Tests/convert-key.Bug-6648.stable.out
sql/test/BugTracker-2018/Tests/update-transaction-select.Bug-6649.sql

sql/test/BugTracker-2018/Tests/update-transaction-select.Bug-6649.stable.err

sql/test/BugTracker-2018/Tests/update-transaction-select.Bug-6649.stable.out
sql/test/sample/Tests/All
sql/test/sample/Tests/sample.1.sql
sql/test/sample/Tests/sample.1.stable.err
sql/test/sample/Tests/sample.1.stable.out
sql/test/sample/Tests/sample.10.sql
sql/test/sample/Tests/sample.10.stable.err
sql/test/sample/Tests/sample.10.stable.out
sql/test/sample/Tests/sample.11.sql
sql/test/sample/Tests/sample.11.stable.err
sql/test/sample/Tests/sample.11.stable.out
sql/test/sample/Tests/sample.12.sql
sql/test/sample/Tests/sample.12.stable.err
sql/test/sample/Tests/sample.12.stable.out
sql/test/sample/Tests/sample.13.sql
sql/test/sample/Tests/sample.13.stable.err
sql/test/sample/Tests/sample.13.stable.out
sql/test/sample/Tests/sample.14.sql
sql/test/sample/Tests/sample.14.stable.err
sql/test/sample/Tests/sample.14.stable.out
sql/test/sample/Tests/sample.15.sql
sql/test/sample/Tests/sample.15.stable.err
sql/test/sample/Tests/sample.15.stable.out
sql/test/sample/Tests/sample.2.sql
sql/test/sample/Tests/sample.2.stable.err
sql/test/sample/Tests/sample.2.stable.out
sql/test/sample/Tests/sample.3.sql
sql/test/sample/Tests/sample.3.stable.err
sql/test/sample/Tests/sample.3.stable.out
sql/test/sample/Tests/sample.4.sql
sql/test/sample/Tests/sample.4.stable.err
sql/test/sample/Tests/sample.4.stable.out
sql/test/sample/Tests/sample.5.sql
sql/test/sample/Tests/sample.5.stable.err
sql/test/sample/Tests/sample.5.stable.out
sql/test/sample/Tests/sample.6.sql
sql/test/sample/Tests/sample.6.stable.err
sql/test/sample/Tests/sample.6.stable.out
sql/test/sample/Tests/sample.7.sql
sql/test/sample/Tests/sample.7.stable.err
sql/test/sample/Tests/sample.7.stable.out
sql/test/sample/Tests/sample.8.sql
sql/test/sample/Tests/sample.8.stable.err
sql/test/sample/Tests/sample.8.stable.out
sql/test/sample/Tests/sample.9.sql
sql/test/sample/Tests/sample.9.stable.err
sql/test/sample/Tests/sample.9.stable.out
Modified Files:
.hgtags
MonetDB.spec
NT/monetdb_config.h.in
NT/rules.msc
buildtools/ChangeLog-Archive
buildtools/ChangeLog.Aug2018
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
clients/mapiclient/ReadlineTools.c
clients/mapilib/mapi.rc
clients/odbc/driver/driver.rc
clients/odbc/winsetup/setup.rc
configure.ag
debian/changelog
debian/fix-deb.sh
gdk/Makefile.ag
gdk/gdk.h
gdk/gdk_calc.c
gdk/gdk_logger.c
gdk/gdk_logger.h
gdk/gdk_sample.c
gdk/libbat.rc
geom/monetdb5/geom_upgrade.c
libversions
monetdb5/modules/mal/sample.c
monetdb5/modules/mal/sample.h
monetdb5/modules/mal/sample.mal
monetdb5/tools/libmonetdb5.rc
sql/ChangeLog
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_statement.h
sql/include/sql_catalog.h
sql/server/rel_select.c
sql/server/sql_parser.h
sql/server/sql_parser.y
sql/server/sql_scan.c
sql/storage/bat/bat_logger.c
sql/storage/bat/bat_storage.c
sql/storage/sql_storage.h
sql/storage/store.c
sql/test/BugTracker-2018/Tests/All
sql/test/BugTracker/Tests/drop_sequence_crash.SF-1505973.sql
sql/test/BugTracker/Tests/drop_sequence_crash_2.SF-1505973.sql
sql/test/group-concat/Tests/groupconcat01.sql
sql/test/group-concat/Tests/groupconcat01.stable.out
sql/test/group-concat/Tests/groupconcat05.sql
sql/test/group-concat/Tests/groupconcat05.stable.out
tools/mserver/monet_version.c.in
tools/mserver/mserver5.c
vertoo.data
Branch: client-filetrans
Log Message:

Merge with default branch.


diffs (truncated from 6231 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -712,3 +712,5 @@ 3aaf6c916bd870cc478d3973241bc24cafbe1655
 a242d6de1de3dc99a9583d96a61c53044108e576 Aug2018_7
 

MonetDB: sample-with-seed - Closing branch: it was merged into d...

2018-10-09 Thread Sjoerd Mullender
Changeset: f5644ce89db1 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f5644ce89db1
Branch: sample-with-seed
Log Message:

Closing branch: it was merged into default.

___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: default - Backed out changeset d8a78a03447c: needs more...

2018-10-09 Thread Sjoerd Mullender
Changeset: 56996d5fd721 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=56996d5fd721
Modified Files:
gdk/gdk_logger.c
gdk/gdk_logger.h
Branch: default
Log Message:

Backed out changeset d8a78a03447c: needs more changes to make it work.


diffs (202 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -119,7 +119,7 @@ static char *log_commands[] = {
 };
 
 typedef struct logformat_t {
-   bte flag;
+   char flag;
int tid;
lng nr;
 } logformat;
@@ -250,7 +250,7 @@ log_write_string(logger *l, const char *
 }
 
 static log_return
-log_read_clear(logger *lg, trans *tr, char *name, bte tpe, oid id)
+log_read_clear(logger *lg, trans *tr, char *name, char tpe, oid id)
 {
if (lg->debug & 1)
fprintf(stderr, "#logger found log_read_clear %s\n", NAME(name, 
tpe, id));
@@ -336,7 +336,7 @@ log_read_seq(logger *lg, logformat *l)
 }
 
 static gdk_return
-log_write_id(logger *l, bte tpe, oid id)
+log_write_id(logger *l, char tpe, oid id)
 {
lng lid = id;
assert(lid >= 0 && lid <= 100);
@@ -348,7 +348,7 @@ log_write_id(logger *l, bte tpe, oid id)
 }
 
 static int
-log_read_id(logger *lg, bte *tpe, oid *id)
+log_read_id(logger *lg, char *tpe, oid *id)
 {
lng lid;
 
@@ -401,7 +401,7 @@ mbrRead(void *dst, stream *s, size_t cnt
 #endif
 
 static log_return
-log_read_updates(logger *lg, trans *tr, logformat *l, char *name, bte tpe, oid 
id)
+log_read_updates(logger *lg, trans *tr, logformat *l, char *name, int tpe, oid 
id)
 {
log_bid bid = logger_find_bat(lg, name, tpe, id);
BAT *b = BATdescriptor(bid);
@@ -620,7 +620,7 @@ la_bat_updates(logger *lg, logaction *la
 }
 
 static log_return
-log_read_destroy(logger *lg, trans *tr, char *name, bte tpe, oid id)
+log_read_destroy(logger *lg, trans *tr, char *name, char tpe, oid id)
 {
(void) lg;
if (tr_grow(tr) == GDK_SUCCEED) {
@@ -664,7 +664,7 @@ la_bat_destroy(logger *lg, logaction *la
 }
 
 static log_return
-log_read_create(logger *lg, trans *tr, char *name, bte tpe, oid id)
+log_read_create(logger *lg, trans *tr, char *name, char tpe, oid id)
 {
char *buf = log_read_string(lg);
int ht, tt;
@@ -733,7 +733,7 @@ la_bat_create(logger *lg, logaction *la)
 }
 
 static log_return
-log_read_use(logger *lg, trans *tr, logformat *l, char *name, bte tpe, oid id)
+log_read_use(logger *lg, trans *tr, logformat *l, char *name, char tpe, oid id)
 {
(void) lg;
if (tr_grow(tr) != GDK_SUCCEED)
@@ -1093,7 +1093,7 @@ logger_readlog(logger *lg, char *filenam
}
while (err == LOG_OK && log_read_format(lg, )) {
char *name = NULL;
-   bte tpe;
+   char tpe;
oid id; 
 
t1 = time(NULL);
@@ -1122,7 +1122,7 @@ logger_readlog(logger *lg, char *filenam
if (lg->debug & 1) {
fprintf(stderr, "#logger_readlog: ");
if (l.flag > 0 &&
-   (size_t) l.flag < sizeof(log_commands) / 
sizeof(log_commands[0]))
+   l.flag < (char) (sizeof(log_commands) / 
sizeof(log_commands[0])))
fprintf(stderr, "%s", log_commands[(int) 
l.flag]);
else
fprintf(stderr, "%d", l.flag);
@@ -1801,7 +1801,7 @@ logger_load(int debug, const char *fn, c
goto error;
}
for(i=0;ibatPersistence == PERSISTENT) ? LOG_USE : LOG_CREATE;
+   int flag = (b->batPersistence == PERSISTENT) ? LOG_USE : LOG_CREATE;
BUN p;
 
l.nr = 0;
@@ -2758,7 +2758,7 @@ log_bat_persists(logger *lg, BAT *b, con
 }
 
 gdk_return
-log_bat_transient(logger *lg, const char *name, bte tpe, oid id)
+log_bat_transient(logger *lg, const char *name, char tpe, oid id)
 {
log_bid bid = logger_find_bat(lg, name, tpe, id);
logformat l;
@@ -2809,7 +2809,7 @@ log_bat_transient(logger *lg, const char
 }
 
 gdk_return
-log_delta(logger *lg, BAT *uid, BAT *uval, const char *name, bte tpe, oid id)
+log_delta(logger *lg, BAT *uid, BAT *uval, const char *name, char tpe, oid id)
 {
gdk_return ok = GDK_SUCCEED;
logformat l;
@@ -2854,7 +2854,7 @@ log_delta(logger *lg, BAT *uid, BAT *uva
 }
 
 gdk_return
-log_bat(logger *lg, BAT *b, const char *name, bte tpe, oid id)
+log_bat(logger *lg, BAT *b, const char *name, char tpe, oid id)
 {
gdk_return ok = GDK_SUCCEED;
logformat l;
@@ -2902,7 +2902,7 @@ log_bat(logger *lg, BAT *b, const char *
 }
 
 gdk_return
-log_bat_clear(logger *lg, const char *name, bte tpe, oid id)
+log_bat_clear(logger *lg, const char *name, char tpe, oid id)
 {
logformat l;
 
@@ -3181,7 +3181,7 @@ bm_commit(logger *lg)
 }
 
 gdk_return
-logger_add_bat(logger *lg, BAT *b, const char *name, bte tpe, oid id)

MonetDB: default - Use English instead of Deutsch.

2018-10-09 Thread Aris Koning
Changeset: beabcb884e89 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=beabcb884e89
Modified Files:
sql/ChangeLog
Branch: default
Log Message:

Use English instead of Deutsch.


diffs (12 lines):

diff --git a/sql/ChangeLog b/sql/ChangeLog
--- a/sql/ChangeLog
+++ b/sql/ChangeLog
@@ -1,7 +1,7 @@
 # ChangeLog file for sql
 # This file is updated with Maddlog
 
-* Die Okt  9 2018 Aris Koning 
+* Tue Okt  9 2018 Aris Koning 
 - The sql SAMPLE syntax is extended to include an optional integral SEED
   parameter that sets the seed for the internal random number generator
   in the sample algorithm.  When the seed is set, the user can obtain
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: default - Merge with sample-with-seed.

2018-10-09 Thread Aris Koning
Changeset: b9061c9b1356 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b9061c9b1356
Added Files:
gdk/xoshiro256starstar.h
sql/test/sample/Tests/All
sql/test/sample/Tests/sample.1.sql
sql/test/sample/Tests/sample.1.stable.err
sql/test/sample/Tests/sample.1.stable.out
sql/test/sample/Tests/sample.10.sql
sql/test/sample/Tests/sample.10.stable.err
sql/test/sample/Tests/sample.10.stable.out
sql/test/sample/Tests/sample.11.sql
sql/test/sample/Tests/sample.11.stable.err
sql/test/sample/Tests/sample.11.stable.out
sql/test/sample/Tests/sample.12.sql
sql/test/sample/Tests/sample.12.stable.err
sql/test/sample/Tests/sample.12.stable.out
sql/test/sample/Tests/sample.13.sql
sql/test/sample/Tests/sample.13.stable.err
sql/test/sample/Tests/sample.13.stable.out
sql/test/sample/Tests/sample.14.sql
sql/test/sample/Tests/sample.14.stable.err
sql/test/sample/Tests/sample.14.stable.out
sql/test/sample/Tests/sample.15.sql
sql/test/sample/Tests/sample.15.stable.err
sql/test/sample/Tests/sample.15.stable.out
sql/test/sample/Tests/sample.2.sql
sql/test/sample/Tests/sample.2.stable.err
sql/test/sample/Tests/sample.2.stable.out
sql/test/sample/Tests/sample.3.sql
sql/test/sample/Tests/sample.3.stable.err
sql/test/sample/Tests/sample.3.stable.out
sql/test/sample/Tests/sample.4.sql
sql/test/sample/Tests/sample.4.stable.err
sql/test/sample/Tests/sample.4.stable.out
sql/test/sample/Tests/sample.5.sql
sql/test/sample/Tests/sample.5.stable.err
sql/test/sample/Tests/sample.5.stable.out
sql/test/sample/Tests/sample.6.sql
sql/test/sample/Tests/sample.6.stable.err
sql/test/sample/Tests/sample.6.stable.out
sql/test/sample/Tests/sample.7.sql
sql/test/sample/Tests/sample.7.stable.err
sql/test/sample/Tests/sample.7.stable.out
sql/test/sample/Tests/sample.8.sql
sql/test/sample/Tests/sample.8.stable.err
sql/test/sample/Tests/sample.8.stable.out
sql/test/sample/Tests/sample.9.sql
sql/test/sample/Tests/sample.9.stable.err
sql/test/sample/Tests/sample.9.stable.out
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
gdk/Makefile.ag
gdk/gdk.h
gdk/gdk_sample.c
monetdb5/modules/mal/sample.c
monetdb5/modules/mal/sample.h
monetdb5/modules/mal/sample.mal
sql/ChangeLog
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_statement.h
sql/server/rel_select.c
sql/server/sql_parser.h
sql/server/sql_parser.y
sql/server/sql_scan.c
sql/test/BugTracker/Tests/drop_sequence_crash.SF-1505973.sql
sql/test/BugTracker/Tests/drop_sequence_crash_2.SF-1505973.sql
Branch: default
Log Message:

Merge with sample-with-seed.


diffs (truncated from 2178 to 300 lines):

diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -10897,8 +10897,10 @@ Ready.
 [ "sabaoth",   "marchScenario","command 
sabaoth.marchScenario(lang:str):void ","SABmarchScenario;",
"Publishes the given language as available for this server" ]
 [ "sabaoth",   "prelude",  "command sabaoth.prelude():void ",  
"SABprelude;",  "Initialise the sabaoth module" ]
 [ "sabaoth",   "retreatScenario",  "command 
sabaoth.retreatScenario(lang:str):void ",  "SABretreatScenario;",  
"Unpublishes the given language as available for this server"   ]
-[ "sample","subuniform",   "command sample.subuniform(b:bat[:any], 
s:lng):bat[:oid] ", "SAMPLEuniform;",   "Returns the oids of a uniform 
sample of size s"]
-[ "sample","subuniform",   "command sample.subuniform(b:bat[:any], 
p:dbl):bat[:oid] ", "SAMPLEuniform_dbl;",   "Returns the oids of a uniform 
sample of size = (p x count(b)), where 0 <= p <= 1.0"]
+[ "sample","subuniform",   "pattern sample.subuniform(b:bat[:any], 
p:dbl):bat[:oid] ", "SAMPLEuniform;",   "Returns the oids of a uniform 
sample of size = (p x count(b)), where 0 <= p <= 1.0"]
+[ "sample","subuniform",   "pattern sample.subuniform(b:bat[:any], p:dbl, 
sample_seed:int):bat[:oid] ","SAMPLEuniform;",   "Returns the oids of a 
uniform sample of size = (p x count(b)), where 0 <= p <= 1.0 and where the prg 
is seeded with sample_seed"   ]
+[ "sample","subuniform",   "pattern sample.subuniform(b:bat[:any], 
sample_size:lng):bat[:oid] ",   "SAMPLEuniform;",   "Returns the oids of a 
uniform sample of size s"

MonetDB: sample-with-seed - Merge with default.

2018-10-09 Thread Aris Koning
Changeset: 75b778d41e45 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=75b778d41e45
Added Files:
sql/test/BugTracker-2018/Tests/update-transaction-select.Bug-6649.sql

sql/test/BugTracker-2018/Tests/update-transaction-select.Bug-6649.stable.err

sql/test/BugTracker-2018/Tests/update-transaction-select.Bug-6649.stable.out
Modified Files:
clients/mapiclient/ReadlineTools.c
gdk/gdk_logger.c
gdk/gdk_logger.h
sql/backends/monet5/sql.c
sql/test/BugTracker-2018/Tests/All
Branch: sample-with-seed
Log Message:

Merge with default.


diffs (truncated from 657 to 300 lines):

diff --git a/clients/mapiclient/ReadlineTools.c 
b/clients/mapiclient/ReadlineTools.c
--- a/clients/mapiclient/ReadlineTools.c
+++ b/clients/mapiclient/ReadlineTools.c
@@ -136,7 +136,7 @@ sql_completion(const char *text, int sta
 
 /* The MAL completion help */
 
-static char *mal_commands[] = {
+static const char *mal_commands[] = {
"address",
"atom",
"barrier",
@@ -209,7 +209,8 @@ mal_command_generator(const char *text, 
static int64_t seekpos, rowcount;
static size_t len;
static MapiHdl table_hdl;
-   char *name, *buf;
+   const char *name;
+   char *buf;
 
/* we pick our own portion of the linebuffer */
text = rl_line_buffer + strlen(rl_line_buffer) - 1;
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -119,7 +119,7 @@ static char *log_commands[] = {
 };
 
 typedef struct logformat_t {
-   char flag;
+   bte flag;
int tid;
lng nr;
 } logformat;
@@ -250,7 +250,7 @@ log_write_string(logger *l, const char *
 }
 
 static log_return
-log_read_clear(logger *lg, trans *tr, char *name, char tpe, oid id)
+log_read_clear(logger *lg, trans *tr, char *name, bte tpe, oid id)
 {
if (lg->debug & 1)
fprintf(stderr, "#logger found log_read_clear %s\n", NAME(name, 
tpe, id));
@@ -336,20 +336,19 @@ log_read_seq(logger *lg, logformat *l)
 }
 
 static gdk_return
-log_write_id(logger *l, char tpe, oid id)
+log_write_id(logger *l, bte tpe, oid id)
 {
lng lid = id;
-   if (lid < 0 || lid > 100)
-   assert(0);
+   assert(lid >= 0 && lid <= 100);
if (mnstr_writeChr(l->log, tpe) &&
-   mnstr_writeLng(l->log, id))
+   mnstr_writeLng(l->log, lid))
return GDK_SUCCEED;
fprintf(stderr, "!ERROR: log_write_id: write failed\n");
return GDK_FAIL;
 }
 
 static int
-log_read_id(logger *lg, char *tpe, oid *id)
+log_read_id(logger *lg, bte *tpe, oid *id)
 {
lng lid;
 
@@ -402,7 +401,7 @@ mbrRead(void *dst, stream *s, size_t cnt
 #endif
 
 static log_return
-log_read_updates(logger *lg, trans *tr, logformat *l, char *name, int tpe, oid 
id)
+log_read_updates(logger *lg, trans *tr, logformat *l, char *name, bte tpe, oid 
id)
 {
log_bid bid = logger_find_bat(lg, name, tpe, id);
BAT *b = BATdescriptor(bid);
@@ -422,8 +421,9 @@ log_read_updates(logger *lg, trans *tr, 
 
for (i = 0; i < tr->nr; i++) {
if (tr->changes[i].type == LOG_CREATE &&
-  ((!tpe && strcmp(tr->changes[i].name, name) == 0)  ||
-  (tpe && tr->changes[i].tpe == tpe && 
tr->changes[i].cid == id))) {
+   (tpe == 0
+? strcmp(tr->changes[i].name, name) == 0
+: tr->changes[i].tpe == tpe && tr->changes[i].cid 
== id)) {
ht = tr->changes[i].ht;
if (ht < 0) {
ht = TYPE_void;
@@ -620,7 +620,7 @@ la_bat_updates(logger *lg, logaction *la
 }
 
 static log_return
-log_read_destroy(logger *lg, trans *tr, char *name, char tpe, oid id)
+log_read_destroy(logger *lg, trans *tr, char *name, bte tpe, oid id)
 {
(void) lg;
if (tr_grow(tr) == GDK_SUCCEED) {
@@ -646,6 +646,7 @@ la_bat_destroy(logger *lg, logaction *la
return GDK_FAIL;
 
if ((p = log_find(lg->snapshots_bid, lg->dsnapshots, bid)) != 
BUN_NONE) {
+   oid pos = (oid) p;
 #ifndef NDEBUG
assert(BBP_desc(bid)->batRole == PERSISTENT);
assert(0 <= BBP_desc(bid)->theap.farmid && 
BBP_desc(bid)->theap.farmid < MAXFARMS);
@@ -655,7 +656,7 @@ la_bat_destroy(logger *lg, logaction *la

assert(BBPfarms[BBP_desc(bid)->tvheap->farmid].roles & (1 << PERSISTENT));
}
 #endif
-   if (BUNappend(lg->dsnapshots, , false) != GDK_SUCCEED)
+   if (BUNappend(lg->dsnapshots, , false) != 
GDK_SUCCEED)
return GDK_FAIL;
}
}
@@ -663,7 +664,7 @@ la_bat_destroy(logger *lg, logaction *la
 }
 
 static 

MonetDB: sample-with-seed - Add sample seed to sql/Changelog.

2018-10-09 Thread Aris Koning
Changeset: 44a76d679be0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=44a76d679be0
Modified Files:
sql/ChangeLog
Branch: sample-with-seed
Log Message:

Add sample seed to sql/Changelog.


diffs (18 lines):

diff --git a/sql/ChangeLog b/sql/ChangeLog
--- a/sql/ChangeLog
+++ b/sql/ChangeLog
@@ -1,6 +1,14 @@
 # ChangeLog file for sql
 # This file is updated with Maddlog
 
+* Die Okt  9 2018 Aris Koning 
+- The sql SAMPLE syntax is extended to include an optional integral SEED
+  parameter that sets the seed for the internal random number generator
+  in the sample algorithm.  When the seed is set, the user can obtain
+  a reproducible sample set from a static dataset with the same sample
+  query. The new syntax is
+  SELECT ... FROM ... WHERE ... SAMPLE  [SEED ]
+
 * Fri Aug 10 2018 Sjoerd Mullender 
 - The sys.functions table now has an extra column called "system" of
   type BOOLEAN whose value is TRUE for system functions (i.e. functions
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: default - Use correct types: a BUN is not an oid, an oi...

2018-10-09 Thread Sjoerd Mullender
Changeset: d553da924ea6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d553da924ea6
Modified Files:
gdk/gdk_logger.c
Branch: default
Log Message:

Use correct types: a BUN is not an oid, an oid is not a lng.


diffs (102 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -341,7 +341,7 @@ log_write_id(logger *l, bte tpe, oid id)
lng lid = id;
assert(lid >= 0 && lid <= 100);
if (mnstr_writeChr(l->log, tpe) &&
-   mnstr_writeLng(l->log, id))
+   mnstr_writeLng(l->log, lid))
return GDK_SUCCEED;
fprintf(stderr, "!ERROR: log_write_id: write failed\n");
return GDK_FAIL;
@@ -646,6 +646,7 @@ la_bat_destroy(logger *lg, logaction *la
return GDK_FAIL;
 
if ((p = log_find(lg->snapshots_bid, lg->dsnapshots, bid)) != 
BUN_NONE) {
+   oid pos = (oid) p;
 #ifndef NDEBUG
assert(BBP_desc(bid)->batRole == PERSISTENT);
assert(0 <= BBP_desc(bid)->theap.farmid && 
BBP_desc(bid)->theap.farmid < MAXFARMS);
@@ -655,7 +656,7 @@ la_bat_destroy(logger *lg, logaction *la

assert(BBPfarms[BBP_desc(bid)->tvheap->farmid].roles & (1 << PERSISTENT));
}
 #endif
-   if (BUNappend(lg->dsnapshots, , false) != GDK_SUCCEED)
+   if (BUNappend(lg->dsnapshots, , false) != 
GDK_SUCCEED)
return GDK_FAIL;
}
}
@@ -3183,6 +3184,7 @@ gdk_return
 logger_add_bat(logger *lg, BAT *b, const char *name, bte tpe, oid id)
 {
log_bid bid = logger_find_bat(lg, name, tpe, id);
+   lng lid = (lng) id;
 
assert(b->batRestricted > 0 ||
   b == lg->snapshots_bid ||
@@ -3213,7 +3215,7 @@ logger_add_bat(logger *lg, BAT *b, const
if (BUNappend(lg->catalog_bid, , false) != GDK_SUCCEED ||
BUNappend(lg->catalog_nme, name, false) != GDK_SUCCEED ||
BUNappend(lg->catalog_tpe, , false) != GDK_SUCCEED ||
-   BUNappend(lg->catalog_oid, , false) != GDK_SUCCEED) 
+   BUNappend(lg->catalog_oid, , false) != GDK_SUCCEED) 
return GDK_FAIL;
BBPretain(bid);
return GDK_SUCCEED;
@@ -3225,13 +3227,14 @@ logger_upgrade_bat(logger *lg, const cha
log_bid bid = logger_find_bat(lg, name, tpe, id);
 
if (bid) {
-   BUN p = log_find(lg->catalog_bid, lg->dcatalog, bid);
+   oid p = (oid) log_find(lg->catalog_bid, lg->dcatalog, bid);
+   lng lid = (lng) id;
 
if (BUNappend(lg->dcatalog, , false) != GDK_SUCCEED ||
   BUNappend(lg->catalog_bid, , false) != GDK_SUCCEED ||
   BUNappend(lg->catalog_nme, name, false) != GDK_SUCCEED ||
   BUNappend(lg->catalog_tpe, , false) != GDK_SUCCEED ||
-  BUNappend(lg->catalog_oid, , false) != GDK_SUCCEED) 
+  BUNappend(lg->catalog_oid, , false) != GDK_SUCCEED) 
return GDK_FAIL;
}
return GDK_SUCCEED;
@@ -3242,6 +3245,7 @@ logger_del_bat(logger *lg, log_bid bid)
 {
BAT *b = BATdescriptor(bid);
BUN p = log_find(lg->catalog_bid, lg->dcatalog, bid), q;
+   oid pos;
 
assert(p != BUN_NONE);
if (p == BUN_NONE) {
@@ -3254,8 +3258,8 @@ logger_del_bat(logger *lg, log_bid bid)
 * transient */
if (p >= lg->catalog_bid->batInserted &&
(q = log_find(lg->snapshots_bid, lg->dsnapshots, bid)) != BUN_NONE) 
{
-
-   if (BUNappend(lg->dsnapshots, , false) != GDK_SUCCEED) {
+   pos = (oid) q;
+   if (BUNappend(lg->dsnapshots, , false) != GDK_SUCCEED) {
logbat_destroy(b);
return GDK_FAIL;
}
@@ -3279,7 +3283,8 @@ logger_del_bat(logger *lg, log_bid bid)
lg->changes += BATcount(b) + 1;
BBPunfix(b->batCacheid);
}
-   return BUNappend(lg->dcatalog, , false);
+   pos = (oid) p;
+   return BUNappend(lg->dcatalog, , false);
 /*assert(BBP_lrefs(bid) == 0);*/
 }
 
@@ -3302,7 +3307,8 @@ logger_find_bat(logger *lg, const char *
BUN p;
 
if (BAThash(lg->catalog_oid) == GDK_SUCCEED) {
-   HASHloop_lng(cni, cni.b->thash, p, ) {
+   lng lid = (lng) id;
+   HASHloop_lng(cni, cni.b->thash, p, ) {
oid pos = p;
if (*(bte*)Tloc(lg->catalog_tpe, p) == tpe) {
if (BUNfnd(lg->dcatalog, ) == 
BUN_NONE)
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: default - Use type bte instead of char.

2018-10-09 Thread Sjoerd Mullender
Changeset: d8a78a03447c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d8a78a03447c
Modified Files:
gdk/gdk_logger.c
gdk/gdk_logger.h
Branch: default
Log Message:

Use type bte instead of char.


diffs (202 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -119,7 +119,7 @@ static char *log_commands[] = {
 };
 
 typedef struct logformat_t {
-   char flag;
+   bte flag;
int tid;
lng nr;
 } logformat;
@@ -250,7 +250,7 @@ log_write_string(logger *l, const char *
 }
 
 static log_return
-log_read_clear(logger *lg, trans *tr, char *name, char tpe, oid id)
+log_read_clear(logger *lg, trans *tr, char *name, bte tpe, oid id)
 {
if (lg->debug & 1)
fprintf(stderr, "#logger found log_read_clear %s\n", NAME(name, 
tpe, id));
@@ -336,7 +336,7 @@ log_read_seq(logger *lg, logformat *l)
 }
 
 static gdk_return
-log_write_id(logger *l, char tpe, oid id)
+log_write_id(logger *l, bte tpe, oid id)
 {
lng lid = id;
assert(lid >= 0 && lid <= 100);
@@ -348,7 +348,7 @@ log_write_id(logger *l, char tpe, oid id
 }
 
 static int
-log_read_id(logger *lg, char *tpe, oid *id)
+log_read_id(logger *lg, bte *tpe, oid *id)
 {
lng lid;
 
@@ -401,7 +401,7 @@ mbrRead(void *dst, stream *s, size_t cnt
 #endif
 
 static log_return
-log_read_updates(logger *lg, trans *tr, logformat *l, char *name, int tpe, oid 
id)
+log_read_updates(logger *lg, trans *tr, logformat *l, char *name, bte tpe, oid 
id)
 {
log_bid bid = logger_find_bat(lg, name, tpe, id);
BAT *b = BATdescriptor(bid);
@@ -620,7 +620,7 @@ la_bat_updates(logger *lg, logaction *la
 }
 
 static log_return
-log_read_destroy(logger *lg, trans *tr, char *name, char tpe, oid id)
+log_read_destroy(logger *lg, trans *tr, char *name, bte tpe, oid id)
 {
(void) lg;
if (tr_grow(tr) == GDK_SUCCEED) {
@@ -663,7 +663,7 @@ la_bat_destroy(logger *lg, logaction *la
 }
 
 static log_return
-log_read_create(logger *lg, trans *tr, char *name, char tpe, oid id)
+log_read_create(logger *lg, trans *tr, char *name, bte tpe, oid id)
 {
char *buf = log_read_string(lg);
int ht, tt;
@@ -732,7 +732,7 @@ la_bat_create(logger *lg, logaction *la)
 }
 
 static log_return
-log_read_use(logger *lg, trans *tr, logformat *l, char *name, char tpe, oid id)
+log_read_use(logger *lg, trans *tr, logformat *l, char *name, bte tpe, oid id)
 {
(void) lg;
if (tr_grow(tr) != GDK_SUCCEED)
@@ -1092,7 +1092,7 @@ logger_readlog(logger *lg, char *filenam
}
while (err == LOG_OK && log_read_format(lg, )) {
char *name = NULL;
-   char tpe;
+   bte tpe;
oid id; 
 
t1 = time(NULL);
@@ -1121,7 +1121,7 @@ logger_readlog(logger *lg, char *filenam
if (lg->debug & 1) {
fprintf(stderr, "#logger_readlog: ");
if (l.flag > 0 &&
-   l.flag < (char) (sizeof(log_commands) / 
sizeof(log_commands[0])))
+   (size_t) l.flag < sizeof(log_commands) / 
sizeof(log_commands[0]))
fprintf(stderr, "%s", log_commands[(int) 
l.flag]);
else
fprintf(stderr, "%d", l.flag);
@@ -1800,7 +1800,7 @@ logger_load(int debug, const char *fn, c
goto error;
}
for(i=0;ibatPersistence == PERSISTENT) ? LOG_USE : LOG_CREATE;
+   bte flag = (b->batPersistence == PERSISTENT) ? LOG_USE : LOG_CREATE;
BUN p;
 
l.nr = 0;
@@ -2757,7 +2757,7 @@ log_bat_persists(logger *lg, BAT *b, con
 }
 
 gdk_return
-log_bat_transient(logger *lg, const char *name, char tpe, oid id)
+log_bat_transient(logger *lg, const char *name, bte tpe, oid id)
 {
log_bid bid = logger_find_bat(lg, name, tpe, id);
logformat l;
@@ -2808,7 +2808,7 @@ log_bat_transient(logger *lg, const char
 }
 
 gdk_return
-log_delta(logger *lg, BAT *uid, BAT *uval, const char *name, char tpe, oid id)
+log_delta(logger *lg, BAT *uid, BAT *uval, const char *name, bte tpe, oid id)
 {
gdk_return ok = GDK_SUCCEED;
logformat l;
@@ -2853,7 +2853,7 @@ log_delta(logger *lg, BAT *uid, BAT *uva
 }
 
 gdk_return
-log_bat(logger *lg, BAT *b, const char *name, char tpe, oid id)
+log_bat(logger *lg, BAT *b, const char *name, bte tpe, oid id)
 {
gdk_return ok = GDK_SUCCEED;
logformat l;
@@ -2901,7 +2901,7 @@ log_bat(logger *lg, BAT *b, const char *
 }
 
 gdk_return
-log_bat_clear(logger *lg, const char *name, char tpe, oid id)
+log_bat_clear(logger *lg, const char *name, bte tpe, oid id)
 {
logformat l;
 
@@ -3180,7 +3180,7 @@ bm_commit(logger *lg)
 }
 
 gdk_return
-logger_add_bat(logger *lg, BAT *b, const char *name, char tpe, oid id)
+logger_add_bat(logger *lg, BAT *b, const char *name, 

MonetDB: default - Simplify code: test only once.

2018-10-09 Thread Sjoerd Mullender
Changeset: d95ad5191235 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d95ad5191235
Modified Files:
gdk/gdk_logger.c
Branch: default
Log Message:

Simplify code: test only once.


diffs (65 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -339,8 +339,7 @@ static gdk_return
 log_write_id(logger *l, char tpe, oid id)
 {
lng lid = id;
-   if (lid < 0 || lid > 100)
-   assert(0);
+   assert(lid >= 0 && lid <= 100);
if (mnstr_writeChr(l->log, tpe) &&
mnstr_writeLng(l->log, id))
return GDK_SUCCEED;
@@ -422,8 +421,9 @@ log_read_updates(logger *lg, trans *tr, 
 
for (i = 0; i < tr->nr; i++) {
if (tr->changes[i].type == LOG_CREATE &&
-  ((!tpe && strcmp(tr->changes[i].name, name) == 0)  ||
-  (tpe && tr->changes[i].tpe == tpe && 
tr->changes[i].cid == id))) {
+   (tpe == 0
+? strcmp(tr->changes[i].name, name) == 0
+: tr->changes[i].tpe == tpe && tr->changes[i].cid 
== id)) {
ht = tr->changes[i].ht;
if (ht < 0) {
ht = TYPE_void;
@@ -2797,8 +2797,7 @@ log_bat_transient(logger *lg, const char
}
 
if (log_write_format(lg, ) != GDK_SUCCEED ||
-   (tpe && log_write_id(lg, tpe, id) != GDK_SUCCEED) ||
-   (!tpe && log_write_string(lg, name) != GDK_SUCCEED)) {
+   (tpe ? log_write_id(lg, tpe, id) : log_write_string(lg, name)) != 
GDK_SUCCEED) {
fprintf(stderr, "!ERROR: log_bat_transient: write failed\n");
return GDK_FAIL;
}
@@ -2833,8 +2832,7 @@ log_delta(logger *lg, BAT *uid, BAT *uva
 
l.flag = (tpe)?LOG_UPDATE_ID:LOG_UPDATE;
if (log_write_format(lg, ) != GDK_SUCCEED ||
-   (tpe && log_write_id(lg, tpe, id) != GDK_SUCCEED) ||
-   (!tpe && log_write_string(lg, name) != GDK_SUCCEED))
+   (tpe ? log_write_id(lg, tpe, id) : log_write_string(lg, 
name)) != GDK_SUCCEED)
return GDK_FAIL;
 
for (p = 0; p < BUNlast(uid) && ok == GDK_SUCCEED; p++) {
@@ -2876,8 +2874,7 @@ log_bat(logger *lg, BAT *b, const char *
 
l.flag = tpe?LOG_INSERT_ID:LOG_INSERT;
if (log_write_format(lg, ) != GDK_SUCCEED ||
-   (tpe && log_write_id(lg, tpe, id) != GDK_SUCCEED) ||
-   (!tpe && log_write_string(lg, name) != GDK_SUCCEED))
+   (tpe ? log_write_id(lg, tpe, id) : log_write_string(lg, 
name)) != GDK_SUCCEED)
return GDK_FAIL;
 
if (b->ttype > TYPE_void &&
@@ -2919,8 +2916,7 @@ log_bat_clear(logger *lg, const char *na
 
l.flag = (tpe)?LOG_CLEAR_ID:LOG_CLEAR;
if (log_write_format(lg, ) != GDK_SUCCEED ||
-   (tpe && log_write_id(lg, tpe, id) != GDK_SUCCEED) ||
-   (!tpe && log_write_string(lg, name) != GDK_SUCCEED))
+   (tpe ? log_write_id(lg, tpe, id) : log_write_string(lg, name)) != 
GDK_SUCCEED)
return GDK_FAIL;
 
if (lg->debug & 1)
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: rename-sql - Merge with default

2018-10-09 Thread Pedro Ferreira
Changeset: 65b77821328d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=65b77821328d
Added Files:
sql/test/BugTracker-2018/Tests/convert-key.Bug-6648.sql
sql/test/BugTracker-2018/Tests/convert-key.Bug-6648.stable.err
sql/test/BugTracker-2018/Tests/convert-key.Bug-6648.stable.out
sql/test/BugTracker-2018/Tests/update-transaction-select.Bug-6649.sql

sql/test/BugTracker-2018/Tests/update-transaction-select.Bug-6649.stable.err

sql/test/BugTracker-2018/Tests/update-transaction-select.Bug-6649.stable.out
Modified Files:
MonetDB.spec
clients/mapiclient/ReadlineTools.c
gdk/gdk_calc.c
sql/backends/monet5/sql.c
sql/server/rel_select.c
sql/test/BugTracker-2018/Tests/All
sql/test/group-concat/Tests/groupconcat01.sql
sql/test/group-concat/Tests/groupconcat01.stable.out
sql/test/group-concat/Tests/groupconcat05.sql
sql/test/group-concat/Tests/groupconcat05.stable.out
Branch: rename-sql
Log Message:

Merge with default


diffs (truncated from 1758 to 300 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -350,7 +350,8 @@ This package contains the files needed t
 Summary: MonetDB ODBC driver
 Group: Applications/Databases
 Requires: %{name}-client%{?_isa} = %{version}-%{release}
-Requires(pre): unixODBC
+Requires(post): unixODBC
+Requires(postun): unixODBC
 
 %description client-odbc
 MonetDB is a database management system that is developed from a
@@ -737,10 +738,10 @@ used from the MAL level.
 %package SQL-server5
 Summary: MonetDB5 SQL server modules
 Group: Applications/Databases
-Requires: MonetDB5-server%{?_isa} = %{version}-%{release}
+Requires(pre): MonetDB5-server%{?_isa} = %{version}-%{release}
 %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7
 # RHEL >= 7, and all current Fedora
-Requires: %{_bindir}/systemd-tmpfiles
+Requires(post): %{_bindir}/systemd-tmpfiles
 %endif
 %if (0%{?fedora} >= 22)
 %if %{with hugeint}
@@ -881,9 +882,12 @@ Group: Applications/Databases
 %if "%{?_selinux_policy_version}" != ""
 Requires:   selinux-policy >= %{?_selinux_policy_version}
 %endif
-Requires:   %{name}-SQL-server5 = %{version}-%{release}
-Requires(post):   /usr/sbin/semodule, /sbin/restorecon, /sbin/fixfiles, 
MonetDB-SQL-server5, MonetDB5-server
-Requires(postun): /usr/sbin/semodule, /sbin/restorecon, /sbin/fixfiles, 
MonetDB-SQL-server5, MonetDB5-server
+Requires(post):   MonetDB5-server = %{version}-%{release}
+Requires(postun): MonetDB5-server
+Requires(post):   %{name}-SQL-server5 = %{version}-%{release}
+Requires(postun): %{name}-SQL-server5
+Requires(post):   /usr/sbin/semodule, /sbin/restorecon, /sbin/fixfiles
+Requires(postun): /usr/sbin/semodule, /sbin/restorecon, /sbin/fixfiles
 BuildArch: noarch
 
 %global selinux_types %(%{__awk} '/^#[[:space:]]*SELINUXTYPE=/,/^[^#]/ { if 
($3 == "-") printf "%s ", $2 }' /etc/selinux/config 2>/dev/null)
diff --git a/clients/mapiclient/ReadlineTools.c 
b/clients/mapiclient/ReadlineTools.c
--- a/clients/mapiclient/ReadlineTools.c
+++ b/clients/mapiclient/ReadlineTools.c
@@ -136,7 +136,7 @@ sql_completion(const char *text, int sta
 
 /* The MAL completion help */
 
-static char *mal_commands[] = {
+static const char *mal_commands[] = {
"address",
"atom",
"barrier",
@@ -209,7 +209,8 @@ mal_command_generator(const char *text, 
static int64_t seekpos, rowcount;
static size_t len;
static MapiHdl table_hdl;
-   char *name, *buf;
+   const char *name;
+   char *buf;
 
/* we pick our own portion of the linebuffer */
text = rl_line_buffer + strlen(rl_line_buffer) - 1;
diff --git a/gdk/gdk_calc.c b/gdk/gdk_calc.c
--- a/gdk/gdk_calc.c
+++ b/gdk/gdk_calc.c
@@ -241,12 +241,12 @@ BATcalcnot(BAT *b, BAT *s)
bn->tkey = b->tkey;
 
if (nils != 0 && !b->tnil) {
-   b->tnil = 1;
-   b->batDirtydesc = 1;
+   b->tnil = true;
+   b->batDirtydesc = true;
}
if (nils == 0 && !b->tnonil) {
-   b->tnonil = 1;
-   b->batDirtydesc = 1;
+   b->tnonil = true;
+   b->batDirtydesc = true;
}
 
return bn;
@@ -360,12 +360,12 @@ BATcalcnegate(BAT *b, BAT *s)
bn->tkey = b->tkey;
 
if (nils != 0 && !b->tnil) {
-   b->tnil = 1;
-   b->batDirtydesc = 1;
+   b->tnil = true;
+   b->batDirtydesc = true;
}
if (nils == 0 && !b->tnonil) {
-   b->tnonil = 1;
-   b->batDirtydesc = 1;
+   b->tnonil = true;
+   b->batDirtydesc = true;
}
 
return bn;
@@ -489,12 +489,12 @@ BATcalcabsolute(BAT *b, BAT *s)
bn->tnonil = nils == 0;
 
if (nils && !b->tnil) {
-   b->tnil = 1;
-   b->batDirtydesc = 1;
+   b->tnil = true;
+   

MonetDB: rename-sql - Progress for renaming SQL objects. With th...

2018-10-09 Thread Pedro Ferreira
Changeset: 86d11943261e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=86d11943261e
Modified Files:
sql/backends/monet5/sql.c
sql/backends/monet5/sql.h
sql/backends/monet5/sql_cat.c
sql/common/sql_list.c
sql/include/sql_list.h
sql/server/rel_sequence.c
sql/server/sql_mvc.c
sql/server/sql_mvc.h
sql/server/sql_partition.c
sql/server/sql_partition.h
sql/storage/sql_storage.h
sql/storage/store.c
sql/test/rename/Tests/rename03.sql
sql/test/rename/Tests/rename03.stable.err
sql/test/rename/Tests/rename03.stable.out
Branch: rename-sql
Log Message:

Progress for renaming SQL objects. With the SQL logger approach in mind, a 
general cleanup had to made.


diffs (truncated from 1974 to 300 lines):

diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -273,7 +273,7 @@ SQLshutdown_wrap(Client cntxt, MalBlkPtr
 }
 
 str
-create_table_or_view(mvc *sql, char* sname, char *tname, sql_table *t, int 
temp, sqlid reuse)
+create_table_or_view(mvc *sql, char* sname, char *tname, sql_table *t, int 
temp)
 {
sql_allocator *osa;
sql_schema *s = mvc_bind_schema(sql, sname);
@@ -284,26 +284,22 @@ create_table_or_view(mvc *sql, char* sna
if (STORE_READONLY)
return sql_error(sql, 06, "25006!schema statements cannot be 
executed on a readonly database.");
 
-   if(!reuse) {
-   if (!s)
-   return sql_message(SQLSTATE(3F000) "CREATE %s: schema 
'%s' doesn't exist", (t->query) ? "TABLE" : "VIEW", sname);
-   if (mvc_bind_table(sql, s, t->base.name)) {
-   char *cd = (temp == SQL_DECLARED_TABLE) ? "DECLARE" : 
"CREATE";
-   return sql_message(SQLSTATE(42S01) "%s TABLE: name '%s' 
already in use", cd, t->base.name);
-   } else if (temp != SQL_DECLARED_TABLE && 
(!mvc_schema_privs(sql, s) && !(isTempSchema(s) && temp == SQL_LOCAL_TEMP))) {
-   return sql_message(SQLSTATE(42000) "CREATE TABLE: 
insufficient privileges for user '%s' in schema '%s'", stack_get_string(sql, 
"current_user"), s->base.name);
-   } else if (temp == SQL_DECLARED_TABLE && 
!list_empty(t->keys.set)) {
-   return sql_message(SQLSTATE(42000) "DECLARE TABLE: '%s' 
cannot have constraints", t->base.name);
-   }
-   } else {
-   assert(s);
+   if (!s)
+   return sql_message(SQLSTATE(3F000) "CREATE %s: schema '%s' 
doesn't exist", (t->query) ? "TABLE" : "VIEW", sname);
+   if (mvc_bind_table(sql, s, t->base.name)) {
+   char *cd = (temp == SQL_DECLARED_TABLE) ? "DECLARE" : "CREATE";
+   return sql_message(SQLSTATE(42S01) "%s TABLE: name '%s' already 
in use", cd, t->base.name);
+   } else if (temp != SQL_DECLARED_TABLE && (!mvc_schema_privs(sql, s) && 
!(isTempSchema(s) && temp == SQL_LOCAL_TEMP))) {
+   return sql_message(SQLSTATE(42000) "CREATE TABLE: insufficient 
privileges for user '%s' in schema '%s'", stack_get_string(sql, 
"current_user"), s->base.name);
+   } else if (temp == SQL_DECLARED_TABLE && !list_empty(t->keys.set)) {
+   return sql_message(SQLSTATE(42000) "DECLARE TABLE: '%s' cannot 
have constraints", t->base.name);
}
 
osa = sql->sa;
sql->sa = NULL;
 
nt = sql_trans_create_table(sql->session->tr, s, tname, t->query, 
t->type, t->system, temp, t->commit_action,
-   t->sz, 
t->properties, reuse);
+   t->sz, 
t->properties);
 
/* first check default values */
for (n = t->columns.set->h; n; n = n->next) {
@@ -341,10 +337,8 @@ create_table_or_view(mvc *sql, char* sna
sql->sa = osa;
throw(SQL, "sql.catalog", SQLSTATE(42000) "%s", 
sql->errstr);
}
-   if(!reuse) {
-   id_l = rel_dependencies(sql, r);
-   mvc_create_dependencies(sql, id_l, nt->base.id, 
FUNC_DEPENDENCY);
-   }
+   id_l = rel_dependencies(sql, r);
+   mvc_create_dependencies(sql, id_l, nt->base.id, 
FUNC_DEPENDENCY);
rel_destroy(r);
sa_destroy(sql->sa);
sql->sa = NULL;
@@ -352,7 +346,7 @@ create_table_or_view(mvc *sql, char* sna
}
 
for (n = t->columns.set->h; n; n = n->next) {
-   sql_column *c = n->data, *copied = mvc_copy_column(sql, nt, c, 
NULL, !reuse);
+   sql_column *c = n->data, *copied = mvc_copy_column(sql, nt, c);
 
if (copied == NULL) {

MonetDB: config_rss - Fix .ag and python file.

2018-10-09 Thread Aris Koning
Changeset: fe24e64159db for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fe24e64159db
Modified Files:
sql/backends/monet5/Makefile.ag
sql/test/configurable_rss/Tests/rss.py
Branch: config_rss
Log Message:

Fix .ag and python file.


diffs (24 lines):

diff --git a/sql/backends/monet5/Makefile.ag b/sql/backends/monet5/Makefile.ag
--- a/sql/backends/monet5/Makefile.ag
+++ b/sql/backends/monet5/Makefile.ag
@@ -4,7 +4,7 @@
 #
 # Copyright 1997 - July 2008 CWI, August 2008 - 2018 MonetDB B.V.
 
-SUBDIRS = NOT_WIN32?vaults UDF generator HAVE_TESTING?config_rss
+SUBDIRS = NOT_WIN32?vaults UDF generator HAVE_TESTING?WIN32?config_rss
 
 INCLUDES = ../../include ../../common ../../storage ../../server \
   ../../../monetdb5/modules/atoms \
diff --git a/sql/test/configurable_rss/Tests/rss.py 
b/sql/test/configurable_rss/Tests/rss.py
--- a/sql/test/configurable_rss/Tests/rss.py
+++ b/sql/test/configurable_rss/Tests/rss.py
@@ -20,7 +20,7 @@ drop function test_rss;
 self.rss_max_in_Bytes = 3000
 
 def prepare_server_options(self):
-return ["--set", "gdk_mem_maxsize={}".format(self.rss_max_in_Bytes)] 
if self.is_capped else []
+return ["--set", "gdk_mem_maxsize={}".format(self.rss_max_in_Bytes)]
 
 def prepare_sql_script(self):
 return 
RSSTestConfig.sql_template.format(gdk_mem_maxsize=self.rss_max_in_Bytes)
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list