Changeset: ba10acaeaf43 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ba10acaeaf43
Added Files:
gdk/gdk_interprocess.c
gdk/gdk_interprocess.h
java/tests/Test_PSgetObject.java
sql/jdbc/tests/Tests/Test_PSgetObject.SQL.bat
sql/jdbc/tests/Tests/Test_PSgetObject.SQL.sh
sql/jdbc/tests/Tests/Test_PSgetObject.stable.err
sql/jdbc/tests/Tests/Test_PSgetObject.stable.out
sql/test/mergetables/Tests/mergedropcascade.sql
sql/test/mergetables/Tests/mergedropcascade.stable.err
sql/test/mergetables/Tests/mergedropcascade.stable.out
Removed Files:
gdk/interprocess.c
gdk/interprocess.h
Modified Files:
clients/Tests/All
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
clients/mapiclient/mclient.c
clients/mapiclient/msqldump.c
common/stream/stream.c
configure.ag
gdk/ChangeLog
gdk/Makefile.ag
gdk/gdk.h
gdk/gdk_aggr.c
gdk/gdk_align.c
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_bbp.c
gdk/gdk_bbp.h
gdk/gdk_calc.c
gdk/gdk_calc_compare.h
gdk/gdk_cand.h
gdk/gdk_cross.c
gdk/gdk_delta.c
gdk/gdk_delta.h
gdk/gdk_firstn.c
gdk/gdk_group.c
gdk/gdk_hash.c
gdk/gdk_hash.h
gdk/gdk_heap.c
gdk/gdk_imprints.c
gdk/gdk_join.c
gdk/gdk_logger.c
gdk/gdk_orderidx.c
gdk/gdk_private.h
gdk/gdk_project.c
gdk/gdk_sample.c
gdk/gdk_select.c
gdk/gdk_storage.c
gdk/gdk_unique.c
gdk/gdk_utils.c
geom/lib/libgeom.c
geom/monetdb5/geom.c
geom/monetdb5/geomBulk.c
geom/monetdb5/geom_upgrade.c
java/src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java
monetdb5/ChangeLog
monetdb5/extras/pyapi/connection.c
monetdb5/extras/pyapi/convert_loops.h
monetdb5/extras/pyapi/emit.c
monetdb5/extras/pyapi/pyapi.c
monetdb5/extras/pyapi/pyloader.c
monetdb5/extras/rapi/converters.c.h
monetdb5/extras/rapi/rapi.c
monetdb5/extras/sphinx/sphinx.c
monetdb5/mal/Tests/tst202.malC
monetdb5/mal/Tests/tst210.malC
monetdb5/mal/Tests/tst275.stable.out
monetdb5/mal/mal_authorize.c
monetdb5/mal/mal_dataflow.c
monetdb5/mal/mal_debugger.c
monetdb5/mal/mal_factory.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_interpreter.c
monetdb5/mal/mal_listing.c
monetdb5/mal/mal_parser.c
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_recycle.c
monetdb5/mal/mal_resource.c
monetdb5/mal/mal_runtime.c
monetdb5/modules/atoms/batxml.c
monetdb5/modules/atoms/json.c
monetdb5/modules/atoms/mtime.c
monetdb5/modules/atoms/str.c
monetdb5/modules/atoms/url.c
monetdb5/modules/kernel/algebra.c
monetdb5/modules/kernel/bat5.c
monetdb5/modules/kernel/bat5.h
monetdb5/modules/kernel/bat5.mal
monetdb5/modules/kernel/batcolor.c
monetdb5/modules/kernel/batmmath.c
monetdb5/modules/kernel/batstr.c
monetdb5/modules/kernel/microbenchmark.c
monetdb5/modules/kernel/status.c
monetdb5/modules/mal/Tests/inspect05.stable.out
monetdb5/modules/mal/Tests/inspect05.stable.out.int128
monetdb5/modules/mal/batExtensions.c
monetdb5/modules/mal/batcalc.c
monetdb5/modules/mal/bbp.c
monetdb5/modules/mal/clients.c
monetdb5/modules/mal/groupby.c
monetdb5/modules/mal/inspect.c
monetdb5/modules/mal/iterator.c
monetdb5/modules/mal/mal_io.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/manifold.c
monetdb5/modules/mal/manual.c
monetdb5/modules/mal/mat.c
monetdb5/modules/mal/mdb.c
monetdb5/modules/mal/mkey.c
monetdb5/modules/mal/orderidx.c
monetdb5/modules/mal/pcre.c
monetdb5/modules/mal/projectionpath.c
monetdb5/modules/mal/querylog.c
monetdb5/modules/mal/remote.c
monetdb5/modules/mal/sysmon.c
monetdb5/modules/mal/tablet.c
monetdb5/modules/mal/tokenizer.c
monetdb5/modules/mal/txtsim.c
monetdb5/modules/mal/zorder.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_pipes.c
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_reorder.c
monetdb5/optimizer/opt_statistics.c
monetdb5/optimizer/opt_support.c
monetdb5/optimizer/optimizer.c
monetdb5/optimizer/optimizer_private.h
sql/backends/monet5/LSST/lsst.c
sql/backends/monet5/Tests/All
sql/backends/monet5/Tests/pyapi30.stable.out
sql/backends/monet5/UDF/udf.c
sql/backends/monet5/generator/generator.c
sql/backends/monet5/gsl/gsl.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_bat2time.c
sql/backends/monet5/sql_cast.c
sql/backends/monet5/sql_cast_impl_down_from_flt.h
sql/backends/monet5/sql_cast_impl_down_from_int.h
sql/backends/monet5/sql_cast_impl_up_to_flt.h
sql/backends/monet5/sql_cast_impl_up_to_int.h
sql/backends/monet5/sql_fround_impl.h
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_rank.c
sql/backends/monet5/sql_result.c
sql/backends/monet5/sql_round_impl.h
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_statistics.c
sql/backends/monet5/sql_user.c
sql/backends/monet5/vaults/bam/bam_lib.c
sql/backends/monet5/vaults/fits/fits.c
sql/backends/monet5/vaults/lidar/lidar.c
sql/backends/monet5/vaults/netcdf/netcdf.c
sql/backends/monet5/vaults/shp/shp.c
sql/jdbc/tests/Tests/All
sql/server/rel_partition.c
sql/server/rel_select.c
sql/server/rel_select.h
sql/server/rel_semantic.c
sql/server/rel_updates.c
sql/server/sql_atom.c
sql/server/sql_mvc.c
sql/server/sql_parser.y
sql/storage/bat/bat_logger.c
sql/storage/bat/bat_storage.c
sql/storage/bat/bat_table.c
sql/storage/bat/bat_utils.c
sql/storage/bat/bat_utils.h
sql/storage/bat/res_table.c
sql/storage/store.c
sql/test/BugDay_2005-11-09_2.9.3/Tests/hang_on_copy_into.SF-1100504.stable.err
sql/test/BugTracker-2011/Tests/All
sql/test/BugTracker-2016/Tests/malformed-copy-int.Bug-3987.stable.err
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/leaks/Tests/check1.stable.out
sql/test/leaks/Tests/check1.stable.out.int128
sql/test/leaks/Tests/check2.stable.out
sql/test/leaks/Tests/check2.stable.out.int128
sql/test/leaks/Tests/check3.stable.out
sql/test/leaks/Tests/check3.stable.out.int128
sql/test/leaks/Tests/check4.stable.out
sql/test/leaks/Tests/check4.stable.out.int128
sql/test/leaks/Tests/check5.stable.out
sql/test/leaks/Tests/check5.stable.out.int128
sql/test/mergetables/Tests/All
sql/test/pg_regress/Tests/point.sql
sql/test/pg_regress/Tests/point.stable.err
sql/test/pg_regress/Tests/point.stable.out
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out
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/dump.stable.out
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/dump.stable.out
sql/test/testdb-upgrade/Tests/dump.stable.out.Windows
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/Makefile.ag
testing/Mtest.py.in
Branch: pythonloader
Log Message:
Merge with default.
diffs (truncated from 141991 to 300 lines):
diff --git a/clients/Tests/All b/clients/Tests/All
--- a/clients/Tests/All
+++ b/clients/Tests/All
@@ -1,4 +1,4 @@
exports
-HAVE_FITS&HAVE_GEOM&HAVE_GSL&HAVE_LIBR&!HAVE_LIDAR&HAVE_NETCDF&HAVE_SAMTOOLS&HAVE_SHP&HAVE_SPHINXCLIENT?MAL-signatures
+HAVE_FITS&HAVE_GEOM&HAVE_GSL&HAVE_LIBPY&HAVE_LIBR&!HAVE_LIDAR&HAVE_NETCDF&HAVE_SAMTOOLS&HAVE_SHP&HAVE_SPHINXCLIENT?MAL-signatures
!BITS32&!BITS64OID32&HAVE_FITS&HAVE_GEOM&HAVE_GSL&!HAVE_LIDAR&HAVE_NETCDF&HAVE_PCRE&HAVE_SHP&HAVE_SAMTOOLS?SQL-dump
MERCURIAL?malcheck
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
@@ -24024,18 +24024,10 @@ command bat.setTransient(b:bat[:any_1]):
address BKCsetTransient;
comment Make the BAT transient. Returns boolean which indicates if
theBAT administration has indeed changed.
-command bat.setColumn(b:bat[:any_1],h:str,t:str):void
-address BKCsetColumns;
-comment Give both columns of a BAT a new name.
-
command bat.setColumn(b:bat[:any_1],t:str):void
address BKCsetColumn;
comment Give a logical name to the tail column of a BAT.
-command bat.setRole(b:bat[:any_1],h:str,t:str):void
-address BKCsetRole;
-comment Give a logical name to the columns of a BAT.
-
command bat.setName(b:bat[:any_1],s:str):void
address BKCsetName;
comment Give a logical name to a BAT.
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
@@ -31883,18 +31883,10 @@ command bat.setTransient(b:bat[:any_1]):
address BKCsetTransient;
comment Make the BAT transient. Returns boolean which indicates if
theBAT administration has indeed changed.
-command bat.setColumn(b:bat[:any_1],h:str,t:str):void
-address BKCsetColumns;
-comment Give both columns of a BAT a new name.
-
command bat.setColumn(b:bat[:any_1],t:str):void
address BKCsetColumn;
comment Give a logical name to the tail column of a BAT.
-command bat.setRole(b:bat[:any_1],h:str,t:str):void
-address BKCsetRole;
-comment Give a logical name to the columns of a BAT.
-
command bat.setName(b:bat[:any_1],s:str):void
address BKCsetName;
comment Give a logical name to a BAT.
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
@@ -7,6 +7,7 @@ stdout of test 'exports` in directory 'c
# gdk
void ALIGNsetH(BAT *b1, BAT *b2);
+void ALIGNsetT(BAT *b1, BAT *b2);
int ALIGNsynced(BAT *b1, BAT *b2);
int ATOMallocate(const char *nme);
int ATOMcmp(int id, const void *v_1, const void *v_2);
@@ -132,6 +133,7 @@ BAT *BATgroupvariance_population(BAT *b,
BAT *BATgroupvariance_sample(BAT *b, BAT *g, BAT *e, BAT *s, int tp, int
skip_nils, int abort_on_error);
BUN BATgrows(BAT *b);
gdk_return BAThash(BAT *b, BUN masksize);
+void BAThseqbase(BAT *b, oid o);
gdk_return BATimprints(BAT *b);
BAT *BATintersectcand(BAT *a, BAT *b);
gdk_return BATjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int
nil_matches, BUN estimate);
@@ -144,7 +146,6 @@ void *BATmin(BAT *b, void *aggr);
gdk_return BATmode(BAT *b, int onoff);
void BATmsync(BAT *b);
int BATname(BAT *b, const char *nme);
-BAT *BATnew(int hdtype, int tltype, BUN capacity, int role)
__attribute__((warn_unused_result));
int BATordered(BAT *b);
int BATordered_rev(BAT *b);
gdk_return BATorderidx(BAT *b, int stable);
@@ -157,12 +158,11 @@ BAT *BATproject(BAT *l, BAT *r);
BAT *BATprojectchain(BAT **bats);
gdk_return BATrangejoin(BAT **r1p, BAT **r2p, BAT *l, BAT *rl, BAT *rh, BAT
*sl, BAT *sr, int li, int hi, BUN estimate);
gdk_return BATreplace(BAT *b, BAT *p, BAT *n, bit force);
-void BATroles(BAT *b, const char *hnme, const char *tnme);
+void BATroles(BAT *b, const char *tnme);
BAT *BATsample(BAT *b, BUN n);
gdk_return BATsave(BAT *b);
BAT *BATselect(BAT *b, BAT *s, const void *tl, const void *th, int li, int hi,
int anti);
gdk_return BATsemijoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr,
int nil_matches, BUN estimate);
-void BATseqbase(BAT *b, oid o);
gdk_return BATsetaccess(BAT *b, int mode);
void BATsetcapacity(BAT *b, BUN cnt);
void BATsetcount(BAT *b, BUN cnt);
@@ -173,6 +173,7 @@ gdk_return BATsubcross(BAT **r1p, BAT **
gdk_return BATsum(void *res, int tp, BAT *b, BAT *s, int skip_nils, int
abort_on_error, int nil_if_empty);
gdk_return BATthetajoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT
*sr, int op, int nil_matches, BUN estimate);
BAT *BATthetaselect(BAT *b, BAT *s, const void *val, const char *op);
+void BATtseqbase(BAT *b, oid o);
void BATundo(BAT *b);
BAT *BATunique(BAT *b, BAT *s);
BBPrec *BBP[N_BBPINIT];
@@ -205,11 +206,18 @@ gdk_return BUNdelete(BAT *b, oid o);
BUN BUNfnd(BAT *b, const void *right);
gdk_return BUNinplace(BAT *b, BUN p, const void *right, bit force);
BAT *COLcopy(BAT *b, int tt, int writeable, int role);
+BAT *COLnew(oid hseq, int tltype, BUN capacity, int role)
__attribute__((warn_unused_result));
size_t GDK_mem_maxsize;
size_t GDK_vm_maxsize;
int GDK_vm_trim;
int GDKatomcnt;
+size_t GDKbatcopy(char *dest, BAT *bat, str colname);
+size_t GDKbatcopysize(BAT *bat, str colname);
+size_t GDKbatread(char *src, BAT **bat, str *colname);
+gdk_return GDKchangesemval(int sem_id, int number, int change, str *msg);
+gdk_return GDKchangesemval_timeout(int sem_id, int number, int change, int
timeout_mseconds, bool *succeed, str *msg);
gdk_return GDKcreatedir(const char *nme);
+gdk_return GDKcreatesem(int id, int count, int *semid, str *msg);
int GDKdebug;
void GDKerror(_In_z_ _Printf_format_string_ const char *format, ...)
__attribute__((__format__(__printf__, 1, 2)));
void GDKexit(int status) __attribute__((__noreturn__));
@@ -227,7 +235,10 @@ char *GDKgetenv(const char *name);
int GDKgetenv_int(const char *name, int def);
int GDKgetenv_istrue(const char *name);
int GDKgetenv_isyes(const char *name);
+gdk_return GDKgetsem(int sem_id, int count, int *semid, str *msg);
+gdk_return GDKgetsemval(int sem_id, int number, int *semval, str *msg);
int GDKinit(opt *set, int setlen);
+gdk_return GDKinitmmap(size_t id, size_t size, void **return_ptr, size_t
*return_size, str *msg);
BAT *GDKkey;
ATOMIC_TYPE volatile GDKlockcnt;
ATOMIC_TYPE volatile GDKlockcontentioncnt;
@@ -239,6 +250,7 @@ void *GDKmalloc(size_t size) __attribute
size_t GDKmem_cursize(void);
gdk_return GDKmergeidx(BAT *b, BAT **a, int n_ar);
void *GDKmmap(const char *path, int mode, size_t len);
+gdk_return GDKmmapfile(str buffer, size_t max, size_t id);
int GDKms(void);
int GDKnr_threads;
void GDKprepareExit(void);
@@ -246,6 +258,8 @@ void GDKqsort(void *h, void *t, const vo
void GDKqsort_rev(void *h, void *t, const void *base, size_t n, int hs, int
ts, int tpe);
void *GDKrealloc(void *pold, size_t size)
__attribute__((__warn_unused_result__));
void GDKregister(MT_Id pid);
+gdk_return GDKreleasemmap(void *ptr, size_t size, size_t id, str *msg);
+gdk_return GDKreleasesem(int sem_id, str *msg);
void GDKreset(int status);
void GDKsetenv(str name, str value);
ssize_t GDKstrFromStr(unsigned char *dst, const unsigned char *src, ssize_t
len);
@@ -253,7 +267,8 @@ str GDKstrdup(const char *s) __attribute
str GDKstrndup(const char *s, size_t n)
__attribute__((__warn_unused_result__));
void GDKsyserror(_In_z_ _Printf_format_string_ const char *format, ...)
__attribute__((__format__(__printf__, 1, 2)));
ThreadRec GDKthreads[THREADS];
-gdk_return GDKupgradevarheap(COLrec *c, var_t v, int copyall, int mayshare);
+size_t GDKuniqueid(size_t offset);
+gdk_return GDKupgradevarheap(BAT *b, var_t v, int copyall, int mayshare);
lng GDKusec(void);
BAT *GDKval;
const char *GDKversion(void);
@@ -768,7 +783,6 @@ str BATXMLxml2str(bat *ret, const bat *b
str BATXMLxmltext(bat *ret, const bat *bid);
str BATXMLxquery(bat *ret, const bat *bid, const char *const *expr);
str BKCappend_force_wrap(bat *r, const bat *bid, const bat *uid, const bit
*force);
-str BKCappend_reverse_val_wrap(bat *r, const bat *bid, const void *u);
str BKCappend_val_force_wrap(bat *r, const bat *bid, const void *u, const bit
*force);
str BKCappend_val_wrap(bat *r, const bat *bid, const void *u);
str BKCappend_wrap(bat *r, const bat *bid, const bat *uid);
@@ -806,12 +820,10 @@ str BKCsave(bit *res, const char *const
str BKCsave2(void *r, const bat *bid);
str BKCsetAccess(bat *res, const bat *bid, const char *const *param);
str BKCsetColumn(void *r, const bat *bid, const char *const *tname);
-str BKCsetColumns(void *r, const bat *bid, const char *const *hname, const
char *const *tname);
str BKCsetHash(bit *ret, const bat *bid);
str BKCsetImprints(bit *ret, const bat *bid);
str BKCsetName(void *r, const bat *bid, const char *const *s);
str BKCsetPersistent(void *r, const bat *bid);
-char *BKCsetRole(void *r, const bat *bid, const char *const *hname, const char
*const *tname);
str BKCsetTransient(void *r, const bat *bid);
str BKCsetkey(bat *res, const bat *bid, const bit *param);
str BKCshrinkBAT(bat *ret, const bat *bid, const bat *did);
diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c
--- a/clients/mapiclient/mclient.c
+++ b/clients/mapiclient/mclient.c
@@ -1995,6 +1995,8 @@ doFileBulk(Mapi mid, stream *fp)
buf = malloc(bufsize + 1);
if (!buf) {
fprintf(stderr, "cannot allocate memory for send buffer\n");
+ if (fp)
+ close_stream(fp);
return 1;
}
@@ -2067,6 +2069,8 @@ doFileBulk(Mapi mid, stream *fp)
free(buf);
mnstr_flush(toConsole);
+ if (fp)
+ close_stream(fp);
return errseen;
}
@@ -2637,11 +2641,12 @@ doFile(Mapi mid, stream *fp, int useinse
* convert filename from UTF-8
* to locale */
if ((s = open_rastream(line)) == NULL ||
- mnstr_errnr(s))
+ mnstr_errnr(s)) {
+ if (s)
+ close_stream(s);
fprintf(stderr, "%s: cannot
open\n", line);
- else
+ } else
doFile(mid, s, 0, 0, 0);
- close_stream(s);
continue;
}
case '>':
@@ -2832,6 +2837,7 @@ doFile(Mapi mid, stream *fp, int useinse
if (prompt)
deinit_readline();
#endif
+ close_stream(fp);
return errseen;
}
@@ -3322,6 +3328,7 @@ main(int argc, char **argv)
if (command != NULL) {
#ifdef HAVE_ICONV
iconv_t cd_in;
+ int free_command = 0;
if (encoding != NULL &&
(cd_in = iconv_open("utf-8", encoding)) != (iconv_t) -1) {
@@ -3331,6 +3338,7 @@ main(int argc, char **argv)
int factor = 4;
size_t tolen = factor * fromlen + 1;
char *to = malloc(tolen);
+ free_command = 1;
try_again:
command = to;
@@ -3367,6 +3375,10 @@ main(int argc, char **argv)
timerStart();
c = doRequest(mid, command);
timerEnd();
+#ifdef HAVE_ICONV
+ if (free_command)
+ free(command);
+#endif
}
if (optind < argc) {
@@ -3375,7 +3387,9 @@ main(int argc, char **argv)
stream *s;
if (fp == NULL &&
- (fp = fopen(argv[optind], "r")) == NULL) {
+ (fp = (strcmp(argv[optind], "-") == 0 ?
+ stdin :
+ fopen(argv[optind], "r"))) == NULL) {
fprintf(stderr, "%s: cannot open\n",
argv[optind]);
c |= 1;
} else if ((s = file_rastream(fp, argv[optind])) ==
NULL) {
@@ -3383,7 +3397,6 @@ main(int argc, char **argv)
c |= 1;
} else {
c |= doFile(mid, s, useinserts, interactive,
save_history);
- close_stream(s);
}
fp = NULL;
optind++;
@@ -3394,7 +3407,6 @@ main(int argc, char **argv)
if (!has_fileargs && command == NULL) {
stream *s = file_rastream(stdin, "<stdin>");
c = doFile(mid, s, useinserts, interactive, save_history);
- mnstr_destroy(s);
}
mapi_destroy(mid);
diff --git a/clients/mapiclient/msqldump.c b/clients/mapiclient/msqldump.c
--- a/clients/mapiclient/msqldump.c
+++ b/clients/mapiclient/msqldump.c
@@ -222,12 +222,12 @@ main(int argc, char **argv)
c = dump_database(mid, out, describe, useinserts);
mnstr_flush(out);
- mapi_disconnect(mid);
+ mapi_destroy(mid);
if (mnstr_errnr(out)) {
fprintf(stderr, "%s: %s", argv[0], mnstr_error(out));
return 1;
}
+ mnstr_destroy(out);
return c;
-
}
diff --git a/common/stream/stream.c b/common/stream/stream.c
--- a/common/stream/stream.c
+++ b/common/stream/stream.c
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list