Changeset: c6dada6109ea for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c6dada6109ea
Added Files:
        sql/test/BugTracker-2017/Tests/date_to_str.Bug-6467.sql
        sql/test/BugTracker-2017/Tests/date_to_str.Bug-6467.stable.err
        sql/test/BugTracker-2017/Tests/date_to_str.Bug-6467.stable.out
        sql/test/BugTracker-2017/Tests/limit.Bug-6322.sql
        sql/test/BugTracker-2017/Tests/limit.Bug-6322.stable.err
        sql/test/BugTracker-2017/Tests/limit.Bug-6322.stable.out
        
sql/test/BugTracker-2017/Tests/python_loader_clobbers_default_with_null.Bug-6464.sql
        
sql/test/BugTracker-2017/Tests/python_loader_clobbers_default_with_null.Bug-6464.stable.err
        
sql/test/BugTracker-2017/Tests/python_loader_clobbers_default_with_null.Bug-6464.stable.out
        sql/test/BugTracker-2017/Tests/skip_problem_best_effort.Bug-6442.sql
        
sql/test/BugTracker-2017/Tests/skip_problem_best_effort.Bug-6442.stable.err
        
sql/test/BugTracker-2017/Tests/skip_problem_best_effort.Bug-6442.stable.out
        sql/test/mergetables/Tests/mergedb.Bug-6820.reqtests
        sql/test/mergetables/Tests/mergedb_drop.reqtests
        sql/test/mergetables/Tests/qlsmith-exist-lateral.reqtests
        sql/test/mergetables/Tests/sqlsmith-apply-outer-join-or.sql
        sql/test/mergetables/Tests/sqlsmith-apply-outer-join-or.stable.err
        sql/test/mergetables/Tests/sqlsmith-apply-outer-join-or.stable.out
        sql/test/mergetables/Tests/sqlsmith-exist-lateral.reqtests
        sql/test/mergetables/Tests/sqlsmith-exist-lateral.sql
        sql/test/mergetables/Tests/sqlsmith-exist-lateral.stable.err
        sql/test/mergetables/Tests/sqlsmith-exist-lateral.stable.out
        sql/test/mergetables/Tests/sqlsmith.Bug-6426.reqtests
        sql/test/mergetables/Tests/sqlsmith.Bug-6451.reqtests
        sql/test/mergetables/Tests/sqlsmith.Bug-6453.reqtests
        sql/test/mergetables/Tests/sqlsmith.Bug-6455.reqtests
        sql/test/mergetables/Tests/sqlsmith.Bug-6459.reqtests
        sql/test/mergetables/Tests/sqlsmith.Bug-6459.stable.out.int128
