MonetDB: newstorage - merge with default
Changeset: f688685972ab for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f688685972ab Modified Files: clients/Tests/exports.stable.out gdk/gdk_atoms.c gdk/gdk_group.c monetdb5/extras/mal_optimizer_template/opt_sql_append.c monetdb5/mal/mal_listing.c monetdb5/mal/mal_profiler.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/optimizer/Tests/CMexample.stable.out monetdb5/optimizer/Tests/inlineCst.stable.out monetdb5/optimizer/Tests/inlineIfthen.stable.out monetdb5/optimizer/opt_coercion.c monetdb5/optimizer/opt_commonTerms.c monetdb5/optimizer/opt_costModel.c monetdb5/optimizer/opt_joinpath.c monetdb5/optimizer/opt_macro.c monetdb5/optimizer/opt_matpack.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_multiplex.c monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_support.c monetdb5/optimizer/opt_support.h monetdb5/optimizer/opt_wrapper.c monetdb5/tests/BugTracker/Tests/algebra_project.Bug-3045.mal monetdb5/tests/BugTracker/Tests/algebra_project.Bug-3045.stable.out sql/backends/monet5/sql_optimizer.c sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out.32bit tools/merovingian/daemon/client.c Branch: newstorage Log Message: merge with default diffs (truncated from 1286 to 300 lines): 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 @@ -764,8 +764,6 @@ str ALGmaxany(ptr result, const bat *bid str ALGminany(ptr result, const bat *bid); str ALGouterjoin(bat *result, const bat *lid, const bat *rid); str ALGouterjoinestimate(bat *result, const bat *lid, const bat *rid, const lng *estimate); -str ALGprojectNIL(bat *ret, const bat *bid); -str ALGprojecthead(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str ALGprojecttail(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str ALGrangejoin(bat *result, const bat *lid, const bat *rlid, const bat *rhid, const bit *li, const bit *hi); str ALGrangejoin2(bat *l, bat *r, const bat *lid, const bat *rlid, const bat *rhid, const bit *li, const bit *hi); diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c --- a/gdk/gdk_atoms.c +++ b/gdk/gdk_atoms.c @@ -583,56 +583,47 @@ numFromStr(const char *src, int *len, vo int sz = ATOMsize(tp); #ifdef HAVE_HGE hge base = 0; - hge maxdiv10 = 0; /* max value / 10 */ + const hge maxdiv10 = GDK_hge_max / 10; #else lng base = 0; - lng maxdiv10 = 0; /* max value / 10 */ + const lng maxdiv10 = LL_CONSTANT(922337203685477580); /*7*/ #endif - int maxmod10 = 7; /* max value % 10 */ - int sign = 1; + const int maxmod10 = 7; /* max value % 10 */ + int sign; atommem(void, sz); while (GDKisspace(*p)) p++; - memcpy(*dst, ATOMnilptr(tp), sz); - if (p[0] == 'n' p[1] == 'i' p[2] == 'l') { - p += 3; - return (int) (p - src); - } - if (*p == '-') { + switch (*p) { + case 'n': + memcpy(*dst, ATOMnilptr(tp), sz); + if (p[1] == 'i' p[2] == 'l') { + p += 3; + return (int) (p - src); + } + /* not a number */ + return 0; + case '-': sign = -1; p++; - } else if (*p == '+') { + break; + case '+': p++; + /* fall through */ + default: + sign = 1; + break; } if (!num10(*p)) { /* not a number */ + memcpy(*dst, ATOMnilptr(tp), sz); return 0; } - switch (sz) { - case 1: - maxdiv10 = 12/*7*/; - break; - case 2: - maxdiv10 = 3276/*7*/; - break; - case 4: - maxdiv10 = 214748364/*7*/; - break; - case 8: - maxdiv10 = LL_CONSTANT(922337203685477580)/*7*/; - break; -#ifdef HAVE_HGE - case 16: - maxdiv10 = GDK_hge_max / 10; - // 17014118346046923173168730371588410572/*7*/; - break; -#endif - } do { if (base maxdiv10 || (base == maxdiv10 base10(*p) maxmod10)) { /* overflow */ + memcpy(*dst, ATOMnilptr(tp), sz); return 0; } base = 10 * base + base10(*p); @@ -642,21 +633,39 @@ numFromStr(const char *src, int *len,
MonetDB: newstorage - merge with default
Changeset: 09dcf82952ce for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=09dcf82952ce Added Files: geom/sql/Tests/T1.reqtests geom/sql/Tests/T1.stable.err geom/sql/Tests/T1.stable.out geom/sql/Tests/T10.reqtests geom/sql/Tests/T11.reqtests geom/sql/Tests/T12.reqtests geom/sql/Tests/T13.reqtests geom/sql/Tests/T13.stable.err geom/sql/Tests/T13.stable.out geom/sql/Tests/T14.reqtests geom/sql/Tests/T14.stable.err geom/sql/Tests/T14.stable.out geom/sql/Tests/T15.reqtests geom/sql/Tests/T15.stable.err geom/sql/Tests/T15.stable.out geom/sql/Tests/T16.reqtests geom/sql/Tests/T17.reqtests geom/sql/Tests/T17.stable.err geom/sql/Tests/T17.stable.out geom/sql/Tests/T18.reqtests geom/sql/Tests/T18.stable.err geom/sql/Tests/T18.stable.out geom/sql/Tests/T19.reqtests geom/sql/Tests/T19.stable.err geom/sql/Tests/T19.stable.out geom/sql/Tests/T2.reqtests geom/sql/Tests/T2.stable.err geom/sql/Tests/T2.stable.out geom/sql/Tests/T20.reqtests geom/sql/Tests/T20.stable.err geom/sql/Tests/T20.stable.out geom/sql/Tests/T21.reqtests geom/sql/Tests/T22.reqtests geom/sql/Tests/T22.stable.err geom/sql/Tests/T22.stable.out geom/sql/Tests/T23.reqtests geom/sql/Tests/T23.stable.err geom/sql/Tests/T23.stable.out geom/sql/Tests/T24.reqtests geom/sql/Tests/T24.stable.err geom/sql/Tests/T24.stable.out geom/sql/Tests/T25.reqtests geom/sql/Tests/T25.stable.err geom/sql/Tests/T25.stable.out geom/sql/Tests/T26.reqtests geom/sql/Tests/T27.reqtests geom/sql/Tests/T27.stable.err geom/sql/Tests/T27.stable.out geom/sql/Tests/T28.reqtests geom/sql/Tests/T28.stable.err geom/sql/Tests/T28.stable.out geom/sql/Tests/T29.reqtests geom/sql/Tests/T29.stable.err geom/sql/Tests/T29.stable.out geom/sql/Tests/T3.reqtests geom/sql/Tests/T3.stable.err geom/sql/Tests/T3.stable.out geom/sql/Tests/T30.reqtests geom/sql/Tests/T30.stable.err geom/sql/Tests/T30.stable.out geom/sql/Tests/T31.reqtests geom/sql/Tests/T31.stable.err geom/sql/Tests/T31.stable.out geom/sql/Tests/T32.reqtests geom/sql/Tests/T32.stable.err geom/sql/Tests/T32.stable.out geom/sql/Tests/T33.reqtests geom/sql/Tests/T34.reqtests geom/sql/Tests/T34.stable.err geom/sql/Tests/T34.stable.out geom/sql/Tests/T35.reqtests geom/sql/Tests/T35.stable.err geom/sql/Tests/T35.stable.out geom/sql/Tests/T36.reqtests geom/sql/Tests/T36.sql geom/sql/Tests/T36.stable.err geom/sql/Tests/T36.stable.out geom/sql/Tests/T37.reqtests geom/sql/Tests/T38.reqtests geom/sql/Tests/T39.reqtests geom/sql/Tests/T4.reqtests geom/sql/Tests/T4.stable.err geom/sql/Tests/T4.stable.out geom/sql/Tests/T40.reqtests geom/sql/Tests/T41.reqtests geom/sql/Tests/T42.reqtests geom/sql/Tests/T43.reqtests geom/sql/Tests/T43.stable.err geom/sql/Tests/T43.stable.out geom/sql/Tests/T44.reqtests geom/sql/Tests/T45.reqtests geom/sql/Tests/T46.reqtests geom/sql/Tests/T47.reqtests geom/sql/Tests/T48.reqtests geom/sql/Tests/T49.reqtests geom/sql/Tests/T49.stable.err geom/sql/Tests/T49.stable.out geom/sql/Tests/T5.reqtests geom/sql/Tests/T50.reqtests geom/sql/Tests/T51.reqtests geom/sql/Tests/T52.reqtests geom/sql/Tests/T6.reqtests geom/sql/Tests/T7.reqtests geom/sql/Tests/T7.stable.err geom/sql/Tests/T7.stable.out geom/sql/Tests/T8.reqtests geom/sql/Tests/T9.reqtests geom/sql/Tests/T9.stable.err geom/sql/Tests/T9.stable.out geom/sql/Tests/binary.sql geom/sql/Tests/binary.stable.err geom/sql/Tests/binary.stable.out geom/sql/Tests/conformance_drop.sql geom/sql/Tests/conformance_drop.stable.err geom/sql/Tests/conformance_drop.stable.out geom/sql/Tests/conformance_load.sql geom/sql/Tests/conformance_load.stable.err geom/sql/Tests/conformance_load.stable.out geom/sql/Tests/normalized.sql geom/sql/Tests/normalized.stable.err geom/sql/Tests/normalized.stable.out Removed Files: geom/sql/Tests/ogc_conformance.sql geom/sql/Tests/ogc_conformance.stable.err geom/sql/Tests/ogc_conformance.stable.out geom/sql/Tests/ogc_destroy.sql geom/sql/Tests/ogc_destroy.stable.err geom/sql/Tests/ogc_destroy.stable.out