MonetDB: odbc-tls - it seems setsockopt on windows needs char*, ...

2024-05-23 Thread Niels Nes via checkin-list
Changeset: 65fd1c1dbd3c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/65fd1c1dbd3c
Modified Files:
clients/mapilib/connect.c
Branch: odbc-tls
Log Message:

it seems setsockopt on windows needs char*, while descent systems have void *


diffs (16 lines):

diff --git a/clients/mapilib/connect.c b/clients/mapilib/connect.c
--- a/clients/mapilib/connect.c
+++ b/clients/mapilib/connect.c
@@ -356,9 +356,10 @@ connect_socket_tcp_addr(Mapi mid, struct
.tv_sec = timeout / 1000,
.tv_usec = timeout % 1000,
};
+   /* cast to char * for Windows, no harm on "normal" systems */
if (
-   setsockopt(s, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)) 
== SOCKET_ERROR
-   || setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &tv, 
sizeof(tv)) == SOCKET_ERROR
+   setsockopt(s, SOL_SOCKET, SO_SNDTIMEO, (char*)&tv, 
sizeof(tv)) == SOCKET_ERROR
+   || setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, (char*)&tv, 
sizeof(tv)) == SOCKET_ERROR
) {
closesocket(s);
return mapi_printError(
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: odbc-tls - try to fix compilation issue on bufsize (int...

2024-05-23 Thread Niels Nes via checkin-list
Changeset: b2ab3e53c2ef for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b2ab3e53c2ef
Modified Files:
clients/odbc/driver/SQLConnect.c
Branch: odbc-tls
Log Message:

try to fix compilation issue on bufsize (int vs size_t)


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
@@ -240,7 +240,7 @@ end:
 }
 
 static int
-lookup(const char *dsn, const struct attr_setting *entry, char *buf, size_t 
bufsize)
+lookup(const char *dsn, const struct attr_setting *entry, char *buf, int 
bufsize)
 {
int n;
assert(entry->name);
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: default - Updated asciify tables, added script to gener...

2024-05-23 Thread Sjoerd Mullender via checkin-list
Changeset: 3daf82cbb905 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3daf82cbb905
Added Files:
misc/python/uniiconvtab.py
Modified Files:
gdk/gdk_string.c
misc/python/unicaseconvtabs.py
Branch: default
Log Message:

Updated asciify tables, added script to generate them.


diffs (truncated from 4437 to 300 lines):

diff --git a/gdk/gdk_string.c b/gdk/gdk_string.c
--- a/gdk/gdk_string.c
+++ b/gdk/gdk_string.c
@@ -7211,421 +7211,421 @@ static const char *const valtab[] = {
[102] = "~",
[103] = "''",
[104] = "",
-   [105] = ";",
-   [106] = "AMD",
-   [107] = "M",
-   [108] = "ue",
-   [109] = "X",
-   [110] = "SS",
-   [111] = "LL",
-   [112] = "ll",
-   [113] = "--",
-   [114] = "\"",
-   [115] = ",,",
-   [116] = "+",
-   [117] = "..",
-   [118] = "...",
-   [119] = "``",
-   [120] = "```",
-   [121] = "<",
-   [122] = ">",
-   [123] = "!!",
-   [124] = "??",
-   [125] = "?!",
-   [126] = "!?",
-   [127] = "&",
-   [128] = "0",
-   [129] = "4",
-   [130] = "5",
-   [131] = "6",
-   [132] = "7",
-   [133] = "8",
-   [134] = "9",
-   [135] = "=",
-   [136] = "(",
-   [137] = ")",
-   [138] = "CE",
-   [139] = "C=",
-   [140] = "Cr",
-   [141] = "Fr.",
-   [142] = "L.",
-   [143] = "Pts",
-   [144] = "Rs",
-   [145] = "KRW",
-   [146] = "ILS",
-   [147] = "Dong",
-   [148] = "EUR",
-   [149] = "GRD",
-   [150] = "PHP",
-   [151] = "UAH",
-   [152] = "KZT",
-   [153] = "INR",
-   [154] = "TL",
-   [155] = "RUB",
-   [156] = "GEL",
-   [157] = "a/c",
-   [158] = "a/s",
-   [159] = "c/o",
-   [160] = "c/u",
-   [161] = "No",
-   [162] = "Q",
-   [163] = "Rx",
-   [164] = "SM",
-   [165] = "TEL",
-   [166] = "(TM)",
-   [167] = "FAX",
-   [168] = " 1/7 ",
-   [169] = " 1/9 ",
-   [170] = " 1/10 ",
-   [171] = " 1/3 ",
-   [172] = " 2/3 ",
-   [173] = " 1/5 ",
-   [174] = " 2/5 ",
-   [175] = " 3/5 ",
-   [176] = " 4/5 ",
-   [177] = " 1/6 ",
-   [178] = " 5/6 ",
-   [179] = " 1/8 ",
-   [180] = " 3/8 ",
-   [181] = " 5/8 ",
-   [182] = " 7/8 ",
-   [183] = " 1/ ",
-   [184] = "II",
-   [185] = "III",
-   [186] = "IV",
-   [187] = "VI",
-   [188] = "VII",
-   [189] = "VIII",
-   [190] = "IX",
-   [191] = "XI",
-   [192] = "XII",
-   [193] = "ii",
-   [194] = "iii",
-   [195] = "iv",
-   [196] = "vi",
-   [197] = "vii",
-   [198] = "viii",
-   [199] = "ix",
-   [200] = "xi",
-   [201] = "xii",
-   [202] = " 0/3 ",
-   [203] = "<-",
-   [204] = "->",
-   [205] = "<->",
-   [206] = "!<->",
-   [207] = "!<=",
-   [208] = "!<=>",
-   [209] = "!=>",
-   [210] = "<=",
-   [211] = "=>",
-   [212] = "<=>",
-   [213] = "\\",
-   [214] = "*",
-   [215] = "||",
-   [216] = "!~",
-   [217] = "!~-",
-   [218] = "!~=",
-   [219] = "!~~",
-   [220] = "!=",
-   [221] = "!==",
-   [222] = ">=",
-   [223] = "!<",
-   [224] = "!>",
-   [225] = "!>=",
-   [226] = "!<~",
-   [227] = "!>~",
-   [228] = "!<>",
-   [229] = "!><",
-   [230] = "<<<",
-   [231] = ">>>",
-   [232] = "NUL",
-   [233] = "SOH",
-   [234] = "STX",
-   [235] = "ETX",
-   [236] = "EOT",
-   [237] = "ENQ",
-   [238] = "ACK",
-   [239] = "BEL",
-   [240] = "BS",
-   [241] = "HT",
-   [242] = "LF",
-   [243] = "VT",
-   [244] = "FF",
-   [245] = "CR",
-   [246] = "SO",
-   [247] = "SI",
-   [248] = "DLE",
-   [249] = "DC1",
-   [250] = "DC2",
-   [251] = "DC3",
-   [252] = "DC4",
-   [253] = "NAK",
-   [254] = "SYN",
-   [255] = "ETB",
-   [256] = "CAN",
-   [257] = "EM",
-   [258] = "SUB",
-   [259] = "ESC",
-   [260] = "FS",
-   [261] = "GS",
-   [262] = "RS",
-   [263] = "US",
-   [264] = "SP",
-   [265] = "DEL",
-   [266] = "NL",
-   [267] = "(1)",
-   [268] = "(2)",
-   [269] = "(3)",
-   [270] = "(4)",
-   [271] = "(5)",
-   [272] = "(6)",
-   [273] = "(7)",
-   [274] = "(8)",
-   [275] = "(9)",
-   [276] = "(10)",
-   [277] = "(11)",
-   [278] = "(12)",
-   [279] = "(13)",
-   [280] = "(14)",
-   [281] = "(15)",
-   [282] = "(16)",
-   [283] = "(17)",
-   [284] = "(18)",
-   [285] = "(19)",
-   [286] = "(20)",
-   [287] = "1.",
-   [288] = "2.",
-   [289] = "3.",
-   [290] = "4.",
-   [291] = "5.",
-   [292] = "6.",
-   [293] = "7.",
-   [294] = "8.",
-   [295] = "9.",
-   [296] = "10.",
-   [297] = "11.",
-   [298] = "12.",
-   [299] = "1

MonetDB: default - Add a cast for CentOS 7.

2024-05-23 Thread Sjoerd Mullender via checkin-list
Changeset: 48174832a557 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/48174832a557
Modified Files:
sql/server/rel_unnest.c
Branch: default
Log Message:

Add a cast for CentOS 7.


diffs (12 lines):

diff --git a/sql/server/rel_unnest.c b/sql/server/rel_unnest.c
--- a/sql/server/rel_unnest.c
+++ b/sql/server/rel_unnest.c
@@ -2239,7 +2239,7 @@ exp_reset_card_and_freevar_set_physical_
switch(e->type) {
case e_aggr:
case e_func: {
-   e->card = 
list_empty(e->l)?rel?rel->card:CARD_MULTI:exps_card(e->l);
+   e->card = 
list_empty(e->l)?rel?rel->card:(unsigned)CARD_MULTI:exps_card(e->l);
} break;
case e_column: {
sql_exp *le = NULL, *re = NULL;
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: check - allow ALTER TABLE ... ADD COLUMN ... CHECK stat...

2024-05-23 Thread Yunus Koning via checkin-list
Changeset: 19cddbd0ab54 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/19cddbd0ab54
Modified Files:
sql/backends/monet5/rel_bin.c
sql/server/rel_dump.c
sql/test/pg_regress/Tests/alter_table.test
Branch: check
Log Message:

allow ALTER TABLE ... ADD COLUMN ... CHECK statements


diffs (148 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
@@ -5988,7 +5988,15 @@ sql_update_check(backend *be, sql_key * 
 {
mvc *sql = be->mvc;
int pos = 0;
+
+
+   stack_push_frame(be->mvc, "ALTER TABLE ADD CONSTRAINT CHECK");
+   sql_schema* ss = key->t->s;
+   frame_push_table(sql, key->t);
+   key->t->s = ss; // recover the schema because frame_push_table removes 
it
+
sql_rel* rel = rel_read(sql, sa_strdup(sql->sa, key->check), &pos, 
sa_list(sql->sa));
+   stack_pop_frame(sql);
sql_rel* base = rel->l;
assert(strcmp(((sql_exp*) updates->exps->h->data)->alias.name, TID) == 
0);
list_append(base->exps, exp_copy(sql, updates->exps->h->data));
diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c
--- a/sql/server/rel_dump.c
+++ b/sql/server/rel_dump.c
@@ -2030,7 +2030,9 @@ rel_read(mvc *sql, char *r, int *pos, li
skipWS(r, pos);
if (!(s = mvc_bind_schema(sql, sname)))
return sql_error(sql, ERR_NOTFOUND, 
SQLSTATE(3F000) "No such schema '%s'\n", sname);
-   if (!(t = mvc_bind_table(sql, s, tname)))
+   if (stack_has_frame(sql, "ALTER TABLE ADD 
CONSTRAINT CHECK") && !(t = frame_find_table(sql, tname)))
+   return sql_error(sql, ERR_NOTFOUND, 
SQLSTATE(42S02) "Table missing '%s.%s'\n", sname, tname);
+   if (!t && !(t = mvc_bind_table(sql, s, tname)))
return sql_error(sql, ERR_NOTFOUND, 
SQLSTATE(42S02) "Table missing '%s.%s'\n", sname, tname);
if (isMergeTable(t))
return sql_error(sql, -1, 
SQLSTATE(42000) "Merge tables not supported under remote connections\n");
diff --git a/sql/test/pg_regress/Tests/alter_table.test 
b/sql/test/pg_regress/Tests/alter_table.test
--- a/sql/test/pg_regress/Tests/alter_table.test
+++ b/sql/test/pg_regress/Tests/alter_table.test
@@ -1618,13 +1618,13 @@ create table p1 (f1 int)
 statement ok
 create table c1 (f1 int, f2 text, f3 int)
 
-statement error
+statement ok
 alter table p1 add column a1 int check (a1 > 0)
 
 statement ok
 alter table p1 add column f2 text
 
-statement error
+statement ok
 insert into p1 values (1,2,'abc')
 
 statement error
@@ -1633,16 +1633,22 @@ insert into c1 values(11,'xyz',33,0)
 statement error
 insert into c1 values(11,'xyz',33,22)
 
-query IT rowsort
+query IIT rowsort
 select * from p1
 
+1
+2
+abc
 
-statement error
+statement ok
 update p1 set a1 = a1 + 1, f2 = upper(f2)
 
-query IT rowsort
+query IIT rowsort
 select * from p1
 
+1
+3
+ABC
 
 statement ok
 drop table c1 cascade
@@ -1723,10 +1729,10 @@ alter table foo alter f1 TYPE varchar(10
 statement ok
 drop table foo
 
-statement error
+statement ok
 create table anothertab (atcol1 bigint GENERATED ALWAYS AS IDENTITY check 
(atcol1 <= 3), atcol2 boolean)
 
-statement error
+statement ok
 insert into anothertab (atcol1, atcol2) values (default, true)
 
 statement error
@@ -1738,7 +1744,7 @@ insert into anothertab (atcol2) values (
 statement error
 insert into anothertab (atcol2) values (false)
 
-statement error
+statement ok
 select * from anothertab
 
 statement error
@@ -1747,7 +1753,7 @@ alter table anothertab alter column atco
 statement error
 alter table anothertab alter column atcol1 type integer
 
-statement error
+statement ok
 select * from anothertab
 
 statement error
@@ -1759,7 +1765,7 @@ insert into anothertab (atcol1, atcol2) 
 statement error
 insert into anothertab (atcol2) values (null)
 
-statement error
+statement ok
 select * from anothertab
 
 statement error
@@ -1768,14 +1774,14 @@ alter table anothertab alter column atco
  when atcol2 is false then 'IT WAS FALSE'
  else 'IT WAS NULL!' COMMIT
 
-statement error
+statement ok
 select * from anothertab
 
 statement error
 alter table anothertab alter column atcol1 type boolean
 using case when atcol1 % 2 = 0 then true else false COMMIT
 
-statement error
+statement ok
 alter table anothertab alter column atcol1 drop default
 
 statement error
@@ -1789,10 +1795,10 @@ statement error
 alter table anothertab alter column atcol1 type boolean
 using case when atcol1 % 2 = 0 then true else false COMMIT
 
-statement error
+statement ok
 select * from anothertab
 
-statement error
+statement ok
 drop table anothertab
 
 statement ok

MonetDB: check - merge with default

2024-05-23 Thread Yunus Koning via checkin-list
Changeset: b1dfe5e93d80 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b1dfe5e93d80
Branch: check
Log Message:

merge with default


diffs (truncated from 4449 to 300 lines):

diff --git a/gdk/gdk_string.c b/gdk/gdk_string.c
--- a/gdk/gdk_string.c
+++ b/gdk/gdk_string.c
@@ -7211,421 +7211,421 @@ static const char *const valtab[] = {
[102] = "~",
[103] = "''",
[104] = "",
-   [105] = ";",
-   [106] = "AMD",
-   [107] = "M",
-   [108] = "ue",
-   [109] = "X",
-   [110] = "SS",
-   [111] = "LL",
-   [112] = "ll",
-   [113] = "--",
-   [114] = "\"",
-   [115] = ",,",
-   [116] = "+",
-   [117] = "..",
-   [118] = "...",
-   [119] = "``",
-   [120] = "```",
-   [121] = "<",
-   [122] = ">",
-   [123] = "!!",
-   [124] = "??",
-   [125] = "?!",
-   [126] = "!?",
-   [127] = "&",
-   [128] = "0",
-   [129] = "4",
-   [130] = "5",
-   [131] = "6",
-   [132] = "7",
-   [133] = "8",
-   [134] = "9",
-   [135] = "=",
-   [136] = "(",
-   [137] = ")",
-   [138] = "CE",
-   [139] = "C=",
-   [140] = "Cr",
-   [141] = "Fr.",
-   [142] = "L.",
-   [143] = "Pts",
-   [144] = "Rs",
-   [145] = "KRW",
-   [146] = "ILS",
-   [147] = "Dong",
-   [148] = "EUR",
-   [149] = "GRD",
-   [150] = "PHP",
-   [151] = "UAH",
-   [152] = "KZT",
-   [153] = "INR",
-   [154] = "TL",
-   [155] = "RUB",
-   [156] = "GEL",
-   [157] = "a/c",
-   [158] = "a/s",
-   [159] = "c/o",
-   [160] = "c/u",
-   [161] = "No",
-   [162] = "Q",
-   [163] = "Rx",
-   [164] = "SM",
-   [165] = "TEL",
-   [166] = "(TM)",
-   [167] = "FAX",
-   [168] = " 1/7 ",
-   [169] = " 1/9 ",
-   [170] = " 1/10 ",
-   [171] = " 1/3 ",
-   [172] = " 2/3 ",
-   [173] = " 1/5 ",
-   [174] = " 2/5 ",
-   [175] = " 3/5 ",
-   [176] = " 4/5 ",
-   [177] = " 1/6 ",
-   [178] = " 5/6 ",
-   [179] = " 1/8 ",
-   [180] = " 3/8 ",
-   [181] = " 5/8 ",
-   [182] = " 7/8 ",
-   [183] = " 1/ ",
-   [184] = "II",
-   [185] = "III",
-   [186] = "IV",
-   [187] = "VI",
-   [188] = "VII",
-   [189] = "VIII",
-   [190] = "IX",
-   [191] = "XI",
-   [192] = "XII",
-   [193] = "ii",
-   [194] = "iii",
-   [195] = "iv",
-   [196] = "vi",
-   [197] = "vii",
-   [198] = "viii",
-   [199] = "ix",
-   [200] = "xi",
-   [201] = "xii",
-   [202] = " 0/3 ",
-   [203] = "<-",
-   [204] = "->",
-   [205] = "<->",
-   [206] = "!<->",
-   [207] = "!<=",
-   [208] = "!<=>",
-   [209] = "!=>",
-   [210] = "<=",
-   [211] = "=>",
-   [212] = "<=>",
-   [213] = "\\",
-   [214] = "*",
-   [215] = "||",
-   [216] = "!~",
-   [217] = "!~-",
-   [218] = "!~=",
-   [219] = "!~~",
-   [220] = "!=",
-   [221] = "!==",
-   [222] = ">=",
-   [223] = "!<",
-   [224] = "!>",
-   [225] = "!>=",
-   [226] = "!<~",
-   [227] = "!>~",
-   [228] = "!<>",
-   [229] = "!><",
-   [230] = "<<<",
-   [231] = ">>>",
-   [232] = "NUL",
-   [233] = "SOH",
-   [234] = "STX",
-   [235] = "ETX",
-   [236] = "EOT",
-   [237] = "ENQ",
-   [238] = "ACK",
-   [239] = "BEL",
-   [240] = "BS",
-   [241] = "HT",
-   [242] = "LF",
-   [243] = "VT",
-   [244] = "FF",
-   [245] = "CR",
-   [246] = "SO",
-   [247] = "SI",
-   [248] = "DLE",
-   [249] = "DC1",
-   [250] = "DC2",
-   [251] = "DC3",
-   [252] = "DC4",
-   [253] = "NAK",
-   [254] = "SYN",
-   [255] = "ETB",
-   [256] = "CAN",
-   [257] = "EM",
-   [258] = "SUB",
-   [259] = "ESC",
-   [260] = "FS",
-   [261] = "GS",
-   [262] = "RS",
-   [263] = "US",
-   [264] = "SP",
-   [265] = "DEL",
-   [266] = "NL",
-   [267] = "(1)",
-   [268] = "(2)",
-   [269] = "(3)",
-   [270] = "(4)",
-   [271] = "(5)",
-   [272] = "(6)",
-   [273] = "(7)",
-   [274] = "(8)",
-   [275] = "(9)",
-   [276] = "(10)",
-   [277] = "(11)",
-   [278] = "(12)",
-   [279] = "(13)",
-   [280] = "(14)",
-   [281] = "(15)",
-   [282] = "(16)",
-   [283] = "(17)",
-   [284] = "(18)",
-   [285] = "(19)",
-   [286] = "(20)",
-   [287] = "1.",
-   [288] = "2.",
-   [289] = "3.",
-   [290] = "4.",
-   [291] = "5.",
-   [292] = "6.",
-   [293] = "7.",
-   [294] = "8.",
-   [295] = "9.",
-   [296] = "10.",
-   [297] = "11.",
-   [298] = "12.",
-   [299] = "13.",
-   [300] = "14.",
-   [301] = "15.",
-   [302] = "16.",
-   [303] = "17.",
-   [304] = "18.",
-   [305] = "19.",
-   [306] = "20.",

MonetDB: odbc-tls - trigger build

2024-05-23 Thread Niels Nes via checkin-list
Changeset: a8f48d17688b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/a8f48d17688b
Modified Files:
clients/odbc/driver/SQLConnect.c
Branch: odbc-tls
Log Message:

trigger build


diffs (11 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
@@ -70,6 +70,7 @@ const struct attr_setting attr_settings[
 
 const int attr_setting_count = sizeof(attr_settings) / 
sizeof(attr_settings[0]);
 
+
 int
 attr_setting_lookup(const char *attr_name, bool allow_alt_name)
 {
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: odbc-tls - Extend dialog with 3 more setup options: Des...

2024-05-23 Thread Martin van Dinther via checkin-list
Changeset: 78f856e5bc5f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/78f856e5bc5f
Modified Files:
clients/odbc/winsetup/resource.h
clients/odbc/winsetup/setup.c
clients/odbc/winsetup/setup.rc
Branch: odbc-tls
Log Message:

Extend dialog with 3 more setup options: Description, Login timeout, Reply 
timeout.


diffs (truncated from 376 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
@@ -17,17 +17,22 @@
 #define IDD_SETUP_DIALOG106
 #define IDB_BANNER  2000
 #define IDC_EDIT_DSN2001
-#define IDC_EDIT_UID2002
-#define IDC_EDIT_PWD2003
-#define IDC_EDIT_HOST   2004
-#define IDC_EDIT_PORT   2005
-#define IDC_EDIT_DATABASE   2006
-#define IDC_EDIT_LOGFILE2007
-// new from Jun2024
-#define IDC_EDIT_AUTOCOMMIT 2011
-#define IDC_EDIT_REPLYSIZE  2012
-#define IDC_EDIT_SCHEMA 2013
-#define IDC_EDIT_TIMEZONE   2014
+#define IDC_EDIT_DESC   2002
+#define IDC_EDIT_UID2003
+#define IDC_EDIT_PWD2004
+#define IDC_EDIT_HOST   2005
+#define IDC_EDIT_PORT   2006
+#define IDC_EDIT_DATABASE   2007
+
+// Advanced settings (new from Jun2024)
+#define IDC_EDIT_SCHEMA 2011
+#define IDC_EDIT_LOGINTIMEOUT   2012
+#define IDC_EDIT_REPLYTIMEOUT   2013
+#define IDC_EDIT_REPLYSIZE  2014
+#define IDC_EDIT_AUTOCOMMIT 2015
+#define IDC_EDIT_TIMEZONE   2016
+#define IDC_EDIT_LOGFILE2017
+
 // Secure connections using TLS
 #define IDC_EDIT_USETLS 2021
 #define IDC_EDIT_SERVERCERT 2022
@@ -35,7 +40,7 @@
 #define IDC_EDIT_CLIENTKEY  2024
 #define IDC_EDIT_CLIENTCERT 2025
 
-#define IDC_BUTTON_CANCEL   2008
+#define IDC_BUTTON_CANCEL   2031
 
 // Next default values for new objects
 //
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
@@ -89,14 +89,17 @@ ConfigDriver(HWND hwnd, WORD request, LP
 
 struct data {
char *dsn;
+   char *desc;
char *uid;
char *pwd;
char *host;
char *port;
char *database;
char *schema;
+   char *logintimeout;
+   char *replytimeout;
+   char *replysize;
char *autocommit;
-   char *replysize;
char *timezone;
char *logfile;
// TLS settings
@@ -149,14 +152,17 @@ DialogProc(HWND hwndDlg, UINT uMsg, WPAR
 
/* fill in text fields */
SetDlgItemText(hwndDlg, IDC_EDIT_DSN, datap->dsn ? datap->dsn : 
"");
+   SetDlgItemText(hwndDlg, IDC_EDIT_DESC, datap->desc ? 
datap->desc : "");
SetDlgItemText(hwndDlg, IDC_EDIT_UID, datap->uid ? datap->uid : 
"");
SetDlgItemText(hwndDlg, IDC_EDIT_PWD, datap->pwd ? datap->pwd : 
"");
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_LOGINTIMEOUT, 
datap->logintimeout ? datap->logintimeout : "");
+   SetDlgItemText(hwndDlg, IDC_EDIT_REPLYTIMEOUT, 
datap->replytimeout ? datap->replytimeout : "");
+   SetDlgItemText(hwndDlg, IDC_EDIT_REPLYSIZE, datap->replysize ? 
datap->replysize : "");
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");
@@ -182,6 +188,10 @@ DialogProc(HWND hwndDlg, UINT uMsg, WPAR
free(datap->dsn);
datap->dsn = strdup(buf);
}
+   GetDlgItemText(hwndDlg, IDC_EDIT_DESC, buf, 
sizeof(buf));
+   if (datap->desc)
+   free(datap->desc);
+   datap->desc = strdup(buf);
GetDlgItemText(hwndDlg, IDC_EDIT_UID, buf, sizeof(buf));
i

MonetDB: odbc-tls - add missing wtypes for windows

2024-05-23 Thread Niels Nes via checkin-list
Changeset: f909d09defb1 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f909d09defb1
Modified Files:
clients/odbc/samples/odbcconnect.c
Branch: odbc-tls
Log Message:

add missing wtypes for windows


diffs (16 lines):

diff --git a/clients/odbc/samples/odbcconnect.c 
b/clients/odbc/samples/odbcconnect.c
--- a/clients/odbc/samples/odbcconnect.c
+++ b/clients/odbc/samples/odbcconnect.c
@@ -9,6 +9,12 @@
  * Copyright August 2008 - 2023 MonetDB B.V.;
  * Copyright 1997 - July 2008 CWI.
  */
+#ifdef _MSC_VER
+/* suppress deprecation warning for snprintf */
+#define _CRT_SECURE_NO_WARNINGS
+
+#include 
+#endif
 #include 
 #include 
 #include 
___
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org


MonetDB: odbc-tls - merged with default

2024-05-23 Thread Niels Nes via checkin-list
Changeset: 815cd59d6d88 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/815cd59d6d88
Branch: odbc-tls
Log Message:

merged with default


diffs (truncated from 5367 to 300 lines):

diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1038,6 +1038,7 @@ log_read_types_file(logger *lg, FILE *fp
 {
int id = 0;
char atom_name[IDLENGTH];
+   bool seen_geom = false;
 
/* scanf should use IDLENGTH somehow */
while (fscanf(fp, "%d,%63s\n", &id, atom_name) == 2) {
@@ -1049,9 +1050,17 @@ log_read_types_file(logger *lg, FILE *fp
GDKerror("unknown type in log file '%s'\n", atom_name);
return GDK_FAIL;
}
+   seen_geom |= strcmp(atom_name, "mbr") == 0 || strcmp(atom_name, 
"wkb") == 0;
lg->type_id[i] = (int8_t) id;
lg->type_nr[id < 0 ? 256 + id : id] = i;
}
+#ifdef HAVE_GEOM
+   if (!seen_geom && ATOMindex("mbr") > 0) {
+   GDKerror("incompatible database: server supports GEOM, but 
database does not\n");
+   return GDK_FAIL;
+   }
+#endif
+   (void) seen_geom;
return GDK_SUCCEED;
 }
 
@@ -1802,7 +1811,8 @@ bm_subcommit(logger *lg, logged_range *p
cleanup++;
if (lids[p] == -1)
continue;
-   if (BUNappend(dcatalog, &(oid){p}, true) != 
GDK_SUCCEED) {
+   if (BUNfnd(dcatalog, &(oid){p}) == BUN_NONE &&
+   BUNappend(dcatalog, &(oid){p}, true) != 
GDK_SUCCEED) {
while (BATcount(dcatalog) > dcnt) {
if (BUNdelete(dcatalog, 
BATcount(dcatalog) - 1) != GDK_SUCCEED) {
TRC_CRITICAL(WAL, "delete after 
failed append failed\n");
diff --git a/gdk/gdk_string.c b/gdk/gdk_string.c
--- a/gdk/gdk_string.c
+++ b/gdk/gdk_string.c
@@ -1477,153 +1477,155 @@ GDKanalytical_str_group_concat(BAT *r, B
  * Only for the casefold table, if the converted codepoint is negative,
  * it is actually an escape into the specialcase table.  The absolute
  * value is the index. */
+
+/* These tables were created using the code in unicaseconvtabs.py */
 static const char *const specialcase[] = {
NULL,
-   "ss",
-   "i\xCC\x87",
-   "\xCA\xBCn",
-   "j\xCC\x8C",
-   "\xCE\xB9\xCC\x88\xCC\x81",
-   "\xCF\x85\xCC\x88\xCC\x81",
-   "\xD5\xA5\xD6\x82",
-   "h\xCC\xB1",
-   "t\xCC\x88",
-   "w\xCC\x8A",
-   "y\xCC\x8A",
-   "a\xCA\xBE",
-   "\xCF\x85\xCC\x93",
-   "\xCF\x85\xCC\x93\xCC\x80",
-   "\xCF\x85\xCC\x93\xCC\x81",
-   "\xCF\x85\xCC\x93\xCD\x82",
-   "\xE1\xBC\x80\xCE\xB9",
-   "\xE1\xBC\x81\xCE\xB9",
-   "\xE1\xBC\x82\xCE\xB9",
-   "\xE1\xBC\x83\xCE\xB9",
-   "\xE1\xBC\x84\xCE\xB9",
-   "\xE1\xBC\x85\xCE\xB9",
-   "\xE1\xBC\x86\xCE\xB9",
-   "\xE1\xBC\x87\xCE\xB9",
-   "\xE1\xBC\xA0\xCE\xB9",
-   "\xE1\xBC\xA1\xCE\xB9",
-   "\xE1\xBC\xA2\xCE\xB9",
-   "\xE1\xBC\xA3\xCE\xB9",
-   "\xE1\xBC\xA4\xCE\xB9",
-   "\xE1\xBC\xA5\xCE\xB9",
-   "\xE1\xBC\xA6\xCE\xB9",
-   "\xE1\xBC\xA7\xCE\xB9",
-   "\xE1\xBD\xA0\xCE\xB9",
-   "\xE1\xBD\xA1\xCE\xB9",
-   "\xE1\xBD\xA2\xCE\xB9",
-   "\xE1\xBD\xA3\xCE\xB9",
-   "\xE1\xBD\xA4\xCE\xB9",
-   "\xE1\xBD\xA5\xCE\xB9",
-   "\xE1\xBD\xA6\xCE\xB9",
-   "\xE1\xBD\xA7\xCE\xB9",
-   "\xE1\xBD\xB0\xCE\xB9",
-   "\xCE\xB1\xCE\xB9",
-   "\xCE\xAC\xCE\xB9",
-   "\xCE\xB1\xCD\x82",
-   "\xCE\xB1\xCD\x82\xCE\xB9",
-   "\xE1\xBD\xB4\xCE\xB9",
-   "\xCE\xB7\xCE\xB9",
-   "\xCE\xAE\xCE\xB9",
-   "\xCE\xB7\xCD\x82",
-   "\xCE\xB7\xCD\x82\xCE\xB9",
-   "\xCE\xB9\xCC\x88\xCC\x80",
-   "\xCE\xB9\xCD\x82",
-   "\xCE\xB9\xCC\x88\xCD\x82",
-   "\xCF\x85\xCC\x88\xCC\x80",
-   "\xCF\x81\xCC\x93",
-   "\xCF\x85\xCD\x82",
-   "\xCF\x85\xCC\x88\xCD\x82",
-   "\xE1\xBD\xBC\xCE\xB9",
-   "\xCF\x89\xCE\xB9",
-   "\xCF\x8E\xCE\xB9",
-   "\xCF\x89\xCD\x82",
-   "\xCF\x89\xCD\x82\xCE\xB9",
-   "ff",
-   "fi",
-   "fl",
-   "ffi",
-   "ffl",
-   "st",
-   "\xD5\xB4\xD5\xB6",
-   "\xD5\xB4\xD5\xA5",
-   "\xD5\xB4\xD5\xAB",
-   "\xD5\xBE\xD5\xB6",
-   "\xD5\xB4\xD5\xAD",
-   "SS",
-   "FF",
-   "FI",
-   "FL",
-   "FFI",
-   "FFL",
-   "ST",
-   "\xD4\xB5\xD5\x92",
-   "\xD5\x84\xD5\x86",
-   "\xD5\x84\xD4\xB5",
-   "\xD5\x84\xD4\xBB",
-   "\xD5\x8E\xD5\x86",
-   "\xD5\x84\xD4\xBD",
-   "\xCA\xBCN",
-   "\xCE\x99\xCC\x88\xCC\x81",
-   "\xCE\xA5\xCC\x88\xCC\x81",
-   "J\xCC\x8C",
-   "H\xCC\xB1",
-   "T\xCC\x88",
-   "W\xCC\x8A",
-   "Y\xCC\x8A",
-   "A\xCA\xBE",
-   "\xCE