Removed Files:
        sql/benchmarks/tpch/fileleak/Tests/All
        sql/benchmarks/tpch/fileleak/Tests/check0.reqtests
        sql/benchmarks/tpch/fileleak/Tests/check0.sql
        sql/benchmarks/tpch/fileleak/Tests/check0.stable.err
        sql/benchmarks/tpch/fileleak/Tests/check0.stable.out
        sql/benchmarks/tpch/fileleak/Tests/check1.reqtests
        sql/benchmarks/tpch/fileleak/Tests/check1.sql
        sql/benchmarks/tpch/fileleak/Tests/check1.stable.err
        sql/benchmarks/tpch/fileleak/Tests/check1.stable.out
        sql/benchmarks/tpch/fileleak/Tests/create.sql.src
        sql/benchmarks/tpch/fileleak/Tests/create.stable.err
        sql/benchmarks/tpch/fileleak/Tests/create.stable.out
        sql/benchmarks/tpch/fileleak/Tests/delete_all.SQL.py
        sql/benchmarks/tpch/fileleak/Tests/delete_all.stable.err
        sql/benchmarks/tpch/fileleak/Tests/delete_all.stable.out
        sql/benchmarks/tpch/fileleak/Tests/leaks.SQL.py
        sql/benchmarks/tpch/fileleak/Tests/leaks.stable.err
        sql/benchmarks/tpch/fileleak/Tests/leaks.stable.out
        sql/benchmarks/tpch/fileleak/Tests/leaks.stable.out.Windows
        sql/benchmarks/tpch/fileleak/Tests/load.SQL.py
        sql/benchmarks/tpch/fileleak/Tests/load.reqtests
        sql/benchmarks/tpch/fileleak/Tests/load.stable.err
        sql/benchmarks/tpch/fileleak/Tests/load.stable.out
        sql/benchmarks/tpch/fileleak/Tests/test.py
        sql/benchmarks/tpch/fileleak/Tests/test.sql
        sql/test/BugTracker-2017/Tests/limit.bug-6322.sql
        sql/test/leaks/Tests/All
        sql/test/leaks/Tests/check1.reqtests
        sql/test/leaks/Tests/check1.sql
        sql/test/leaks/Tests/check1.stable.err
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check1.stable.out.int128
        sql/test/leaks/Tests/check2.reqtests
        sql/test/leaks/Tests/check2.sql.src
        sql/test/leaks/Tests/check2.stable.err
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check2.stable.out.int128
        sql/test/leaks/Tests/check3.reqtests
        sql/test/leaks/Tests/check3.sql.src
        sql/test/leaks/Tests/check3.stable.err
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check3.stable.out.int128
        sql/test/leaks/Tests/check4.reqtests
        sql/test/leaks/Tests/check4.sql.src
        sql/test/leaks/Tests/check4.stable.err
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check4.stable.out.int128
        sql/test/leaks/Tests/check5.reqtests
        sql/test/leaks/Tests/check5.sql.src
        sql/test/leaks/Tests/check5.stable.err
        sql/test/leaks/Tests/check5.stable.out
        sql/test/leaks/Tests/check5.stable.out.int128
        sql/test/leaks/Tests/drop3.reqtests
        sql/test/leaks/Tests/drop3.sql
        sql/test/leaks/Tests/drop3.stable.err
        sql/test/leaks/Tests/drop3.stable.out
        sql/test/leaks/Tests/drop3.stable.out.int128
        sql/test/leaks/Tests/initialize.sql
        sql/test/leaks/Tests/initialize.stable.err
        sql/test/leaks/Tests/initialize.stable.out
        sql/test/leaks/Tests/select1.reqtests
        sql/test/leaks/Tests/select1.sql
        sql/test/leaks/Tests/select1.stable.err
        sql/test/leaks/Tests/select1.stable.out
        sql/test/leaks/Tests/select1.stable.out.int128
        sql/test/leaks/Tests/select2.reqtests
        sql/test/leaks/Tests/select2.sql
        sql/test/leaks/Tests/select2.stable.err
        sql/test/leaks/Tests/select2.stable.out
        sql/test/leaks/Tests/select2.stable.out.int128
        sql/test/leaks/Tests/temp1.reqtests
        sql/test/leaks/Tests/temp1.sql
        sql/test/leaks/Tests/temp1.stable.err
        sql/test/leaks/Tests/temp1.stable.out
        sql/test/leaks/Tests/temp1.stable.out.int128
        sql/test/leaks/Tests/temp2.reqtests
        sql/test/leaks/Tests/temp2.sql
        sql/test/leaks/Tests/temp2.stable.err
        sql/test/leaks/Tests/temp2.stable.out
        sql/test/leaks/Tests/temp2.stable.out.int128
        sql/test/leaks/Tests/temp3.reqtests
        sql/test/leaks/Tests/temp3.sql
        sql/test/leaks/Tests/temp3.stable.err
        sql/test/leaks/Tests/temp3.stable.out
        sql/test/leaks/Tests/temp3.stable.out.int128
