From: Nando D. <na...@us...> - 2005-02-03 16:51:38
|
Update of /cvsroot/instantobjects/Source/Brokers/UIB In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7554/Brokers/UIB Modified Files: InstantUIB.pas Log Message: changes related to the statement cache Index: InstantUIB.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/UIB/InstantUIB.pas,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** InstantUIB.pas 17 Dec 2004 11:25:11 -0000 1.4 --- InstantUIB.pas 3 Feb 2005 16:51:28 -0000 1.5 *************** *** 108,112 **** end; ! TInstantUIBBroker= class(TInstantSQLBroker) private function GetDialect: Integer; --- 108,112 ---- end; ! TInstantUIBBroker = class(TInstantSQLBroker) private function GetDialect: Integer; *************** *** 409,426 **** Query: TJvUIBDataSet; begin ! Query := TJvUIBDataSet.Create(NIl); ! with Query do ! begin ! Database := Connector.Connection.Database; ! FetchBlobs := True; ! OnError := etmStayIn; ! OnClose := etmStayIn; ! SQL.Text := AStatement; ! Transaction := Connector.Transaction; ! UniDirectional := True; if Assigned(AParams) then AssignDataSetParams(Query, AParams); end; - Result := Query; end; --- 409,428 ---- Query: TJvUIBDataSet; begin ! Query := TJvUIBDataSet.Create(nil); ! try ! Query.Database := Connector.Connection.Database; ! Query.FetchBlobs := True; ! Query.OnError := etmStayIn; ! Query.OnClose := etmStayIn; ! Query.SQL.Text := AStatement; ! Query.Transaction := Connector.Transaction; ! Query.UniDirectional := True; if Assigned(AParams) then AssignDataSetParams(Query, AParams); + Result := Query; + except + Query.Free; + raise; end; end; *************** *** 456,466 **** function TInstantUIBBroker.Execute(const AStatement: string; AParams: TParams): Integer; begin ! with CreateDataSet(AStatement, AParams) as TJvUIBDataSet do try ! Execute; ! Result := RowsAffected; finally ! Free; end; end; --- 458,470 ---- function TInstantUIBBroker.Execute(const AStatement: string; AParams: TParams): Integer; + var + DataSet: TJvUIBDataSet; begin ! DataSet := AcquireDataSet(AStatement, AParams) as TJvUIBDataSet; try ! DataSet.Execute; ! Result := DataSet.RowsAffected; finally ! ReleaseDataSet(DataSet); end; end; |