From 3714d05e9131683eca468a6f7ef84e73686b4db8 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Mon, 8 Sep 2025 09:54:01 +1000 Subject: [PATCH] Updated odbc32-fixes patchset --- ...ad-function-pointer-for-SQLBindParam.patch | 6 +- ...ndParameter-handle-fallback-function.patch | 8 +-- ...nnectAttr-W-handle-fallback-function.patch | 8 +-- ...-loaded-driver-SQL_ATTR_ODBC_VERSION.patch | 63 ++++++++++++++----- ...-odbc32-SQLGetData-support-ODBC-v2.0.patch | 26 ++------ ...-SQLColAttributesW-support-ODBC-v2.0.patch | 10 +-- ...tAttrW-support-fallback-for-ODBC-v2..patch | 8 +-- ...ributes-W-fall-throught-for-unknown-.patch | 10 +-- ...ConnectW-fallback-to-SQLDriverConnec.patch | 8 +-- ...32-SQLGetInfoW-support-ANSI-fallback.patch | 8 +-- ...cDirectW-call-fallback-SQLExecDirect.patch | 10 +-- ...32-SQLDescribeColW-add-ANSI-fallback.patch | 8 +-- ...32-SQLGetStmtAttrW-add-ANSI-fallback.patch | 8 +-- ...32-SQLSetStmtAttrW-add-ANSI-fallback.patch | 8 +-- .../0015-odbc32-Various-ANSI-fallback.patch | 14 ++--- ...ColAttributesW-support-ANSI-fallback.patch | 12 ++-- ...2-SQLColAttributeW-Add-ANSI-fallback.patch | 10 +-- ...c32-SQLGetDiagRecW-add-ANSI-fallback.patch | 10 +-- ...bc32-SQLNativeSqlW-add-ANSI-fallback.patch | 8 +-- ...odbc32-SQLPrepareW-add-ANSI-fallback.patch | 8 +-- ...l-remap-unicode-field-when-using-ANS.patch | 11 ++-- ...LFetch-convert-to-ANSI-when-required.patch | 10 +-- ...odbc32-SQLGetData-handle-ANSI-driver.patch | 12 ++-- ...Connect-W-reuse-environment-handle-i.patch | 14 ++--- 24 files changed, 157 insertions(+), 141 deletions(-) diff --git a/patches/odbc32-fixes/0001-odbc32-Load-function-pointer-for-SQLBindParam.patch b/patches/odbc32-fixes/0001-odbc32-Load-function-pointer-for-SQLBindParam.patch index c4dd006e..43c7b95b 100644 --- a/patches/odbc32-fixes/0001-odbc32-Load-function-pointer-for-SQLBindParam.patch +++ b/patches/odbc32-fixes/0001-odbc32-Load-function-pointer-for-SQLBindParam.patch @@ -1,4 +1,4 @@ -From cbca8076ac6f6efe8d6832775b56cdd40fe8108b Mon Sep 17 00:00:00 2001 +From 10cd3e92839fcc77d77fd1acb1fdbfe669e8ee85 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 12 Jul 2024 14:44:43 +1000 Subject: [PATCH] odbc32: Load function pointer for SQLBindParam @@ -8,7 +8,7 @@ Subject: [PATCH] odbc32: Load function pointer for SQLBindParam 1 file changed, 2 insertions(+) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index d11b4122776..9a079175d42 100644 +index d31a08af14f..1add621ca31 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c @@ -50,6 +50,7 @@ struct win32_funcs @@ -28,5 +28,5 @@ index d11b4122776..9a079175d42 100644 LOAD_FUNCPTR( SQLBrowseConnect ) LOAD_FUNCPTR( SQLBrowseConnectW ) -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0002-odbc32-SQLBindParameter-handle-fallback-function.patch b/patches/odbc32-fixes/0002-odbc32-SQLBindParameter-handle-fallback-function.patch index a5b5f696..7e02afe4 100644 --- a/patches/odbc32-fixes/0002-odbc32-SQLBindParameter-handle-fallback-function.patch +++ b/patches/odbc32-fixes/0002-odbc32-SQLBindParameter-handle-fallback-function.patch @@ -1,4 +1,4 @@ -From 1a1b88dd5a0a23c64bf4aee2e64f30c418181be0 Mon Sep 17 00:00:00 2001 +From 7f4fd1e72d8639c2fa0ee309ed6ffa9acb13eccf Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 12 Jul 2024 14:40:32 +1000 Subject: [PATCH] odbc32: SQLBindParameter handle fallback function @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLBindParameter handle fallback function 1 file changed, 28 insertions(+) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 9a079175d42..aa886d01e33 100644 +index 1add621ca31..7723b9516ac 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -5524,9 +5524,37 @@ static SQLRETURN bind_parameter_win32( struct statement *stmt, SQLUSMALLINT para +@@ -5580,9 +5580,37 @@ static SQLRETURN bind_parameter_win32( struct statement *stmt, SQLUSMALLINT para SQLSMALLINT value_type, SQLSMALLINT param_type, SQLULEN size, SQLSMALLINT digits, SQLPOINTER value, SQLLEN buflen, SQLLEN *len ) { @@ -50,5 +50,5 @@ index 9a079175d42..aa886d01e33 100644 } -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0003-odbc32-SQLSetConnectAttr-W-handle-fallback-function.patch b/patches/odbc32-fixes/0003-odbc32-SQLSetConnectAttr-W-handle-fallback-function.patch index 3aa52182..e202e33c 100644 --- a/patches/odbc32-fixes/0003-odbc32-SQLSetConnectAttr-W-handle-fallback-function.patch +++ b/patches/odbc32-fixes/0003-odbc32-SQLSetConnectAttr-W-handle-fallback-function.patch @@ -1,4 +1,4 @@ -From 987b50c3a705029e222f444caa453729483eac67 Mon Sep 17 00:00:00 2001 +From 3f9566132c1969e359ed9589483bde7960f10833 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 12 Jul 2024 14:55:47 +1000 Subject: [PATCH] odbc32: SQLSetConnectAttr/W handle fallback function @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLSetConnectAttr/W handle fallback function 1 file changed, 5 insertions(+) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index aa886d01e33..4fdd242f3b5 100644 +index 7723b9516ac..c2e21f16e3a 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -6713,6 +6713,11 @@ static SQLRETURN set_connect_attr_win32_w( struct connection *con, SQLINTEGER at +@@ -6770,6 +6770,11 @@ static SQLRETURN set_connect_attr_win32_w( struct connection *con, SQLINTEGER at if (con->hdr.win32_funcs->SQLSetConnectAttrW) return con->hdr.win32_funcs->SQLSetConnectAttrW( con->hdr.win32_handle, attr, value, len ); if (con->hdr.win32_funcs->SQLSetConnectAttr) FIXME( "Unicode to ANSI conversion not handled\n" ); @@ -24,5 +24,5 @@ index aa886d01e33..4fdd242f3b5 100644 } -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0004-odbc32-Record-loaded-driver-SQL_ATTR_ODBC_VERSION.patch b/patches/odbc32-fixes/0004-odbc32-Record-loaded-driver-SQL_ATTR_ODBC_VERSION.patch index 15b6fbf0..33d98ca2 100644 --- a/patches/odbc32-fixes/0004-odbc32-Record-loaded-driver-SQL_ATTR_ODBC_VERSION.patch +++ b/patches/odbc32-fixes/0004-odbc32-Record-loaded-driver-SQL_ATTR_ODBC_VERSION.patch @@ -1,18 +1,38 @@ -From 7d25d7fa0ee65c209e8c58f6ce276416931d8052 Mon Sep 17 00:00:00 2001 +From 058007da8ce50113b1bc46352d98f20850dda064 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Thu, 18 Jul 2024 07:13:48 +1000 Subject: [PATCH] odbc32: Record loaded driver SQL_ATTR_ODBC_VERSION --- - dlls/odbc32/proxyodbc.c | 4 ++++ - dlls/odbc32/unixlib.h | 1 + - 2 files changed, 5 insertions(+) + dlls/odbc32/proxyodbc.c | 28 ++++++++++++++++++++++++++++ + dlls/odbc32/unixlib.h | 1 + + 2 files changed, 29 insertions(+) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 4fdd242f3b5..c0ab9db9879 100644 +index c2e21f16e3a..3d4c58badfe 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -464,6 +464,7 @@ static struct environment *create_environment( void ) +@@ -325,6 +325,19 @@ static CRITICAL_SECTION_DEBUG loader_cs_debug = + }; + static CRITICAL_SECTION loader_cs = { &loader_cs_debug, -1, 0, 0, 0, 0 }; + ++static SQLRETURN get_info_win32_w( struct connection *con, SQLUSMALLINT type, SQLPOINTER value, SQLSMALLINT buflen, ++ SQLSMALLINT *retlen ); ++ ++static struct object *find_object_type(SQLSMALLINT type, struct object *object) ++{ ++ while (object && object->type != type) ++ { ++ object = object->parent; ++ } ++ ++ return object; ++} ++ + static struct + { + UINT32 count; +@@ -464,6 +477,7 @@ static struct environment *create_environment( void ) if (!(ret = calloc( 1, sizeof(*ret) ))) return NULL; init_object( &ret->hdr, SQL_HANDLE_ENV, NULL ); ret->attr_version = SQL_OV_ODBC2; @@ -20,16 +40,27 @@ index 4fdd242f3b5..c0ab9db9879 100644 return ret; } -@@ -1265,6 +1266,9 @@ static SQLRETURN set_env_attr( struct environment *env, SQLINTEGER attr, SQLPOIN - } - else if (env->hdr.win32_handle) - { -+ if (env->hdr.win32_funcs->SQLGetEnvAttr) -+ ret = env->hdr.win32_funcs->SQLGetEnvAttr( env->hdr.win32_handle, SQL_ATTR_ODBC_VERSION, &env->driver_ver, 0, NULL ); +@@ -1344,6 +1358,20 @@ static void prepare_con( struct connection *con ) + WARN( "failed to set connection timeout\n" ); + if (set_con_attr( con, SQL_ATTR_LOGIN_TIMEOUT, INT_PTR(con->attr_login_timeout), 0 )) + WARN( "failed to set login timeout\n" ); + - if (env->hdr.win32_funcs->SQLSetEnvAttr) - ret = env->hdr.win32_funcs->SQLSetEnvAttr( env->hdr.win32_handle, attr, value, len ); - } ++ if (con->hdr.win32_handle) ++ { ++ WCHAR ver[16]; ++ SQLRETURN ret = SQL_ERROR; ++ ++ ret = get_info_win32_w( con, SQL_DRIVER_ODBC_VER, &ver, sizeof(ver), NULL); ++ if (SUCCESS( ret )) ++ { ++ struct environment *env = (struct environment *)find_object_type(SQL_HANDLE_ENV, con->hdr.parent); ++ long nMajor = _wtol( ver ); ++ env->driver_ver = nMajor == 2 ? SQL_OV_ODBC2 : SQL_OV_ODBC3; ++ } ++ } + } + + static SQLRETURN create_con( struct connection *con ) diff --git a/dlls/odbc32/unixlib.h b/dlls/odbc32/unixlib.h index c865a83711d..4ff13a68add 100644 --- a/dlls/odbc32/unixlib.h @@ -43,5 +74,5 @@ index c865a83711d..4ff13a68add 100644 struct connection -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0005-odbc32-SQLGetData-support-ODBC-v2.0.patch b/patches/odbc32-fixes/0005-odbc32-SQLGetData-support-ODBC-v2.0.patch index e1d86abd..478478e0 100644 --- a/patches/odbc32-fixes/0005-odbc32-SQLGetData-support-ODBC-v2.0.patch +++ b/patches/odbc32-fixes/0005-odbc32-SQLGetData-support-ODBC-v2.0.patch @@ -1,31 +1,17 @@ -From bf0ca6561dde86d00f9362e07c2ceb4fb7001c5f Mon Sep 17 00:00:00 2001 +From 5171b6447da54618cf45fd367fcf4f5695ccc130 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 17 Jul 2024 21:55:20 +1000 Subject: [PATCH] odbc32: SQLGetData support ODBC v2.0 --- - dlls/odbc32/proxyodbc.c | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) + dlls/odbc32/proxyodbc.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index c0ab9db9879..64740bd5169 100644 +index 3d4c58badfe..e1db8564f90 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -2468,11 +2468,35 @@ static SQLRETURN get_data_unix( struct statement *stmt, SQLUSMALLINT column, SQL - return ret; - } - -+static struct object *find_object_type(SQLSMALLINT type, struct object *object) -+{ -+ while (object && object->type != type) -+ { -+ object = object->parent; -+ } -+ -+ return object; -+} -+ - static SQLRETURN get_data_win32( struct statement *stmt, SQLUSMALLINT column, SQLSMALLINT type, SQLPOINTER value, +@@ -2525,7 +2525,21 @@ static SQLRETURN get_data_win32( struct statement *stmt, SQLUSMALLINT column, SQ SQLLEN buflen, SQLLEN *retlen ) { if (stmt->hdr.win32_funcs->SQLGetData) @@ -48,5 +34,5 @@ index c0ab9db9879..64740bd5169 100644 } -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0006-odbc32-SQLColAttributesW-support-ODBC-v2.0.patch b/patches/odbc32-fixes/0006-odbc32-SQLColAttributesW-support-ODBC-v2.0.patch index ade508f7..6eed6eb6 100644 --- a/patches/odbc32-fixes/0006-odbc32-SQLColAttributesW-support-ODBC-v2.0.patch +++ b/patches/odbc32-fixes/0006-odbc32-SQLColAttributesW-support-ODBC-v2.0.patch @@ -1,4 +1,4 @@ -From 476b2f23b33d64138ca90073f3d88d91856d3bb1 Mon Sep 17 00:00:00 2001 +From 727dcdcc8c28c3d7e0aa46da46891978aed8a14a Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 17 Jul 2024 22:03:03 +1000 Subject: [PATCH] odbc32: SQLColAttributesW support ODBC v2.0 @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLColAttributesW support ODBC v2.0 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 64740bd5169..742823cf08d 100644 +index e1db8564f90..59015224cea 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -6261,6 +6261,9 @@ static SQLRETURN col_attribute_win32_w( struct statement *stmt, SQLUSMALLINT col +@@ -6331,6 +6331,9 @@ static SQLRETURN col_attribute_win32_w( struct statement *stmt, SQLUSMALLINT col SQLPOINTER char_attr, SQLSMALLINT buflen, SQLSMALLINT *retlen, SQLLEN *num_attr ) { @@ -21,7 +21,7 @@ index 64740bd5169..742823cf08d 100644 if (stmt->hdr.win32_funcs->SQLColAttributeW) return stmt->hdr.win32_funcs->SQLColAttributeW( stmt->hdr.win32_handle, col, field_id, char_attr, buflen, retlen, num_attr ); -@@ -6320,11 +6323,23 @@ static SQLRETURN col_attribute_win32_w( struct statement *stmt, SQLUSMALLINT col +@@ -6391,11 +6394,23 @@ static SQLRETURN col_attribute_win32_w( struct statement *stmt, SQLUSMALLINT col return SQL_ERROR; } @@ -48,5 +48,5 @@ index 64740bd5169..742823cf08d 100644 /************************************************************************* -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0007-odbc32-SQLSetStmtAttrW-support-fallback-for-ODBC-v2..patch b/patches/odbc32-fixes/0007-odbc32-SQLSetStmtAttrW-support-fallback-for-ODBC-v2..patch index fc260dd4..0215a428 100644 --- a/patches/odbc32-fixes/0007-odbc32-SQLSetStmtAttrW-support-fallback-for-ODBC-v2..patch +++ b/patches/odbc32-fixes/0007-odbc32-SQLSetStmtAttrW-support-fallback-for-ODBC-v2..patch @@ -1,4 +1,4 @@ -From 2a020e9d35ae25858e0642b06c025dc686594fec Mon Sep 17 00:00:00 2001 +From dc4bd43cd7454fdc2ba1f6c556a78d24438e919b Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 17 Jul 2024 22:04:39 +1000 Subject: [PATCH] odbc32: SQLSetStmtAttrW support fallback for ODBC v2.0 @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLSetStmtAttrW support fallback for ODBC v2.0 1 file changed, 5 insertions(+) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 742823cf08d..d0f3a837745 100644 +index 59015224cea..3e5d840ef63 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -7948,6 +7948,11 @@ static SQLRETURN set_stmt_attr_win32_w( struct statement *stmt, SQLINTEGER attr, +@@ -8019,6 +8019,11 @@ static SQLRETURN set_stmt_attr_win32_w( struct statement *stmt, SQLINTEGER attr, if (stmt->hdr.win32_funcs->SQLSetStmtAttrW) return stmt->hdr.win32_funcs->SQLSetStmtAttrW( stmt->hdr.win32_handle, attr, value, len ); if (stmt->hdr.win32_funcs->SQLSetStmtAttr) FIXME( "Unicode to ANSI conversion not handled\n" ); @@ -24,5 +24,5 @@ index 742823cf08d..d0f3a837745 100644 } -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0008-odbc32-SQLColAttributes-W-fall-throught-for-unknown-.patch b/patches/odbc32-fixes/0008-odbc32-SQLColAttributes-W-fall-throught-for-unknown-.patch index 38597e50..d46617dd 100644 --- a/patches/odbc32-fixes/0008-odbc32-SQLColAttributes-W-fall-throught-for-unknown-.patch +++ b/patches/odbc32-fixes/0008-odbc32-SQLColAttributes-W-fall-throught-for-unknown-.patch @@ -1,4 +1,4 @@ -From aab4645ff5f308dcbd696f29720247ac8f07ae69 Mon Sep 17 00:00:00 2001 +From 7e2e9b4af4d8e56a9076510fc34bdfd44c9b3416 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 28 Aug 2024 07:57:17 +1000 Subject: [PATCH] odbc32: SQLColAttributes/W fall throught for unknown field @@ -9,10 +9,10 @@ Subject: [PATCH] odbc32: SQLColAttributes/W fall throught for unknown field 1 file changed, 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index d0f3a837745..5d2c4a19915 100644 +index 3e5d840ef63..0893537aef9 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -1035,7 +1035,6 @@ static SQLRETURN col_attribute_win32_a( struct statement *stmt, SQLUSMALLINT col +@@ -1049,7 +1049,6 @@ static SQLRETURN col_attribute_win32_a( struct statement *stmt, SQLUSMALLINT col default: FIXME( "field id %u not handled\n", field_id ); @@ -20,7 +20,7 @@ index d0f3a837745..5d2c4a19915 100644 } return stmt->hdr.win32_funcs->SQLColAttributes( stmt->hdr.win32_handle, col, field_id, char_attr, buflen, -@@ -6320,7 +6319,6 @@ static SQLRETURN col_attribute_win32_w( struct statement *stmt, SQLUSMALLINT col +@@ -6391,7 +6390,6 @@ static SQLRETURN col_attribute_win32_w( struct statement *stmt, SQLUSMALLINT col default: FIXME( "field id %u not handled\n", field_id ); @@ -29,5 +29,5 @@ index d0f3a837745..5d2c4a19915 100644 ret = stmt->hdr.win32_funcs->SQLColAttributesW( stmt->hdr.win32_handle, col, field_id, char_attr, buflen, -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0009-odbc32-SQLDriverConnectW-fallback-to-SQLDriverConnec.patch b/patches/odbc32-fixes/0009-odbc32-SQLDriverConnectW-fallback-to-SQLDriverConnec.patch index 4ef0e291..754db17c 100644 --- a/patches/odbc32-fixes/0009-odbc32-SQLDriverConnectW-fallback-to-SQLDriverConnec.patch +++ b/patches/odbc32-fixes/0009-odbc32-SQLDriverConnectW-fallback-to-SQLDriverConnec.patch @@ -1,4 +1,4 @@ -From 9afd532ca391aa96bde3afdebcccdb9bc486ae2c Mon Sep 17 00:00:00 2001 +From e6c3fae4360c375015e75165fc9a3c16af79ec4a Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sat, 26 Apr 2025 12:33:23 +1000 Subject: [PATCH] odbc32: SQLDriverConnectW fallback to SQLDriverConnect when @@ -9,10 +9,10 @@ Subject: [PATCH] odbc32: SQLDriverConnectW fallback to SQLDriverConnect when 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 5d2c4a19915..56556bbdac9 100644 +index 0893537aef9..6685b4306f5 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -6866,11 +6866,44 @@ static SQLRETURN driver_connect_win32_w( struct connection *con, SQLHWND window, +@@ -6937,11 +6937,44 @@ static SQLRETURN driver_connect_win32_w( struct connection *con, SQLHWND window, SQLSMALLINT len, SQLWCHAR *out_conn_str, SQLSMALLINT buflen, SQLSMALLINT *len2, SQLUSMALLINT completion ) { @@ -60,5 +60,5 @@ index 5d2c4a19915..56556bbdac9 100644 static SQLRETURN driver_connect_unix_w( struct connection *con, SQLHWND window, SQLWCHAR *in_conn_str, SQLSMALLINT len, -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0010-odbc32-SQLGetInfoW-support-ANSI-fallback.patch b/patches/odbc32-fixes/0010-odbc32-SQLGetInfoW-support-ANSI-fallback.patch index 4e5f3f63..51cf55d7 100644 --- a/patches/odbc32-fixes/0010-odbc32-SQLGetInfoW-support-ANSI-fallback.patch +++ b/patches/odbc32-fixes/0010-odbc32-SQLGetInfoW-support-ANSI-fallback.patch @@ -1,4 +1,4 @@ -From f9722335c423390f60e2cd72dc4a9d60c8846990 Mon Sep 17 00:00:00 2001 +From f451eeaf15d825d8be8f5c661f5a9f249935674d Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sat, 26 Apr 2025 16:27:58 +1000 Subject: [PATCH] odbc32: SQLGetInfoW support ANSI fallback. @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLGetInfoW support ANSI fallback. 1 file changed, 70 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 56556bbdac9..63539882a61 100644 +index 6685b4306f5..e18117d5ad8 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -7033,13 +7033,81 @@ static SQLRETURN get_info_unix_w( struct connection *con, SQLUSMALLINT type, SQL +@@ -7104,13 +7104,81 @@ static SQLRETURN get_info_unix_w( struct connection *con, SQLUSMALLINT type, SQL return ODBC_CALL( SQLGetInfoW, ¶ms ); } @@ -96,5 +96,5 @@ index 56556bbdac9..63539882a61 100644 /************************************************************************* -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0011-odbc32-SQLExecDirectW-call-fallback-SQLExecDirect.patch b/patches/odbc32-fixes/0011-odbc32-SQLExecDirectW-call-fallback-SQLExecDirect.patch index c4508851..64dde06c 100644 --- a/patches/odbc32-fixes/0011-odbc32-SQLExecDirectW-call-fallback-SQLExecDirect.patch +++ b/patches/odbc32-fixes/0011-odbc32-SQLExecDirectW-call-fallback-SQLExecDirect.patch @@ -1,4 +1,4 @@ -From c78b5e8e4749612b72f2c838ba124c9469ed39e9 Mon Sep 17 00:00:00 2001 +From 8b2a6e19672b17ea61b2b4b5e141368a988ec9cf Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sat, 26 Apr 2025 17:07:21 +1000 Subject: [PATCH] odbc32: SQLExecDirectW call fallback SQLExecDirect @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLExecDirectW call fallback SQLExecDirect 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 63539882a61..25a76c8d111 100644 +index e18117d5ad8..aace16cde55 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -1099,6 +1099,20 @@ static SQLWCHAR *strnAtoW( const SQLCHAR *str, int len ) +@@ -1113,6 +1113,20 @@ static SQLWCHAR *strnAtoW( const SQLCHAR *str, int len ) return ret; } @@ -32,7 +32,7 @@ index 63539882a61..25a76c8d111 100644 static SQLRETURN columns_unix_a( struct statement *stmt, SQLCHAR *catalog, SQLSMALLINT len1, SQLCHAR *schema, SQLSMALLINT len2, SQLCHAR *table, SQLSMALLINT len3, SQLCHAR *column, SQLSMALLINT len4 ) -@@ -6078,10 +6092,17 @@ static SQLRETURN exec_direct_unix_w( struct statement *stmt, SQLWCHAR *text, SQL +@@ -6148,10 +6162,17 @@ static SQLRETURN exec_direct_unix_w( struct statement *stmt, SQLWCHAR *text, SQL static SQLRETURN exec_direct_win32_w( struct statement *stmt, SQLWCHAR *text, SQLINTEGER len ) { @@ -53,5 +53,5 @@ index 63539882a61..25a76c8d111 100644 /************************************************************************* -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0012-odbc32-SQLDescribeColW-add-ANSI-fallback.patch b/patches/odbc32-fixes/0012-odbc32-SQLDescribeColW-add-ANSI-fallback.patch index 96335fd1..63fc52ad 100644 --- a/patches/odbc32-fixes/0012-odbc32-SQLDescribeColW-add-ANSI-fallback.patch +++ b/patches/odbc32-fixes/0012-odbc32-SQLDescribeColW-add-ANSI-fallback.patch @@ -1,4 +1,4 @@ -From c17cf464a5d168c530dacaa64d888226fbf9f8e2 Mon Sep 17 00:00:00 2001 +From e482d2dec06bdbefa1aafff913cb34aeaa7c854e Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sat, 26 Apr 2025 17:32:49 +1000 Subject: [PATCH] odbc32: SQLDescribeColW add ANSI fallback @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLDescribeColW add ANSI fallback 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 25a76c8d111..0014bb0439f 100644 +index aace16cde55..00d25d06ec2 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -5980,11 +5980,21 @@ static SQLRETURN describe_col_win32_w( struct statement *stmt, SQLUSMALLINT col_ +@@ -6050,11 +6050,21 @@ static SQLRETURN describe_col_win32_w( struct statement *stmt, SQLUSMALLINT col_ SQLSMALLINT buf_len, SQLSMALLINT *name_len, SQLSMALLINT *data_type, SQLULEN *col_size, SQLSMALLINT *decimal_digits, SQLSMALLINT *nullable ) { @@ -36,5 +36,5 @@ index 25a76c8d111..0014bb0439f 100644 /************************************************************************* -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0013-odbc32-SQLGetStmtAttrW-add-ANSI-fallback.patch b/patches/odbc32-fixes/0013-odbc32-SQLGetStmtAttrW-add-ANSI-fallback.patch index 9b72139e..f8b906ff 100644 --- a/patches/odbc32-fixes/0013-odbc32-SQLGetStmtAttrW-add-ANSI-fallback.patch +++ b/patches/odbc32-fixes/0013-odbc32-SQLGetStmtAttrW-add-ANSI-fallback.patch @@ -1,4 +1,4 @@ -From ae7d0e7650782a8a577ef9130b8cb84061db7f51 Mon Sep 17 00:00:00 2001 +From f4cc704e3670031525d247e7c32eaf395dd303ce Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sat, 26 Apr 2025 17:35:38 +1000 Subject: [PATCH] odbc32: SQLGetStmtAttrW add ANSI fallback @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLGetStmtAttrW add ANSI fallback 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 0014bb0439f..ca5cd3214cd 100644 +index 00d25d06ec2..ab81b0d2bb7 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -6714,7 +6714,8 @@ static SQLRETURN get_stmt_attr_win32_w( struct statement *stmt, SQLINTEGER attr, +@@ -6785,7 +6785,8 @@ static SQLRETURN get_stmt_attr_win32_w( struct statement *stmt, SQLINTEGER attr, { if (stmt->hdr.win32_funcs->SQLGetStmtAttrW) return stmt->hdr.win32_funcs->SQLGetStmtAttrW( stmt->hdr.win32_handle, attr, value, buflen, retlen ); @@ -22,5 +22,5 @@ index 0014bb0439f..ca5cd3214cd 100644 } -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0014-odbc32-SQLSetStmtAttrW-add-ANSI-fallback.patch b/patches/odbc32-fixes/0014-odbc32-SQLSetStmtAttrW-add-ANSI-fallback.patch index ac7d1c5d..693391c1 100644 --- a/patches/odbc32-fixes/0014-odbc32-SQLSetStmtAttrW-add-ANSI-fallback.patch +++ b/patches/odbc32-fixes/0014-odbc32-SQLSetStmtAttrW-add-ANSI-fallback.patch @@ -1,4 +1,4 @@ -From 99f47c28203a9f80e3575fa15c424f1dee320cab Mon Sep 17 00:00:00 2001 +From 6a5e8b2df87ec1221ff85a4cef6d7eb9900ffafc Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sat, 26 Apr 2025 17:51:54 +1000 Subject: [PATCH] odbc32: SQLSetStmtAttrW add ANSI fallback @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLSetStmtAttrW add ANSI fallback 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index ca5cd3214cd..d8ec78d5ca7 100644 +index ab81b0d2bb7..bfec7c0aa18 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -8078,7 +8078,13 @@ static SQLRETURN set_stmt_attr_win32_w( struct statement *stmt, SQLINTEGER attr, +@@ -8149,7 +8149,13 @@ static SQLRETURN set_stmt_attr_win32_w( struct statement *stmt, SQLINTEGER attr, { if (stmt->hdr.win32_funcs->SQLSetStmtAttrW) return stmt->hdr.win32_funcs->SQLSetStmtAttrW( stmt->hdr.win32_handle, attr, value, len ); @@ -27,5 +27,5 @@ index ca5cd3214cd..d8ec78d5ca7 100644 { /* ODBC v2.0 */ -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0015-odbc32-Various-ANSI-fallback.patch b/patches/odbc32-fixes/0015-odbc32-Various-ANSI-fallback.patch index 255f7bef..8e56c800 100644 --- a/patches/odbc32-fixes/0015-odbc32-Various-ANSI-fallback.patch +++ b/patches/odbc32-fixes/0015-odbc32-Various-ANSI-fallback.patch @@ -1,4 +1,4 @@ -From fc10681276f35a614958e2aae518676b30ba4d63 Mon Sep 17 00:00:00 2001 +From 6a082863d0f060d429833e663a12f1fcea2646b7 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sat, 26 Apr 2025 19:18:17 +1000 Subject: [PATCH] odbc32: Various ANSI fallback @@ -9,10 +9,10 @@ Needs spliting. 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index d8ec78d5ca7..8a5d91fb2a9 100644 +index bfec7c0aa18..299d4eb2580 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -6416,7 +6416,13 @@ static SQLRETURN get_connect_attr_win32_w( struct connection *con, SQLINTEGER at +@@ -6487,7 +6487,13 @@ static SQLRETURN get_connect_attr_win32_w( struct connection *con, SQLINTEGER at { if (con->hdr.win32_funcs->SQLGetConnectAttrW) return con->hdr.win32_funcs->SQLGetConnectAttrW( con->hdr.win32_handle, attr, value, buflen, retlen ); @@ -27,7 +27,7 @@ index d8ec78d5ca7..8a5d91fb2a9 100644 return SQL_ERROR; } -@@ -6582,7 +6588,12 @@ static SQLRETURN get_diag_field_win32_w( SQLSMALLINT type, struct object *obj, S +@@ -6653,7 +6659,12 @@ static SQLRETURN get_diag_field_win32_w( SQLSMALLINT type, struct object *obj, S if (obj->win32_funcs->SQLGetDiagFieldW) return obj->win32_funcs->SQLGetDiagFieldW( type, obj->win32_handle, rec_num, diag_id, diag_info, buflen, retlen ); @@ -41,7 +41,7 @@ index d8ec78d5ca7..8a5d91fb2a9 100644 return SQL_ERROR; } -@@ -6785,7 +6796,13 @@ static SQLRETURN set_connect_attr_win32_w( struct connection *con, SQLINTEGER at +@@ -6856,7 +6867,13 @@ static SQLRETURN set_connect_attr_win32_w( struct connection *con, SQLINTEGER at { if (con->hdr.win32_funcs->SQLSetConnectAttrW) return con->hdr.win32_funcs->SQLSetConnectAttrW( con->hdr.win32_handle, attr, value, len ); @@ -56,7 +56,7 @@ index d8ec78d5ca7..8a5d91fb2a9 100644 else if(con->hdr.win32_funcs->SQLSetConnectOptionW) { /* ODBC v2 */ -@@ -8024,7 +8041,13 @@ static SQLRETURN set_desc_field_win32_w( struct descriptor *desc, SQLSMALLINT re +@@ -8095,7 +8112,13 @@ static SQLRETURN set_desc_field_win32_w( struct descriptor *desc, SQLSMALLINT re { if (desc->hdr.win32_funcs->SQLSetDescFieldW) return desc->hdr.win32_funcs->SQLSetDescFieldW( desc->hdr.win32_handle, record, id, value, len ); @@ -72,5 +72,5 @@ index d8ec78d5ca7..8a5d91fb2a9 100644 } -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0016-odbc32-SQLColAttributesW-support-ANSI-fallback.patch b/patches/odbc32-fixes/0016-odbc32-SQLColAttributesW-support-ANSI-fallback.patch index c18cc6f0..f5618371 100644 --- a/patches/odbc32-fixes/0016-odbc32-SQLColAttributesW-support-ANSI-fallback.patch +++ b/patches/odbc32-fixes/0016-odbc32-SQLColAttributesW-support-ANSI-fallback.patch @@ -1,4 +1,4 @@ -From 43cae804e03b3554f1e5058264c6f16a1eaebf8b Mon Sep 17 00:00:00 2001 +From 0da817a544ba22635b6adbcc1485afdb82b0eb60 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Mon, 28 Apr 2025 10:54:55 +1000 Subject: [PATCH] odbc32: SQLColAttributesW support ANSI fallback @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLColAttributesW support ANSI fallback 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 8a5d91fb2a9..cc8a718a754 100644 +index 299d4eb2580..11a9633af82 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -4636,6 +4636,10 @@ static SQLRETURN col_attributes_unix_a( struct statement *stmt, SQLUSMALLINT col +@@ -4706,6 +4706,10 @@ static SQLRETURN col_attributes_unix_a( struct statement *stmt, SQLUSMALLINT col return ret; } @@ -22,7 +22,7 @@ index 8a5d91fb2a9..cc8a718a754 100644 static SQLRETURN col_attributes_win32_a( struct statement *stmt, SQLUSMALLINT col, SQLUSMALLINT field_id, SQLPOINTER char_attrs, SQLSMALLINT buflen, SQLSMALLINT *retlen, SQLLEN *num_attrs ) -@@ -5844,11 +5848,17 @@ static SQLRETURN col_attributes_win32_w( struct statement *stmt, SQLUSMALLINT co +@@ -5914,11 +5918,17 @@ static SQLRETURN col_attributes_win32_w( struct statement *stmt, SQLUSMALLINT co SQLPOINTER char_attrs, SQLSMALLINT buflen, SQLSMALLINT *retlen, SQLLEN *num_attrs ) { @@ -41,7 +41,7 @@ index 8a5d91fb2a9..cc8a718a754 100644 } /************************************************************************* -@@ -6300,8 +6310,34 @@ static SQLRETURN col_attribute_win32_w( struct statement *stmt, SQLUSMALLINT col +@@ -6370,8 +6380,34 @@ static SQLRETURN col_attribute_win32_w( struct statement *stmt, SQLUSMALLINT col if (stmt->hdr.win32_funcs->SQLColAttribute) { @@ -79,5 +79,5 @@ index 8a5d91fb2a9..cc8a718a754 100644 if (stmt->hdr.win32_funcs->SQLColAttributesW) -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0017-odbc32-SQLColAttributeW-Add-ANSI-fallback.patch b/patches/odbc32-fixes/0017-odbc32-SQLColAttributeW-Add-ANSI-fallback.patch index 211ea466..4bb212cb 100644 --- a/patches/odbc32-fixes/0017-odbc32-SQLColAttributeW-Add-ANSI-fallback.patch +++ b/patches/odbc32-fixes/0017-odbc32-SQLColAttributeW-Add-ANSI-fallback.patch @@ -1,4 +1,4 @@ -From 644fc34023107225a278abc7a41249c98ab1126b Mon Sep 17 00:00:00 2001 +From 6906a9555d2410c326e3c1273052ee25a1156e1c Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Tue, 29 Apr 2025 13:08:38 +1000 Subject: [PATCH] odbc32: SQLColAttributeW - Add ANSI fallback @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLColAttributeW - Add ANSI fallback 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index cc8a718a754..be4908e258a 100644 +index 11a9633af82..d6946e1c66d 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -6340,7 +6340,7 @@ static SQLRETURN col_attribute_win32_w( struct statement *stmt, SQLUSMALLINT col +@@ -6410,7 +6410,7 @@ static SQLRETURN col_attribute_win32_w( struct statement *stmt, SQLUSMALLINT col return ret; } @@ -20,7 +20,7 @@ index cc8a718a754..be4908e258a 100644 { if (buflen < 0) return SQL_ERROR; if (!col) -@@ -6388,8 +6388,43 @@ static SQLRETURN col_attribute_win32_w( struct statement *stmt, SQLUSMALLINT col +@@ -6459,8 +6459,43 @@ static SQLRETURN col_attribute_win32_w( struct statement *stmt, SQLUSMALLINT col FIXME( "field id %u not handled\n", field_id ); } @@ -66,5 +66,5 @@ index cc8a718a754..be4908e258a 100644 env = (struct environment *)find_object_type(SQL_HANDLE_ENV, stmt->hdr.parent); if (SQL_SUCCEEDED(ret) && num_attr && field_id == SQL_COLUMN_TYPE && -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0018-odbc32-SQLGetDiagRecW-add-ANSI-fallback.patch b/patches/odbc32-fixes/0018-odbc32-SQLGetDiagRecW-add-ANSI-fallback.patch index dd3077c4..27032e81 100644 --- a/patches/odbc32-fixes/0018-odbc32-SQLGetDiagRecW-add-ANSI-fallback.patch +++ b/patches/odbc32-fixes/0018-odbc32-SQLGetDiagRecW-add-ANSI-fallback.patch @@ -1,4 +1,4 @@ -From 1d2d97060b72cc99498fa440ae603f7db8ea74da Mon Sep 17 00:00:00 2001 +From a5f46ebf71b1ae10a8af5224157532639b5cd2b4 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Thu, 1 May 2025 07:32:58 +1000 Subject: [PATCH] odbc32: SQLGetDiagRecW add ANSI fallback. @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLGetDiagRecW add ANSI fallback. 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index be4908e258a..393eefc9791 100644 +index d6946e1c66d..4ff20236cce 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -6720,8 +6720,9 @@ static SQLRETURN get_diag_rec_win32_w( SQLSMALLINT type, struct object *obj, SQL +@@ -6791,8 +6791,9 @@ static SQLRETURN get_diag_rec_win32_w( SQLSMALLINT type, struct object *obj, SQL return SQL_ERROR; } @@ -22,7 +22,7 @@ index be4908e258a..393eefc9791 100644 SQLHENV env = NULL; SQLHDBC con = NULL; SQLHSTMT stmt = NULL; -@@ -6746,7 +6747,27 @@ static SQLRETURN get_diag_rec_win32_w( SQLSMALLINT type, struct object *obj, SQL +@@ -6817,7 +6818,27 @@ static SQLRETURN get_diag_rec_win32_w( SQLSMALLINT type, struct object *obj, SQL return SQL_ERROR; } @@ -52,5 +52,5 @@ index be4908e258a..393eefc9791 100644 return SQL_ERROR; -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0019-odbc32-SQLNativeSqlW-add-ANSI-fallback.patch b/patches/odbc32-fixes/0019-odbc32-SQLNativeSqlW-add-ANSI-fallback.patch index 9d9703f2..1a0cd153 100644 --- a/patches/odbc32-fixes/0019-odbc32-SQLNativeSqlW-add-ANSI-fallback.patch +++ b/patches/odbc32-fixes/0019-odbc32-SQLNativeSqlW-add-ANSI-fallback.patch @@ -1,4 +1,4 @@ -From 98f3cf627bba58f36113edb678c72afe86c2ea85 Mon Sep 17 00:00:00 2001 +From 472c0a3a3962a82dc17fc3c0aa2dc6ed5ade8b22 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Thu, 1 May 2025 08:05:31 +1000 Subject: [PATCH] odbc32: SQLNativeSqlW add ANSI fallback @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLNativeSqlW add ANSI fallback 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 393eefc9791..9d4126112c3 100644 +index 4ff20236cce..416d5aa77fa 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -7824,11 +7824,33 @@ static SQLRETURN native_sql_unix_w( struct connection *con, SQLWCHAR *in_stateme +@@ -7895,11 +7895,33 @@ static SQLRETURN native_sql_unix_w( struct connection *con, SQLWCHAR *in_stateme static SQLRETURN native_sql_win32_w( struct connection *con, SQLWCHAR *in_statement, SQLINTEGER len, SQLWCHAR *out_statement, SQLINTEGER buflen, SQLINTEGER *retlen ) { @@ -48,5 +48,5 @@ index 393eefc9791..9d4126112c3 100644 /************************************************************************* -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0020-odbc32-SQLPrepareW-add-ANSI-fallback.patch b/patches/odbc32-fixes/0020-odbc32-SQLPrepareW-add-ANSI-fallback.patch index 53fcc5d4..cac88cf7 100644 --- a/patches/odbc32-fixes/0020-odbc32-SQLPrepareW-add-ANSI-fallback.patch +++ b/patches/odbc32-fixes/0020-odbc32-SQLPrepareW-add-ANSI-fallback.patch @@ -1,4 +1,4 @@ -From 55c6d603a469ec3d03b82f4b4237be769f8acae6 Mon Sep 17 00:00:00 2001 +From 52ea953c3395206435d5bd9eb9f3dbbebde47993 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Thu, 1 May 2025 08:10:04 +1000 Subject: [PATCH] odbc32: SQLPrepareW add ANSI fallback @@ -8,10 +8,10 @@ Subject: [PATCH] odbc32: SQLPrepareW add ANSI fallback 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 9d4126112c3..76c104e3a4a 100644 +index 416d5aa77fa..138ccb0f112 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -6204,10 +6204,17 @@ static SQLRETURN prepare_unix_w( struct statement *stmt, SQLWCHAR *statement, SQ +@@ -6274,10 +6274,17 @@ static SQLRETURN prepare_unix_w( struct statement *stmt, SQLWCHAR *statement, SQ static SQLRETURN prepare_win32_w( struct statement *stmt, SQLWCHAR *statement, SQLINTEGER len ) { @@ -32,5 +32,5 @@ index 9d4126112c3..76c104e3a4a 100644 /************************************************************************* -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0022-odbc32-SQLBindCol-remap-unicode-field-when-using-ANS.patch b/patches/odbc32-fixes/0022-odbc32-SQLBindCol-remap-unicode-field-when-using-ANS.patch index e7545f58..1dbab0e2 100644 --- a/patches/odbc32-fixes/0022-odbc32-SQLBindCol-remap-unicode-field-when-using-ANS.patch +++ b/patches/odbc32-fixes/0022-odbc32-SQLBindCol-remap-unicode-field-when-using-ANS.patch @@ -1,18 +1,17 @@ -From e8d33e2603801f65e1ecdba0c903207584845400 Mon Sep 17 00:00:00 2001 +From ccd84e24c5af9ef8a99f19a3e0fa67a062cf5c1b Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 2 May 2025 12:13:30 +1000 -Subject: [PATCH 2/4] odbc32: SQLBindCol remap unicode field when using ANSI - driver +Subject: [PATCH] odbc32: SQLBindCol remap unicode field when using ANSI driver --- dlls/odbc32/proxyodbc.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index ce69e3ae134..07e94c80ded 100644 +index 138ccb0f112..74d0ebe1db2 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -809,9 +809,42 @@ static SQLRETURN bind_col_unix( struct statement *stmt, SQLUSMALLINT column, SQL +@@ -822,9 +822,42 @@ static SQLRETURN bind_col_unix( struct statement *stmt, SQLUSMALLINT column, SQL } } @@ -56,5 +55,5 @@ index ce69e3ae134..07e94c80ded 100644 return stmt->hdr.win32_funcs->SQLBindCol( stmt->hdr.win32_handle, column, type, value, buflen, retlen ); return SQL_ERROR; -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0023-odbc32-SQLFetch-convert-to-ANSI-when-required.patch b/patches/odbc32-fixes/0023-odbc32-SQLFetch-convert-to-ANSI-when-required.patch index 06a1b54b..c50c8722 100644 --- a/patches/odbc32-fixes/0023-odbc32-SQLFetch-convert-to-ANSI-when-required.patch +++ b/patches/odbc32-fixes/0023-odbc32-SQLFetch-convert-to-ANSI-when-required.patch @@ -1,17 +1,17 @@ -From 0f690546c57c6bc04fbbf3b16fc8842ce3a41300 Mon Sep 17 00:00:00 2001 +From 1ce21cabdc0f3b1e8fa4f631e43837326402ddab Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Mon, 5 May 2025 10:11:29 +1000 -Subject: [PATCH 3/4] odbc32: SQLFetch convert to ANSI when required. +Subject: [PATCH] odbc32: SQLFetch convert to ANSI when required. --- dlls/odbc32/proxyodbc.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 07e94c80ded..a278212b092 100644 +index 74d0ebe1db2..a94b31cc544 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -2008,9 +2008,31 @@ static SQLRETURN fetch_unix( struct statement *stmt ) +@@ -2055,9 +2055,31 @@ static SQLRETURN fetch_unix( struct statement *stmt ) static SQLRETURN fetch_win32( struct statement *stmt ) { @@ -46,5 +46,5 @@ index 07e94c80ded..a278212b092 100644 /************************************************************************* -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0024-odbc32-SQLGetData-handle-ANSI-driver.patch b/patches/odbc32-fixes/0024-odbc32-SQLGetData-handle-ANSI-driver.patch index 7de848c4..528d26b2 100644 --- a/patches/odbc32-fixes/0024-odbc32-SQLGetData-handle-ANSI-driver.patch +++ b/patches/odbc32-fixes/0024-odbc32-SQLGetData-handle-ANSI-driver.patch @@ -1,17 +1,17 @@ -From e53a04352963f1c50cf50b2d5950762c027a5c25 Mon Sep 17 00:00:00 2001 +From d2d82abfba3d43d4416f14ac5318acd4eab8528c Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Mon, 5 May 2025 10:17:22 +1000 -Subject: [PATCH 4/4] odbc32: SQLGetData handle ANSI driver +Subject: [PATCH] odbc32: SQLGetData handle ANSI driver --- dlls/odbc32/proxyodbc.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index a278212b092..770b455ad5d 100644 +index a94b31cc544..78ec2683e63 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -2550,8 +2550,11 @@ static struct object *find_object_type(SQLSMALLINT type, struct object *object) +@@ -2592,8 +2592,11 @@ static SQLRETURN get_data_unix( struct statement *stmt, SQLUSMALLINT column, SQL static SQLRETURN get_data_win32( struct statement *stmt, SQLUSMALLINT column, SQLSMALLINT type, SQLPOINTER value, SQLLEN buflen, SQLLEN *retlen ) { @@ -23,7 +23,7 @@ index a278212b092..770b455ad5d 100644 struct environment *env = (struct environment *)find_object_type(SQL_HANDLE_ENV, stmt->hdr.parent); if (env && env->driver_ver == SQL_OV_ODBC2) { -@@ -2563,10 +2566,29 @@ static SQLRETURN get_data_win32( struct statement *stmt, SQLUSMALLINT column, SQ +@@ -2605,10 +2608,29 @@ static SQLRETURN get_data_win32( struct statement *stmt, SQLUSMALLINT column, SQ type = SQL_C_TIMESTAMP; } @@ -56,5 +56,5 @@ index a278212b092..770b455ad5d 100644 /************************************************************************* -- -2.47.2 +2.50.1 diff --git a/patches/odbc32-fixes/0025-odbc32-SQLDriverConnect-W-reuse-environment-handle-i.patch b/patches/odbc32-fixes/0025-odbc32-SQLDriverConnect-W-reuse-environment-handle-i.patch index 69018037..283c0a52 100644 --- a/patches/odbc32-fixes/0025-odbc32-SQLDriverConnect-W-reuse-environment-handle-i.patch +++ b/patches/odbc32-fixes/0025-odbc32-SQLDriverConnect-W-reuse-environment-handle-i.patch @@ -1,4 +1,4 @@ -From 2af873781003a7daa60c8e7f4652afb0d8097009 Mon Sep 17 00:00:00 2001 +From 440409f4a44ed6b44a2e8d9b316d24c01e064197 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 7 May 2025 14:26:13 +1000 Subject: [PATCH] odbc32: SQLDriverConnect/W reuse environment handle is @@ -9,10 +9,10 @@ Subject: [PATCH] odbc32: SQLDriverConnect/W reuse environment handle is 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c -index 770b455ad5d..93c0ddc817c 100644 +index 78ec2683e63..2ae10549310 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c -@@ -5792,6 +5792,8 @@ SQLRETURN WINAPI SQLDriverConnect(SQLHDBC ConnectionHandle, SQLHWND WindowHandle +@@ -5861,6 +5861,8 @@ SQLRETURN WINAPI SQLDriverConnect(SQLHDBC ConnectionHandle, SQLHWND WindowHandle if (has_suffix( filename, L".dll" )) { @@ -21,7 +21,7 @@ index 770b455ad5d..93c0ddc817c 100644 if (!(con->hdr.win32_funcs = con->hdr.parent->win32_funcs = load_driver( filename ))) { WARN( "failed to load driver %s\n", debugstr_w(filename) ); -@@ -5799,7 +5801,11 @@ SQLRETURN WINAPI SQLDriverConnect(SQLHDBC ConnectionHandle, SQLHWND WindowHandle +@@ -5868,7 +5870,11 @@ SQLRETURN WINAPI SQLDriverConnect(SQLHDBC ConnectionHandle, SQLHWND WindowHandle } TRACE( "using Windows driver %s\n", debugstr_w(filename) ); @@ -34,7 +34,7 @@ index 770b455ad5d..93c0ddc817c 100644 if (!SUCCESS((ret = create_con( con )))) goto done; ret = driver_connect_win32_a( con, WindowHandle, strA, Length, OutConnectionString, BufferLength, Length2, -@@ -7179,6 +7185,7 @@ SQLRETURN WINAPI SQLDriverConnectW(SQLHDBC ConnectionHandle, SQLHWND WindowHandl +@@ -7248,6 +7254,7 @@ SQLRETURN WINAPI SQLDriverConnectW(SQLHDBC ConnectionHandle, SQLHWND WindowHandl if (has_suffix( filename, L".dll" )) { @@ -42,7 +42,7 @@ index 770b455ad5d..93c0ddc817c 100644 if (!(con->hdr.win32_funcs = con->hdr.parent->win32_funcs = load_driver( filename ))) { WARN( "failed to load driver %s\n", debugstr_w(filename) ); -@@ -7186,7 +7193,12 @@ SQLRETURN WINAPI SQLDriverConnectW(SQLHDBC ConnectionHandle, SQLHWND WindowHandl +@@ -7255,7 +7262,12 @@ SQLRETURN WINAPI SQLDriverConnectW(SQLHDBC ConnectionHandle, SQLHWND WindowHandl } TRACE( "using Windows driver %s\n", debugstr_w(filename) ); @@ -57,5 +57,5 @@ index 770b455ad5d..93c0ddc817c 100644 ret = driver_connect_win32_w( con, WindowHandle, InConnectionString, Length, OutConnectionString, -- -2.47.2 +2.50.1