MonetDB: default - In Debian build, remove files from versioned ...
Changeset: 6504d15c154f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/6504d15c154f Modified Files: debian/rules Branch: default Log Message: In Debian build, remove files from versioned directory. diffs (16 lines): diff --git a/debian/rules b/debian/rules --- a/debian/rules +++ b/debian/rules @@ -55,9 +55,9 @@ override_dh_auto_install: dh_auto_install rm debian/tmp/usr/bin/monetdb_mtest.sh rm -r debian/tmp/usr/share/monetdb - rm debian/tmp/usr/lib/*/monetdb5/lib_opt_sql_append.so - rm debian/tmp/usr/lib/*/monetdb5/lib_microbenchmark*.so - rm debian/tmp/usr/lib/*/monetdb5/lib_udf*.so + rm debian/tmp/usr/lib/*/monetdb5*/lib_opt_sql_append.so + rm debian/tmp/usr/lib/*/monetdb5*/lib_microbenchmark*.so + rm debian/tmp/usr/lib/*/monetdb5*/lib_udf*.so override_dh_installsystemd: dh_installsystemd --no-enable --no-start ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: default - Improved overflow check when materializing ge...
Changeset: e662b1463c8e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/e662b1463c8e Modified Files: sql/backends/monet5/generator/generator.c Branch: default Log Message: Improved overflow check when materializing generator series. diffs (258 lines): diff --git a/sql/backends/monet5/generator/generator.c b/sql/backends/monet5/generator/generator.c --- a/sql/backends/monet5/generator/generator.c +++ b/sql/backends/monet5/generator/generator.c @@ -74,83 +74,93 @@ VLTgenerator_noop(Client cntxt, MalBlkPt return MAL_SUCCEED; } -#define check_bte() (s > 0 ? f > l : f < l) -#define check_sht() (s > 0 ? f > l : f < l) -#define check_int() (s > 0 ? f > l : f < l) +#define check_bte() ((void)0) +#define check_sht() ((void)0) #if SIZEOF_BUN < SIZEOF_LNG -#define check_lng() (s > 0 ? f > l || s > (lng) BUN_MAX : f < l || s < -(lng) BUN_MAX) +#define check_int() \ + do { \ + if (cnt > (unsigned int) BUN_MAX) \ + throw(MAL, "generator.table", \ + SQLSTATE(42000) "Illegal generator range"); \ + } while (0) #else -#define check_lng() (s > 0 ? f > l : f < l) +#define check_int() ((void)0) #endif +#define check_lng() \ + do { \ + if (cnt > (ulng) BUN_MAX) \ + throw(MAL, "generator.table", \ + SQLSTATE(42000) "Illegal generator range"); \ + } while (0) #ifdef HAVE_HGE -#define check_hge() (s > 0 ? f > l || s > (lng) BUN_MAX : f < l || s < -(lng) BUN_MAX) +#define check_hge() \ + do { \ + if (cnt > (uhge) BUN_MAX) \ + throw(MAL, "generator.table", \ + SQLSTATE(42000) "Illegal generator range"); \ + } while (0) #endif -/* - * The base line consists of materializing the generator iterator value - */ -#define VLTmaterialize(TPE) \ +#define VLTmaterialize(TPE, uTPE) \ do { \ - TPE *v, f, l, s; \ + TPE f, l, s; \ + uTPE cnt; \ + \ f = *getArgReference_##TPE(stk, pci, 1); \ l = *getArgReference_##TPE(stk, pci, 2); \ if ( pci->argc == 3) \ - s = f<=l? (TPE) 1: (TPE)-1; \ - else s = *getArgReference_##TPE(stk,pci, 3); \ - if (s == 0 || is_##TPE##_nil(f) || is_##TPE##_nil(l) || check_##TPE()) \ + s = f <= l ? (TPE) 1 : (TPE) -1; \ + else \ + s = *getArgReference_##TPE(stk,pci, 3); \ + if (s == 0 || is_##TPE##_nil(f) || is_##TPE##_nil(l) || is_##TPE##_nil(s)) \ throw(MAL, "generator.table", \ SQLSTATE(42000) "Illegal g
MonetDB: default - fixed bug #7488, for ranges where the end is ...
Changeset: c803f8ba800b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/c803f8ba800b Modified Files: gdk/gdk_analytic.h gdk/gdk_analytic_func.c sql/test/BugTracker-2024/Tests/orderby-max-over-rows-Bug-7488.test Branch: default Log Message: fixed bug #7488, for ranges where the end is before the beginning skip computation of the window function using the segment tree diffs (44 lines): diff --git a/gdk/gdk_analytic.h b/gdk/gdk_analytic.h --- a/gdk/gdk_analytic.h +++ b/gdk/gdk_analytic.h @@ -98,13 +98,14 @@ gdk_export gdk_return GDKrebuild_segment do { /* taken from https://www.vldb.org/pvldb/vol8/p1058-leis.pdf */ \ oid begin = START, tend = END; \ CAST computed; \ - \ INIT_AGGREGATE(ARG1, ARG2, ARG3); \ + if (begin < tend) \ for (oid level = 0; level < nlevels; level++) { \ CAST *tlevel = (CAST *) segment_tree + levels_offset[level]; \ oid parent_begin = begin / SEGMENT_TREE_FANOUT; \ oid parent_end = tend / SEGMENT_TREE_FANOUT;\ \ + \ if (parent_begin == parent_end) { \ for (oid pos = begin; pos < tend; pos++) \ COMPUTE(tlevel[pos], ARG1, ARG2, ARG3); \ diff --git a/gdk/gdk_analytic_func.c b/gdk/gdk_analytic_func.c --- a/gdk/gdk_analytic_func.c +++ b/gdk/gdk_analytic_func.c @@ -37,7 +37,7 @@ GDKrebuild_segment_tree(oid ncount, oid assert(ncount > 0); do { /* compute the next number of levels */ - counter = (oid) ceil((dbl)counter / SEGMENT_TREE_FANOUT); + counter = (counter+(SEGMENT_TREE_FANOUT-1)) / SEGMENT_TREE_FANOUT; next_tree_size += counter; next_levels++; } while (counter > 1); diff --git a/sql/test/BugTracker-2024/Tests/orderby-max-over-rows-Bug-7488.test b/sql/test/BugTracker-2024/Tests/orderby-max-over-rows-Bug-7488.test --- a/sql/test/BugTracker-2024/Tests/orderby-max-over-rows-Bug-7488.test +++ b/sql/test/BugTracker-2024/Tests/orderby-max-over-rows-Bug-7488.test @@ -3,8 +3,7 @@ SELECT 0.10 FROM dependencies ORDER 0.100 -skipif knownfail query R nosort -SELECT 0.10 FROM dependencies ORDER BY max ( 'y' ) OVER ( ROWS BETWEEN 1.10 PRECEDING AND 8 PRECEDING ) +SELECT 0.10 FROM dependencies ORDER BY max ( 'y' ) OVER ( ROWS BETWEEN 1.10 PRECEDING AND 8 PRECEDING ) limit 1 0.100 ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: default - merged
Changeset: 13142ded24ef for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/13142ded24ef Branch: default Log Message: merged diffs (274 lines): diff --git a/debian/rules b/debian/rules --- a/debian/rules +++ b/debian/rules @@ -55,9 +55,9 @@ override_dh_auto_install: dh_auto_install rm debian/tmp/usr/bin/monetdb_mtest.sh rm -r debian/tmp/usr/share/monetdb - rm debian/tmp/usr/lib/*/monetdb5/lib_opt_sql_append.so - rm debian/tmp/usr/lib/*/monetdb5/lib_microbenchmark*.so - rm debian/tmp/usr/lib/*/monetdb5/lib_udf*.so + rm debian/tmp/usr/lib/*/monetdb5*/lib_opt_sql_append.so + rm debian/tmp/usr/lib/*/monetdb5*/lib_microbenchmark*.so + rm debian/tmp/usr/lib/*/monetdb5*/lib_udf*.so override_dh_installsystemd: dh_installsystemd --no-enable --no-start diff --git a/sql/backends/monet5/generator/generator.c b/sql/backends/monet5/generator/generator.c --- a/sql/backends/monet5/generator/generator.c +++ b/sql/backends/monet5/generator/generator.c @@ -74,83 +74,93 @@ VLTgenerator_noop(Client cntxt, MalBlkPt return MAL_SUCCEED; } -#define check_bte() (s > 0 ? f > l : f < l) -#define check_sht() (s > 0 ? f > l : f < l) -#define check_int() (s > 0 ? f > l : f < l) +#define check_bte() ((void)0) +#define check_sht() ((void)0) #if SIZEOF_BUN < SIZEOF_LNG -#define check_lng() (s > 0 ? f > l || s > (lng) BUN_MAX : f < l || s < -(lng) BUN_MAX) +#define check_int() \ + do { \ + if (cnt > (unsigned int) BUN_MAX) \ + throw(MAL, "generator.table", \ + SQLSTATE(42000) "Illegal generator range"); \ + } while (0) #else -#define check_lng() (s > 0 ? f > l : f < l) +#define check_int() ((void)0) #endif +#define check_lng() \ + do { \ + if (cnt > (ulng) BUN_MAX) \ + throw(MAL, "generator.table", \ + SQLSTATE(42000) "Illegal generator range"); \ + } while (0) #ifdef HAVE_HGE -#define check_hge() (s > 0 ? f > l || s > (lng) BUN_MAX : f < l || s < -(lng) BUN_MAX) +#define check_hge() \ + do { \ + if (cnt > (uhge) BUN_MAX) \ + throw(MAL, "generator.table", \ + SQLSTATE(42000) "Illegal generator range"); \ + } while (0) #endif -/* - * The base line consists of materializing the generator iterator value - */ -#define VLTmaterialize(TPE) \ +#define VLTmaterialize(TPE, uTPE) \ do { \ - TPE *v, f, l, s; \ + TPE f, l, s; \ + uTPE cnt; \ + \ f = *getArgReference_##TPE(stk, pci, 1); \ l = *getArgReference_##TPE(stk, pci, 2); \ if ( pci->argc == 3) \ - s = f<=l? (TPE) 1: (TPE)-1; \ - else s = *getArgReference_##TPE(stk,pci, 3); \ - if (s == 0 || is_##TPE##_nil(f) || is_##TPE##_nil(l) || check_##TPE()) \ + s = f <= l ? (TPE) 1 : (TPE) -1;
MonetDB: odbc-tls - Fix compilation error.
Changeset: 034b96f25e9a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/034b96f25e9a Modified Files: clients/odbc/winsetup/setup.c Branch: odbc-tls Log Message: Fix compilation error. diffs (18 lines): diff --git a/clients/odbc/winsetup/setup.c b/clients/odbc/winsetup/setup.c --- a/clients/odbc/winsetup/setup.c +++ b/clients/odbc/winsetup/setup.c @@ -97,12 +97,12 @@ struct data { char *port; char *database; char *schema; - bool autocommit = true; + bool autocommit; long replysize; long timezone; char *logfile; // TLS settings - bool use_tls = false; + bool use_tls; char *servercert; char *servercerthash; char *clientkey; ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Niels says, we need to dup some pointers (lik...
Changeset: d96c23f0856d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/d96c23f0856d Modified Files: sql/server/rel_select.c Branch: Dec2023 Log Message: Niels says, we need to dup some pointers (like in the other case in this file). diffs (15 lines): diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -1404,9 +1404,9 @@ rel_column_ref(sql_query *query, sql_rel return sql_error(sql, ERR_AMBIGUOUS, SQLSTATE(42000) "SELECT: identifier '%s.%s' ambiguous", tname, cname); if (v && !exp) { if (*rel) - *rel = rel_crossproduct(sql->sa, *rel, v, op_join); + *rel = rel_crossproduct(sql->sa, *rel, rel_dup(v), op_join); else - *rel = v; + *rel = rel_dup(v); if (!(exp = rel_bind_column3(sql, *rel, sname, tname, cname, f)) && sql->session->status == -ERR_AMBIGUOUS) return NULL; } ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Do not recurse if we're dealing with a trigge...
Changeset: 3b20ed670167 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/3b20ed670167 Modified Files: sql/server/rel_optimize_proj.c Branch: Dec2023 Log Message: Do not recurse if we're dealing with a trigger wrapper. diffs (12 lines): diff --git a/sql/server/rel_optimize_proj.c b/sql/server/rel_optimize_proj.c --- a/sql/server/rel_optimize_proj.c +++ b/sql/server/rel_optimize_proj.c @@ -907,7 +907,7 @@ rel_split_project_(visitor *v, sql_rel * } if (is_set(rel->op) || is_basetable(rel->op)) return rel; - if (rel->l) { + if (rel->l && (rel->op != op_table || rel->flag != TRIGGER_WRAPPER)) { rel->l = rel_split_project_(v, rel->l, (is_topn(rel->op)||is_sample(rel->op)||is_ddl(rel->op)||is_modify(rel->op))?top:0); if (!rel->l) return NULL; ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: balanced_union - Implements push_join_down_munion optim...
Changeset: 043afd5efe04 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/043afd5efe04 Modified Files: sql/server/rel_optimize_proj.c Branch: balanced_union Log Message: Implements push_join_down_munion optimizer WIP 4 diffs (59 lines): diff --git a/sql/server/rel_optimize_proj.c b/sql/server/rel_optimize_proj.c --- a/sql/server/rel_optimize_proj.c +++ b/sql/server/rel_optimize_proj.c @@ -3822,16 +3822,42 @@ rel_push_join_down_munion(visitor *v, sq } else if (!is_munion(l->op) && is_munion(r->op) && !need_distinct(r) && !is_single(r) && is_semi(rel->op) && je) { - /* {semi}join ( A1, munion (B, A2, C)) [A1.partkey = A2.partkey] -> -* {semi}join ( A1, A2 ) -* (ie a single part on n-th munion operand) + /* {semi}join ( A1, munion (B, A2a, C, A2b)) [A1.partkey = A2.partkey] -> +* {semi}join ( A1, munion (A2a, A2b)) +* (ie some parts of an n-th munion operand) * * How to detect that a relation isn't matching? * partitioning is currently done only on pkey/fkey's * ie only matching per part if join is on pkey/fkey (parts) * and part numbers should match. * */ - // TODO + int lpnr = rel_part_nr(l, je); + if (lpnr < 0) + return rel; + + list *ups = sa_list(v->sql->sa); + for (node *n = ((list*)r->l)->h; n; n = n->next) { + if (rel_uses_part_nr(n->data, je, lpnr)) { + sql_rel *pc = rel_dup(n->data); + /*if (!is_project(pc->op))*/ + /*pc = rel_project(v->sql->sa, pc,*/ + /*rel_projections(v->sql, pc, NULL, 1, 1));*/ + /*rel_rename_exps(v->sql, r->exps, pc->exps);*/ + /*if (r != or) {*/ + /*pc = rel_project(v->sql->sa, pc, NULL);*/ + /*pc->exps = exps_copy(v->sql, or->exps);*/ + /*set_processed(pc);*/ + /*}*/ + /*pc = rel_crossproduct(v->sql->sa, rel_dup(ol), pc, rel->op);*/ + /*pc->exps = exps_copy(v->sql, exps);*/ + /*pc->attr = exps_copy(v->sql, attr);*/ + /*set_processed(pc);*/ + ups = append(ups, pc); + } + } + v->changes++; + return rel_inplace_setop_n_ary(v->sql, r, ups, op_munion, + rel_projections(v->sql, rel, NULL, 1, 1)); } } return rel; @@ -3842,7 +3868,7 @@ rel_optimize_unions_topdown_(visitor *v, { rel = rel_push_project_down_union(v, rel); // TODO: implement rel_push_join_down_munion - rel = rel_push_join_down_union(v, rel); + rel = rel_push_join_down_munion(v, rel); return rel; } ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: balanced_union - Fixes memory management bugs
Changeset: 19377b09172f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/19377b09172f Modified Files: sql/server/rel_optimize_proj.c Branch: balanced_union Log Message: Fixes memory management bugs diffs (45 lines): diff --git a/sql/server/rel_optimize_proj.c b/sql/server/rel_optimize_proj.c --- a/sql/server/rel_optimize_proj.c +++ b/sql/server/rel_optimize_proj.c @@ -3737,6 +3737,7 @@ rel_push_join_down_munion(visitor *v, sq if (is_munion(l->op) && !need_distinct(l) && !is_single(l) && !is_munion(r->op)){ /* join(munion(a,b,c), d) -> munion(join(a,d), join(b,d), join(c,d)) */ + list *js = sa_list(v->sql->sa); for (node *n = ((list*)l->l)->h; n; n = n->next) { sql_rel *pc = rel_dup(n->data); if (!is_project(pc->op)) @@ -3752,10 +3753,10 @@ rel_push_join_down_munion(visitor *v, sq pc->attr = exps_copy(v->sql, attr); set_processed(pc); pc = rel_project(v->sql->sa, pc, rel_projections(v->sql, pc, NULL, 1, 1)); - n->data = pc; + js = append(js, pc); } v->changes++; - return rel_inplace_setop_n_ary(v->sql, rel, l->l, op_munion, + return rel_inplace_setop_n_ary(v->sql, rel, js, op_munion, rel_projections(v->sql, rel, NULL, 1, 1)); } else if (is_munion(l->op) && !need_distinct(l) && !is_single(l) && is_munion(r->op) && !need_distinct(r) && !is_single(r) && @@ -3799,6 +3800,7 @@ rel_push_join_down_munion(visitor *v, sq is_munion(r->op) && !need_distinct(r) && !is_single(r) && !is_semi(rel->op)) { /* join(a, munion(b,c,d)) -> munion(join(a,b), join(a,c), join(a,d)) */ + list *js = sa_list(v->sql->sa); for (node *n = ((list*)r->l)->h; n; n = n->next) { sql_rel *pc = rel_dup(n->data); if (!is_project(pc->op)) @@ -3814,10 +3816,10 @@ rel_push_join_down_munion(visitor *v, sq pc->attr = exps_copy(v->sql, attr); set_processed(pc); pc = rel_project(v->sql->sa, pc, rel_projections(v->sql, pc, NULL, 1, 1)); - n->data = pc; + js = append(js, pc); } v->changes++; - return rel_inplace_setop_n_ary(v->sql, rel, r->l, op_munion, + return rel_inplace_setop_n_ary(v->sql, rel, js, op_munion, rel_projections(v->sql, rel, NULL, 1, 1)); } else if (!is_munion(l->op) && is_munion(r->op) && !need_distinct(r) && !is_single(r) && ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: balanced_union - Dup the proper (left in this case) pro...
Changeset: cd94173fdc28 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/cd94173fdc28 Modified Files: sql/server/rel_optimize_proj.c Branch: balanced_union Log Message: Dup the proper (left in this case) projections diffs (12 lines): diff --git a/sql/server/rel_optimize_proj.c b/sql/server/rel_optimize_proj.c --- a/sql/server/rel_optimize_proj.c +++ b/sql/server/rel_optimize_proj.c @@ -3811,7 +3811,7 @@ rel_push_join_down_munion(visitor *v, sq pc->exps = exps_copy(v->sql, ol->exps); set_processed(pc); } - pc = rel_crossproduct(v->sql->sa, pc, rel_dup(or), rel->op); + pc = rel_crossproduct(v->sql->sa, pc, rel_dup(ol), rel->op); pc->exps = exps_copy(v->sql, exps); pc->attr = exps_copy(v->sql, attr); set_processed(pc); ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: balanced_union - Adapts expected relational plan
Changeset: 1d8cb62ff615 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/1d8cb62ff615 Modified Files: sql/test/rel-optimizers/Tests/join-merge-remote-replica-plan.test Branch: balanced_union Log Message: Adapts expected relational plan diffs (37 lines): diff --git a/sql/test/rel-optimizers/Tests/join-merge-remote-replica-plan.test b/sql/test/rel-optimizers/Tests/join-merge-remote-replica-plan.test --- a/sql/test/rel-optimizers/Tests/join-merge-remote-replica-plan.test +++ b/sql/test/rel-optimizers/Tests/join-merge-remote-replica-plan.test @@ -63,22 +63,20 @@ select * from foo_p1 query T nosort plan select * from foo_merge, members_rpl -union ( -| union ( +munion ( +| project ( +| | crossproduct ( +| | | table("sys"."foo_p1") [ "foo_p1"."n" UNIQUE as "foo_merge"."n", "foo_p1"."m" as "foo_merge"."m" ], +| | | table("sys"."members_n1") [ "members_n1"."n" UNIQUE as "members_rpl"."n", "members_n1"."m" UNIQUE as "members_rpl"."m", "members_n1"."%TID%" NOT NULL UNIQUE as "members_rpl"."%TID%" ] +| | ) [ ] +| ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ], +| table ( | | project ( | | | crossproduct ( -| | | | table("sys"."foo_p1") [ "foo_p1"."n" UNIQUE as "foo_merge"."n", "foo_p1"."m" as "foo_merge"."m" ], -| | | | table("sys"."members_n1") [ "members_n1"."n" UNIQUE as "members_rpl"."n", "members_n1"."m" UNIQUE as "members_rpl"."m", "members_n1"."%TID%" NOT NULL UNIQUE as "members_rpl"."%TID%" ] +| | | | REMOTE("sys"."foo_p2") [ "foo_p2"."n" as "foo_merge"."n", "foo_p2"."m" as "foo_merge"."m" ], +| | | | REMOTE("sys"."members_n2") [ "members_n2"."n" as "members_rpl"."n", "members_n2"."m" as "members_rpl"."m", "members_n2"."%TID%" NOT NULL UNIQUE as "members_rpl"."%TID%" ] | | | ) [ ] -| | ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ], -| | table ( -| | | project ( -| | | | crossproduct ( -| | | | | REMOTE("sys"."foo_p2") [ "foo_p2"."n" as "foo_merge"."n", "foo_p2"."m" as "foo_merge"."m" ], -| | | | | REMOTE("sys"."members_n2") [ "members_n2"."n" as "members_rpl"."n", "members_n2"."m" as "members_rpl"."m", "members_n2"."%TID%" NOT NULL UNIQUE as "members_rpl"."%TID%" ] -| | | | ) [ ] -| | | ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ] REMOTE mapi:monetdb://localhost:50002/node2 -| | ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ] +| | ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ] REMOTE mapi:monetdb://localhost:50002/node2 | ) [ "foo_merge"."n", "foo_merge"."m", "members_rpl"."n", "members_rpl"."m" ], | table ( | | project ( ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: odbc-tls - Add missing mapi_exports in msettings.h
Changeset: 91a00ebed819 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/91a00ebed819 Modified Files: clients/mapilib/msettings.h Branch: odbc-tls Log Message: Add missing mapi_exports in msettings.h diffs (55 lines): diff --git a/clients/mapilib/msettings.h b/clients/mapilib/msettings.h --- a/clients/mapilib/msettings.h +++ b/clients/mapilib/msettings.h @@ -91,9 +91,9 @@ mparm_classify(mparm parm) /* returns NULL if not found, pointer to mparm if found */ mapi_export mparm mparm_parse(const char *name); -const char *mparm_name(mparm parm); -mparm mparm_enumerate(int i); -bool mparm_is_core(mparm parm); +mapi_export const char *mparm_name(mparm parm); +mapi_export mparm mparm_enumerate(int i); +mapi_export bool mparm_is_core(mparm parm); / @@ -112,8 +112,8 @@ mapi_export bool msettings_malloc_failed /* returns NULL if could not allocate */ mapi_export msettings *msettings_create(void); -msettings *msettings_clone(const msettings *mp); -extern const msettings *msettings_default; +mapi_export msettings *msettings_clone(const msettings *mp); +mapi_export const msettings *msettings_default; /* always returns NULL */ mapi_export msettings *msettings_destroy(msettings *mp); @@ -121,21 +121,21 @@ mapi_export msettings *msettings_destroy /* retrieve and set; call abort() on type error */ mapi_export const char* msetting_string(const msettings *mp, mparm parm); -msettings_error msetting_set_string(msettings *mp, mparm parm, const char* value) +mapi_export msettings_error msetting_set_string(msettings *mp, mparm parm, const char* value) __attribute__((__nonnull__(3))); mapi_export long msetting_long(const msettings *mp, mparm parm); -msettings_error msetting_set_long(msettings *mp, mparm parm, long value); +mapi_export msettings_error msetting_set_long(msettings *mp, mparm parm, long value); mapi_export bool msetting_bool(const msettings *mp, mparm parm); -msettings_error msetting_set_bool(msettings *mp, mparm parm, bool value); +mapi_export msettings_error msetting_set_bool(msettings *mp, mparm parm, bool value); /* parse into the appropriate type, or format into newly malloc'ed string (NULL means malloc failed) */ -msettings_error msetting_parse(msettings *mp, mparm parm, const char *text); -char *msetting_as_string(const msettings *mp, mparm parm); +mapi_export msettings_error msetting_parse(msettings *mp, mparm parm, const char *text); +mapi_export char *msetting_as_string(const msettings *mp, mparm parm); /* store ignored parameter */ -msettings_error msetting_set_ignored(msettings *mp, const char *key, const char *value); +mapi_export msettings_error msetting_set_ignored(msettings *mp, const char *key, const char *value); /* store named parameter */ mapi_export msettings_error msetting_set_named(msettings *mp, bool allow_core, const char *key, const char *value); ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: odbc-tls - Do not try to log nonexistent settings
Changeset: 84865ffc716d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/84865ffc716d Modified Files: clients/odbc/driver/SQLConnect.c Branch: odbc-tls Log Message: Do not try to log nonexistent settings diffs (12 lines): diff --git a/clients/odbc/driver/SQLConnect.c b/clients/odbc/driver/SQLConnect.c --- a/clients/odbc/driver/SQLConnect.c +++ b/clients/odbc/driver/SQLConnect.c @@ -337,7 +337,7 @@ MNDBConnect(ODBCDbc *dbc, reallocprintf(&logbuf, &pos, &cap, "SQLConnect: DSN=%s", dsn); mparm parm; for (int i = 0; (parm = mparm_enumerate(i)) != MP_UNKNOWN ; i++) { - if (parm == MP_TABLE || parm == MP_TABLESCHEMA) + if (parm == MP_IGNORE || parm == MP_TABLE || parm == MP_TABLESCHEMA) continue; char *value = msetting_as_string(settings, parm); char *default_value = msetting_as_string(msettings_default, parm); ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: odbc-tls - Extend ODBC Data Source config dialog with n...
Changeset: 8b47204a299b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/8b47204a299b Modified Files: clients/odbc/winsetup/resource.h clients/odbc/winsetup/setup.c clients/odbc/winsetup/setup.rc Branch: odbc-tls Log Message: Extend ODBC Data Source config dialog with new connection options. diffs (truncated from 444 to 300 lines): diff --git a/clients/odbc/winsetup/resource.h b/clients/odbc/winsetup/resource.h --- a/clients/odbc/winsetup/resource.h +++ b/clients/odbc/winsetup/resource.h @@ -29,7 +29,7 @@ #define IDC_EDIT_SCHEMA 2013 #define IDC_EDIT_TIMEZONE 2014 // Secure connections using TLS -#define IDC_EDIT_TLS2021 +#define IDC_EDIT_USETLS 2021 #define IDC_EDIT_SERVERCERT 2022 #define IDC_EDIT_SERVERCERTHASH 2023 #define IDC_EDIT_CLIENTKEY 2024 diff --git a/clients/odbc/winsetup/setup.c b/clients/odbc/winsetup/setup.c --- a/clients/odbc/winsetup/setup.c +++ b/clients/odbc/winsetup/setup.c @@ -77,13 +77,11 @@ ConfigDriver(HWND hwnd, WORD request, LP case ODBC_CONFIG_DRIVER: break; default: - SQLPostInstallerError(ODBC_ERROR_INVALID_REQUEST_TYPE, - "Invalid request"); + SQLPostInstallerError(ODBC_ERROR_INVALID_REQUEST_TYPE, "Invalid request"); return FALSE; } if (strcmp(driver, DriverName) != 0) { - SQLPostInstallerError(ODBC_ERROR_INVALID_NAME, - "Invalid driver name"); + SQLPostInstallerError(ODBC_ERROR_INVALID_NAME, "Invalid driver name"); return FALSE; } return TRUE; @@ -97,16 +95,17 @@ struct data { char *port; char *database; char *schema; - bool autocommit; - long replysize; - long timezone; + char *autocommit; + char *replysize; + char *timezone; char *logfile; // TLS settings - bool use_tls; + char *use_tls; char *servercert; char *servercerthash; char *clientkey; char *clientcert; + HWND parent; WORD request; }; @@ -155,7 +154,16 @@ DialogProc(HWND hwndDlg, UINT uMsg, WPAR SetDlgItemText(hwndDlg, IDC_EDIT_HOST, datap->host ? datap->host : ""); SetDlgItemText(hwndDlg, IDC_EDIT_PORT, datap->port ? datap->port : ""); SetDlgItemText(hwndDlg, IDC_EDIT_DATABASE, datap->database ? datap->database : ""); + SetDlgItemText(hwndDlg, IDC_EDIT_SCHEMA, datap->schema ? datap->schema : ""); + SetDlgItemText(hwndDlg, IDC_EDIT_AUTOCOMMIT, datap->autocommit ? datap->autocommit : "on"); + SetDlgItemText(hwndDlg, IDC_EDIT_REPLYSIZE, datap->replysize ? datap->replysize : ""); + SetDlgItemText(hwndDlg, IDC_EDIT_TIMEZONE, datap->timezone ? datap->timezone : ""); SetDlgItemText(hwndDlg, IDC_EDIT_LOGFILE, datap->logfile ? datap->logfile : ""); + SetDlgItemText(hwndDlg, IDC_EDIT_USETLS, datap->use_tls ? datap->use_tls : "off"); + SetDlgItemText(hwndDlg, IDC_EDIT_SERVERCERT, datap->servercert ? datap->servercert : ""); + SetDlgItemText(hwndDlg, IDC_EDIT_SERVERCERTHASH, datap->servercerthash ? datap->servercerthash : ""); + SetDlgItemText(hwndDlg, IDC_EDIT_CLIENTKEY, datap->clientkey ? datap->clientkey : ""); + SetDlgItemText(hwndDlg, IDC_EDIT_CLIENTCERT, datap->clientcert ? datap->clientcert : ""); if (datap->request == ODBC_ADD_DSN && datap->dsn && *datap->dsn) EnableWindow(GetDlgItem(hwndDlg, IDC_EDIT_DSN), FALSE); return TRUE; @@ -167,10 +175,7 @@ DialogProc(HWND hwndDlg, UINT uMsg, WPAR if (datap->request != ODBC_ADD_DSN || datap->dsn == NULL || *datap->dsn == 0) { GetDlgItemText(hwndDlg, IDC_EDIT_DSN, buf, sizeof(buf)); if (!SQLValidDSN(buf)) { - MessageBox(hwndDlg, - "Invalid Datasource Name", - NULL, - MB_ICONERROR); + MessageBox(hwndDlg, "Invalid Datasource Name", NULL, MB_ICONERROR); return TRUE; } if (datap->dsn) @@ -197,10 +202,46 @@ DialogProc(HWND hwndDlg, UINT uMsg, WPAR if (datap->database) free(datap->database); datap->database = strdup(buf); + GetDlgItemText(hwndDlg, IDC_EDIT_SCHEMA, buf, sizeof(buf)); + if (datap->schema)
MonetDB: odbc-tls - Add small comment
Changeset: dd7b77394725 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/dd7b77394725 Modified Files: clients/odbc/driver/SQLDriverConnect.c Branch: odbc-tls Log Message: Add small comment diffs (12 lines): diff --git a/clients/odbc/driver/SQLDriverConnect.c b/clients/odbc/driver/SQLDriverConnect.c --- a/clients/odbc/driver/SQLDriverConnect.c +++ b/clients/odbc/driver/SQLDriverConnect.c @@ -510,7 +510,7 @@ SQLDriverConnectW(SQLHDBC ConnectionHand addDbcError, dbc, return SQL_ERROR); rc = MNDBDriverConnect(dbc, WindowHandle, in, SQL_NTS, NULL, 0, &n, - DriverCompletion, 1); + DriverCompletion, 1); // Try Only if (!SQL_SUCCEEDED(rc)) return rc; clearDbcErrors(dbc); ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: default - Update changelog on new sys.generate_series(f...
Changeset: 544925878b7b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/544925878b7b Modified Files: sql/ChangeLog Branch: default Log Message: Update changelog on new sys.generate_series(first date, "limit" date, stepsize interval month/day) functions diffs (15 lines): diff --git a/sql/ChangeLog b/sql/ChangeLog --- a/sql/ChangeLog +++ b/sql/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog file for sql # This file is updated with Maddlog +* Mon May 13 2024 Niels Nes +- Extended sys.generate_series() to generate dates. Added 2 new functions: + sys.generate_series(first date, "limit" date, stepsize interval month) + sys.generate_series(first date, "limit" date, stepsize interval day) + * Thu May 2 2024 Martin van Dinther - Removed the obsolete ANALYZE statement syntax options: SAMPLE nn and MINMAX. Both options have been ignored since release Jan2022. Now they ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org