Commit 26909848 authored by Alistair Leslie-Hughes's avatar Alistair Leslie-Hughes Committed by Alexandre Julliard

msdasql: IColumnsRowset::GetAvailableColumns return 3 meta columns to allow updating of a row.

parent 40251bff
...@@ -1202,6 +1202,7 @@ static ULONG WINAPI column_rs_Release(IColumnsRowset *iface) ...@@ -1202,6 +1202,7 @@ static ULONG WINAPI column_rs_Release(IColumnsRowset *iface)
static HRESULT WINAPI column_rs_GetAvailableColumns(IColumnsRowset *iface, DBORDINAL *count, DBID **columns) static HRESULT WINAPI column_rs_GetAvailableColumns(IColumnsRowset *iface, DBORDINAL *count, DBID **columns)
{ {
struct msdasql_rowset *rowset = impl_from_IColumnsRowset( iface ); struct msdasql_rowset *rowset = impl_from_IColumnsRowset( iface );
const DBORDINAL extra_columns = 3;
TRACE("%p, %p, %p\n", rowset, count, columns); TRACE("%p, %p, %p\n", rowset, count, columns);
...@@ -1209,7 +1210,14 @@ static HRESULT WINAPI column_rs_GetAvailableColumns(IColumnsRowset *iface, DBORD ...@@ -1209,7 +1210,14 @@ static HRESULT WINAPI column_rs_GetAvailableColumns(IColumnsRowset *iface, DBORD
return E_INVALIDARG; return E_INVALIDARG;
*count = 0; *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; return S_OK;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment