On Sun, 2021-02-21 at 19:45 +1100, Alistair Leslie-Hughes wrote:
+static HRESULT WINAPI connection_Execute( _Connection *iface, BSTR command, VARIANT *records_affected,
LONG options, _Recordset **record_set )
+{
- struct connection *connection = impl_from_Connection( iface );
- HRESULT hr;
- ICommandText *comand_text = NULL;
- DBROWCOUNT affected;
- IUnknown *rowset = NULL;
- _Recordset *recordset = NULL;
These initializations are not necessary.
- ADORecordsetConstruction *construct;
- FIXME( "%p, %s, %p, 0x%08x, %p Semi-stub\n", iface, debugstr_w(command), records_affected, options, record_set );
- if (connection->state == adStateClosed) return MAKE_ADO_HRESULT( adErrObjectClosed );
- hr = create_command_text(connection->session, command, &comand_text);
if (FAILED(hr))
goto done;
return hr;
hr = ICommandText_Execute(comand_text, NULL, &IID_IUnknown, NULL, &affected, &rowset);
- ICommandText_Release(comand_text);
if (FAILED(hr))
goto done;
return hr;
hr = Recordset_create( (void**)&recordset); if (FAILED(hr))
goto done;
- {
return hr;
- }
rowset should be released here.