[PATCH 0/1] MR4337: msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating of a row.
Native returns 19 rows of all features it supports. However as a start, only these three are required to supported a row. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4337
From: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> --- 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..4e30baded93 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 exta_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) * exta_columns); + if (!*columns) + return E_OUTOFMEMORY; + + *count = exta_columns; + *columns[0] = DBCOLUMN_BASETABLENAME; + *columns[1] = DBCOLUMN_BASECOLUMNNAME; + *columns[2] = DBCOLUMN_KEYCOLUMN; return S_OK; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/4337
participants (2)
-
Alistair Leslie-Hughes -
Alistair Leslie-Hughes (@alesliehughes)