Modified Files:
        NT/monetdb_config.h.in
        clients/ChangeLog
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        clients/examples/C/sample4.c
        clients/mapiclient/ReadlineTools.c
        clients/mapiclient/dump.c
        clients/mapiclient/mclient.c
        clients/mapilib/mapi.c
        clients/mapilib/mapi.h
        clients/odbc/driver/SQLExecute.c
        clients/odbc/driver/SQLPrepare.c
        common/stream/stream.c
        common/utils/msabaoth.c
        configure.ag
        gdk/gdk.h
        gdk/gdk_aggr.c
        gdk/gdk_atoms.c
        gdk/gdk_atoms.h
        gdk/gdk_batop.c
        gdk/gdk_bbp.c
        gdk/gdk_calc.c
        gdk/gdk_heap.c
        gdk/gdk_logger.c
        gdk/gdk_private.h
        gdk/gdk_storage.c
        gdk/gdk_utils.c
        geom/monetdb5/geom.h
        monetdb5/mal/mal.c
        monetdb5/mal/mal.h
        monetdb5/mal/mal_atom.c
        monetdb5/mal/mal_import.c
        monetdb5/mal/mal_linker.c
        monetdb5/mal/mal_parser.c
        monetdb5/mal/mal_profiler.c
        monetdb5/mal/mal_readline.c
        monetdb5/mal/mal_session.c
        monetdb5/mal/mal_type.c
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/kernel/batmmath.h
        monetdb5/modules/kernel/mmath.h
        monetdb5/modules/mal/batcalc.c
        monetdb5/modules/mal/bbp.c
        monetdb5/modules/mal/calc.c
        monetdb5/modules/mal/language.c
        monetdb5/modules/mal/mal_mapi.c
        monetdb5/modules/mal/tablet.c
        monetdb5/modules/mal/tokenizer.c
        monetdb5/modules/mal/wlc.c
        monetdb5/modules/mal/wlc.h
        monetdb5/optimizer/opt_candidates.c
        sql/backends/monet5/Tests/pyloader01.sql
        sql/backends/monet5/Tests/pyloader01.stable.out
        sql/backends/monet5/Tests/pyloader07.stable.out
        sql/backends/monet5/Tests/pyloader07.stable.out.Windows
        sql/backends/monet5/UDF/pyapi/convert_loops.h
        sql/backends/monet5/UDF/pyapi/emit.c
        sql/backends/monet5/UDF/pyapi/pyapi.c
        sql/backends/monet5/UDF/pyapi/pyloader.c
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_02.stable.out
        sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_05.stable.out
        sql/backends/monet5/UDF/udf/udf.c
        sql/backends/monet5/generator/generator.c
        sql/backends/monet5/prog.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.mal
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_scenario.h
        sql/backends/monet5/sql_transaction.c
        sql/backends/monet5/sql_upgrades.c
        sql/backends/monet5/sql_user.c
        sql/backends/monet5/vaults/vault.c
        sql/backends/monet5/wlr.c
        sql/common/sql_list.c
        sql/common/sql_types.c
        sql/include/sql_catalog.h
        sql/scripts/99_system.sql
        sql/server/rel_optimizer.c
        sql/server/rel_psm.c
        sql/server/rel_select.c
        sql/server/rel_semantic.c
        sql/server/rel_sequence.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.y
        sql/server/sql_privileges.c
        sql/server/sql_semantic.c
        sql/server/sql_semantic.h
        sql/storage/bat/bat_storage.c
        sql/storage/sql_storage.h
        sql/storage/store.c
        sql/storage/store_dependency.c
        sql/storage/store_sequence.c
        sql/storage/store_sequence.h
        
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
        sql/test/BugTracker-2017/Tests/All
        sql/test/BugTracker-2017/Tests/drop_system_schema.Bug-6437.stable.err
        sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.sql
        sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.stable.out
        sql/test/BugTracker-2017/Tests/side-effect.Bug-6397.stable.out
        sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6418.sql
        sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6418.stable.out
        
