Alistair Leslie-Hughes : msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating of a row.
Module: wine Branch: master Commit: 2690984822a8462aef5ad0b15aaf27a982f4f8ae URL: https://gitlab.winehq.org/wine/wine/-/commit/2690984822a8462aef5ad0b15aaf27a... Author: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Date: Wed Nov 8 20:01:28 2023 +1100 msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating of a row. --- dlls/msdasql/session.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/dlls/msdasql/session.c b/dlls/msdasql/session.c index 056468f1054..1aa1132f40a 100644 --- a/dlls/msdasql/session.c +++ b/dlls/msdasql/session.c @@ -1202,6 +1202,7 @@ static ULONG WINAPI column_rs_Release(IColumnsRowset *iface) static HRESULT WINAPI column_rs_GetAvailableColumns(IColumnsRowset *iface, DBORDINAL *count, DBID **columns) { struct msdasql_rowset *rowset = impl_from_IColumnsRowset( iface ); + const DBORDINAL extra_columns = 3; TRACE("%p, %p, %p\n", rowset, count, columns); @@ -1209,7 +1210,14 @@ static HRESULT WINAPI column_rs_GetAvailableColumns(IColumnsRowset *iface, DBORD return E_INVALIDARG; *count = 0; - *columns = NULL; + *columns = CoTaskMemAlloc(sizeof(DBID) * extra_columns); + if (!*columns) + return E_OUTOFMEMORY; + + *count = extra_columns; + *columns[0] = DBCOLUMN_BASETABLENAME; + *columns[1] = DBCOLUMN_BASECOLUMNNAME; + *columns[2] = DBCOLUMN_KEYCOLUMN; return S_OK; }
participants (1)
-
Alexandre Julliard