sql/test/BugTracker-2017/Tests/statistics_nils_not_eq_zero.Bug-6331.stable.out
        sql/test/BugTracker-2017/Tests/table_returning_with.Bug-6444.stable.err
        sql/test/Dependencies/Tests/Dependencies.stable.out
        sql/test/Dependencies/Tests/Dependencies.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.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.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/All
        sql/test/mergetables/Tests/sqlsmith.Bug-6459.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.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.int128
        tools/merovingian/daemon/forkmserver.c
        tools/merovingian/daemon/handlers.c
        tools/merovingian/daemon/merovingian.c
        tools/merovingian/daemon/multiplex-funnel.c
        tools/mserver/mserver5.c
Branch: jitudf
Log Message:

Merge with default


diffs (truncated from 52730 to 300 lines):

diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in
--- a/NT/monetdb_config.h.in
+++ b/NT/monetdb_config.h.in
@@ -33,12 +33,6 @@
 #define _CRT_SECURE_NO_DEPRECATE 1
 #endif
 
-/* include Intel's mathimf.h early, before any other include files
- * might try to include math.h */
-#ifdef __INTEL_COMPILER
-#include <mathimf.h>
-#endif
-
 #include <malloc.h>
 
 #if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC)
diff --git a/clients/ChangeLog b/clients/ChangeLog
--- a/clients/ChangeLog
+++ b/clients/ChangeLog
@@ -1,6 +1,13 @@
 # ChangeLog file for clients
 # This file is updated with Maddlog
 
+* Thu Nov 16 2017 Sjoerd Mullender <[email protected]>
+- The functions in the mapi library that require 64 bit integers now
+  use the standard type int64_t instead of the non-standard mapi_int64.
+  This requires a compilation environment that has the stdint.h include
+  file (standardized in C99).  Compilation of the library also requires
+  the inttypes.h include file (also standardized in C99).
+
 * Mon Jul 17 2017 Panagiotis Koutsourakis <[email protected]>
 - Add a new pretty printing option to stethoscope
   Running stethoscope with the flag -j will produce not pretty printed
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
@@ -8447,6 +8447,8 @@ Ready.
 [ "sql",       "transaction_release",  "pattern 
sql.transaction_release(chain:int, name:str):void ",   
"SQLtransaction_release;",      "A transaction statement (type can be 
commit,release,rollback or start)"        ]
 [ "sql",       "transaction_rollback", "pattern 
sql.transaction_rollback(chain:int, name:str):void ",  
"SQLtransaction_rollback;",     "A transaction statement (type can be 
commit,release,rollback or start)"        ]
 [ "sql",       "update",       "pattern sql.update(mvc:int, sname:str, 
tname:str, cname:str, rids:any, upd:any):int ", "mvc_update_wrap;",     "Update 
the values of the column tname.cname. Returns sequence number for order 
dependence)"    ]
+[ "sql",       "update_schemas",       "pattern sql.update_schemas():void ",   
"SYSupdate_schemas;",   "Procedure triggered on update of the sys.schemas 
table"        ]
+[ "sql",       "update_tables",        "pattern sql.update_tables():void ",    
"SYSupdate_tables;",    "Procedure triggered on update of the sys._tables 
table"        ]
 [ "sql",       "vacuum",       "pattern sql.vacuum(sch:str, tbl:str):void ",   
"SQLvacuum;",   "Choose an approach to consolidate the deletions"       ]
 [ "sql",       "zero_or_one",  "command sql.zero_or_one(col:bat[:any_1]):any_1 
",      "zero_or_one;", "if col contains exactly one value return this. Incase 
of more raise an exception else return nil"      ]
 [ "sqlblob",   "#fromstr",     "command sqlblob.#fromstr():void ",     
"SQLBLOBfromstr;",      ""      ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -10811,6 +10811,8 @@ Ready.
 [ "sql",       "transaction_release",  "pattern 
sql.transaction_release(chain:int, name:str):void ",   
"SQLtransaction_release;",      "A transaction statement (type can be 
commit,release,rollback or start)"        ]
 [ "sql",       "transaction_rollback", "pattern 
sql.transaction_rollback(chain:int, name:str):void ",  
"SQLtransaction_rollback;",     "A transaction statement (type can be 
commit,release,rollback or start)"        ]
 [ "sql",       "update",       "pattern sql.update(mvc:int, sname:str, 
tname:str, cname:str, rids:any, upd:any):int ", "mvc_update_wrap;",     "Update 
the values of the column tname.cname. Returns sequence number for order 
dependence)"    ]
+[ "sql",       "update_schemas",       "pattern sql.update_schemas():void ",   
"SYSupdate_schemas;",   "Procedure triggered on update of the sys.schemas 
table"        ]
+[ "sql",       "update_tables",        "pattern sql.update_tables():void ",    
"SYSupdate_tables;",    "Procedure triggered on update of the sys._tables 
table"        ]
 [ "sql",       "vacuum",       "pattern sql.vacuum(sch:str, tbl:str):void ",   
"SQLvacuum;",   "Choose an approach to consolidate the deletions"       ]
 [ "sql",       "zero_or_one",  "command sql.zero_or_one(col:bat[:any_1]):any_1 
",      "zero_or_one;", "if col contains exactly one value return this. Incase 
of more raise an exception else return nil"      ]
 [ "sqlblob",   "#fromstr",     "command sqlblob.#fromstr():void ",     
"SQLBLOBfromstr;",      ""      ]
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
@@ -512,7 +512,7 @@ MapiMsg mapi_execute(MapiHdl hdl);
 MapiMsg mapi_explain(Mapi mid, FILE *fd);
 MapiMsg mapi_explain_query(MapiHdl hdl, FILE *fd);
 MapiMsg mapi_explain_result(MapiHdl hdl, FILE *fd);
-mapi_int64 mapi_fetch_all_rows(MapiHdl hdl);
+int64_t mapi_fetch_all_rows(MapiHdl hdl);
 char *mapi_fetch_field(MapiHdl hdl, int fnr);
 size_t mapi_fetch_field_len(MapiHdl hdl, int fnr);
 char *mapi_fetch_line(MapiHdl hdl);
@@ -527,7 +527,7 @@ int mapi_get_field_count(MapiHdl hdl);
 stream *mapi_get_from(Mapi mid);
 char *mapi_get_host(Mapi mid);
 char *mapi_get_lang(Mapi mid);
-mapi_int64 mapi_get_last_id(MapiHdl hdl);
+int64_t mapi_get_last_id(MapiHdl hdl);
 int mapi_get_len(MapiHdl hdl, int fnr);
 char *mapi_get_mapi_version(Mapi mid);
 char *mapi_get_monet_version(Mapi mid);
@@ -535,7 +535,7 @@ char *mapi_get_motd(Mapi mid);
 char *mapi_get_name(MapiHdl hdl, int fnr);
 char *mapi_get_query(MapiHdl hdl);
 int mapi_get_querytype(MapiHdl hdl);
-mapi_int64 mapi_get_row_count(MapiHdl hdl);
+int64_t mapi_get_row_count(MapiHdl hdl);
 int mapi_get_scale(MapiHdl hdl, int fnr);
 char *mapi_get_table(MapiHdl hdl, int fnr);
 int mapi_get_tableid(MapiHdl hdl);
@@ -572,8 +572,8 @@ MapiMsg mapi_release_id(Mapi mid, int id
 char **mapi_resolve(const char *host, int port, const char *pattern);
 const char *mapi_result_error(MapiHdl hdl);
 const char *mapi_result_errorcode(MapiHdl hdl);
-mapi_int64 mapi_rows_affected(MapiHdl hdl);
-MapiMsg mapi_seek_row(MapiHdl hdl, mapi_int64 rowne, int whence);
+int64_t mapi_rows_affected(MapiHdl hdl);
+MapiMsg mapi_seek_row(MapiHdl hdl, int64_t rowne, int whence);
 MapiHdl mapi_send(Mapi mid, const char *cmd);
 MapiMsg mapi_setAutocommit(Mapi mid, int autocommit);
 MapiMsg mapi_set_size_header(Mapi mid, int value);
@@ -2337,8 +2337,8 @@ int mnstr_writeInt_wrap(Stream *S, int *
 str mnstr_writeIntwrap(void *ret, Stream *S, int *data);
 int mnstr_write_string(Stream *S, str data);
 str mnstr_write_stringwrap(void *ret, Stream *S, str *data);
-char monet_characteristics[PATHLENGTH];
-char monet_cwd[PATHLENGTH];
+char monet_characteristics[4096];
+char monet_cwd[FILENAME_MAX];
 size_t monet_memory;
 void moveInstruction(MalBlkPtr mb, int pc, int target);
 void mserver_reset(int exit);
@@ -2604,7 +2604,7 @@ str vectorRef;
 str wlcRef;
 int wlc_batches;
 int wlc_beat;
-char wlc_dir[PATHLENGTH];
+char wlc_dir[FILENAME_MAX];
 lng wlc_id;
 MT_Lock wlc_lock;
 int wlc_state;
diff --git a/clients/examples/C/sample4.c b/clients/examples/C/sample4.c
--- a/clients/examples/C/sample4.c
+++ b/clients/examples/C/sample4.c
@@ -9,12 +9,8 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#include <inttypes.h>
 #include <mapi.h>
-#ifdef _MSC_VER
-#define LLFMT "%I64d"
-#else
-#define LLFMT "%lld"
-#endif
 
 #define die(dbh,hdl)   do {                                            \
                                if (hdl)                                \
@@ -31,7 +27,7 @@ main(int argc, char **argv)
 {
        Mapi dbh;
        MapiHdl hdl = NULL;
-       mapi_int64 rows;
+       int64_t rows;
 
        if (argc != 4) {
                printf("usage:%s <host> <port> <language>\n", argv[0]);
@@ -66,7 +62,7 @@ main(int argc, char **argv)
                rows = mapi_fetch_all_rows(hdl);
                if (mapi_error(dbh))
                        die(dbh, hdl);
-               printf("rows received " LLFMT "\n", rows);
+               printf("rows received %" PRId64 "\n", rows);
                while (mapi_fetch_row(hdl)) {
                        char *nme = mapi_fetch_field(hdl, 0);
                        char *age = mapi_fetch_field(hdl, 1);
@@ -97,7 +93,7 @@ main(int argc, char **argv)
                rows = mapi_fetch_all_rows(hdl);
                if (mapi_error(dbh))
                        die(dbh, hdl);
-               printf("rows received " LLFMT "\n", rows);
+               printf("rows received %" PRId64 "\n", rows);
                while (mapi_fetch_row(hdl)) {
                        char *nme = mapi_fetch_field(hdl, 1);
                        char *age = mapi_fetch_field(hdl, 2);
diff --git a/clients/mapiclient/ReadlineTools.c 
b/clients/mapiclient/ReadlineTools.c
--- a/clients/mapiclient/ReadlineTools.c
+++ b/clients/mapiclient/ReadlineTools.c
@@ -30,8 +30,6 @@
 
 #include <errno.h>
 
-#define PATHLENGTH     256     /* maximum file pathname length. */
-
 static const char *sql_commands[] = {
        "SELECT",
        "INSERT",
@@ -49,7 +47,7 @@ static const char *sql_commands[] = {
 };
 
 static Mapi _mid;
-static char _history_file[PATHLENGTH];
+static char _history_file[FILENAME_MAX];
 static int _save_history = 0;
 static char *language;
 
@@ -57,7 +55,8 @@ static char *
 sql_tablename_generator(const char *text, int state)
 {
 
-       static int seekpos, len, rowcount;
+       static int64_t seekpos, rowcount;
+       static size_t len;
        static MapiHdl table_hdl;
 
        if (!state) {
@@ -170,7 +169,7 @@ static int
 mal_help(int cnt, int key)
 {
        char *name, *c, *buf;
-       int seekpos = 0, rowcount;
+       int64_t seekpos = 0, rowcount;
        MapiHdl table_hdl;
 
        (void) cnt;
@@ -215,7 +214,8 @@ mal_command_generator(const char *text, 
 {
 
        static int idx;
-       static int seekpos, len, rowcount;
+       static int64_t seekpos, rowcount;
+       static size_t len;
        static MapiHdl table_hdl;
        char *name, *buf;
 
@@ -330,13 +330,13 @@ init_readline(Mapi mid, char *lang, int 
        if (save_history) {
 #ifndef NATIVE_WIN32
                if (getenv("HOME") != NULL) {
-                       snprintf(_history_file, PATHLENGTH,
+                       snprintf(_history_file, FILENAME_MAX,
                                 "%s/.mapiclient_history_%s",
                                 getenv("HOME"), language);
                        _save_history = 1;
                }
 #else
-               snprintf(_history_file, PATHLENGTH,
+               snprintf(_history_file, FILENAME_MAX,
                         "%s%c_mapiclient_history_%s",
                         mo_find_option(NULL, 0, "prefix"), DIR_SEP, language);
                _save_history = 1;
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -1214,30 +1214,32 @@ dump_table(Mapi mid, const char *schema,
 }
 
 static int
-dump_function(Mapi mid, stream *toConsole, const char *sname, const char 
*fname, int hashge)
+dump_function(Mapi mid, stream *toConsole, const char *fid, int hashge)
 {
        MapiHdl hdl;
-       size_t qlen = 200 + strlen(sname) + strlen(fname);
+       size_t qlen = 200 + strlen(fid);
        char *query = malloc(qlen);
        const char *sep;
-       char *fid, *ffunc;
+       char *ffunc, *sname, *fname;
        int flang, ftype;
 
-       snprintf(query, qlen, "select f.id, f.func, f.language, f.type from 
sys.functions f, sys.schemas s where f.schema_id = s.id and s.name = '%s' and 
f.name = '%s'", sname, fname);
+       snprintf(query, qlen, "SELECT f.id, f.func, f.language, f.type, s.name, 
f.name FROM sys.functions f, sys.schemas s WHERE f.schema_id = s.id AND f.id = 
%s", fid);
        hdl = mapi_query(mid, query);
        if (mapi_fetch_row(hdl) == 0) {
                free(query);
                mapi_close_handle(hdl);
                return 0;       /* no such function, apparently */
        }
-       fid = mapi_fetch_field(hdl, 0);
        ffunc = mapi_fetch_field(hdl, 1);
        flang = atoi(mapi_fetch_field(hdl, 2));
        ftype = atoi(mapi_fetch_field(hdl, 3));
+       sname = mapi_fetch_field(hdl, 4);
+       fname = mapi_fetch_field(hdl, 5);
        if (flang == 1 || flang == 2) {
                /* all information is stored in the func column */
                mnstr_printf(toConsole, "%s\n", ffunc);
                mapi_close_handle(hdl);
+               free(query);
                return 0;
        }
        mnstr_printf(toConsole, "CREATE ");
@@ -1356,22 +1358,14 @@ dump_function(Mapi mid, stream *toConsol
 int
 dump_functions(Mapi mid, stream *toConsole, const char *sname, const char 
*fname)
 {
-       const char functions[] =
-               "SELECT s.name, f.name "
-               "FROM sys.schemas s, "
-                    "sys.functions f "
-               "WHERE s.id = f.schema_id AND "
-                     "f.id NOT IN (SELECT function_id FROM 
sys.systemfunctions) "
-                     "%s%s%s"
-               "ORDER BY f.func";
        MapiHdl hdl;
        char *q;
        size_t l;
        int hashge = has_hugeint(mid);
+       const char *fid;
 
        if (fname != NULL) {
                /* dump a single function */
-               int rc;
                char *schema = NULL;
 
                if (sname == NULL) {
@@ -1388,27 +1382,42 @@ dump_functions(Mapi mid, stream *toConso
                        }
                        sname = schema;
                }
-               rc = dump_function(mid, toConsole, sname, fname, hashge);
+               l = 200 + strlen(sname) + strlen(fname);
+               q = malloc(l);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to