From: Steven M. <sr...@us...> - 2005-02-18 08:19:27
|
Update of /cvsroot/instantobjects/Source/Brokers/NexusDbSQL In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4734 Modified Files: InstantNexusDbSQLConnectionDefEdit.pas InstantNexusDbSQLConnectionDefEdit.dfm InstantNexusDbSQL.pas Log Message: Further updates to the NexusDbSQL Broker. 1. Integrated with CVS code as of 8:00am on 14 Feb 2005 (AESDT); 2. Fixes to improve OQL behaviour. 3. Fixes for D5 support. Index: InstantNexusDbSQL.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/NexusDbSQL/InstantNexusDbSQL.pas,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** InstantNexusDbSQL.pas 20 Nov 2004 10:52:31 -0000 1.2 --- InstantNexusDbSQL.pas 18 Feb 2005 08:19:17 -0000 1.3 *************** *** 63,66 **** --- 63,69 ---- uses + {$IFDEF MSWINDOWS} + Windows, + {$ENDIF} Classes, Db, SysUtils, InstantPersistence, InstantClasses, InstantCommand, nxdb, nxsdServerEngine, nxreRemoteServerEngine, nxllComponent, *************** *** 129,132 **** --- 132,136 ---- function CreateResolver(Map: TInstantAttributeMap): TInstantSQLResolver; override; function GetDBMSName: string; override; + function GetSQLDelimiters: String; override; // SRM - 20 Jan 2005 function GetSQLQuote: Char; override; function InternalCreateQuery: TInstantQuery; override; *************** *** 144,148 **** TInstantNexusDbSQLResolver = class(TInstantSQLResolver); ! TInstantNexusDbSQLTranslator = class(TInstantRelationalTranslator); TInstantNexusDbSQLQuery = class(TInstantSQLQuery) --- 148,157 ---- TInstantNexusDbSQLResolver = class(TInstantSQLResolver); ! TInstantNexusDbSQLTranslator = class(TInstantRelationalTranslator) ! protected ! function GetDelimiters: String; override; // SRM - 20 Jan 2005 ! function GetQuote: Char; override; // SRM - 29 Dec 2004 ! function IncludeOrderFields: Boolean; override; // SRM - 29 Dec 2004 ! end; TInstantNexusDbSQLQuery = class(TInstantSQLQuery) *************** *** 154,159 **** uses ! Controls, InstantConsts, InstantNexusDbSQLConnectionDefEdit, InstantUtils, ! nxdbBase, nxsdTypes; procedure TInstantNexusDbSQLConnectionDef.LoadAliasList(FALiasList : TStrings); --- 163,171 ---- uses ! Controls, InstantConsts, InstantNexusDbSQLConnectionDefEdit, ! InstantUtils, nxdbBase, nxsdTypes; ! ! const ! SUndefined = 'Undefined'; procedure TInstantNexusDbSQLConnectionDef.LoadAliasList(FALiasList : TStrings); *************** *** 209,213 **** class function TInstantNexusDbSQLConnectionDef.ConnectionTypeName: string; begin ! Result := 'NexusDbSQL'; end; --- 221,225 ---- class function TInstantNexusDbSQLConnectionDef.ConnectionTypeName: string; begin ! Result := 'NexusDb (Remote/SQL)'; // SRM - 29 Dec 2004 end; *************** *** 294,303 **** function TInstantNexusDbSQLConnector.GetDatabaseName: string; begin ! Result := Database.AliasName; end; function TInstantNexusDbSQLConnector.GetDBMSName: string; begin ! Result := 'NexusDb'; end; --- 306,318 ---- function TInstantNexusDbSQLConnector.GetDatabaseName: string; begin ! if Assigned(Database) then // SRM - 29 Dec 2004 ! Result := Database.AliasName ! else // SRM - 29 Dec 2004 ! Result := SUndefined; // SRM - 29 Dec 2004 end; function TInstantNexusDbSQLConnector.GetDBMSName: string; begin ! Result := 'NexusDb (Remote/SQL)'; // SRM - 29 Dec 2004 end; *************** *** 430,434 **** procedure TInstantNexusDbSQLConnector.InternalCommitTransaction; begin ! Database.Commit; end; --- 445,450 ---- procedure TInstantNexusDbSQLConnector.InternalCommitTransaction; begin ! if Database.InTransaction then // SRM - 29 Dec 2004 ! Database.Commit; end; *************** *** 451,460 **** procedure TInstantNexusDbSQLConnector.InternalRollbackTransaction; begin ! Database.Rollback; end; procedure TInstantNexusDbSQLConnector.InternalStartTransaction; begin ! Database.StartTransaction; end; --- 467,478 ---- procedure TInstantNexusDbSQLConnector.InternalRollbackTransaction; begin ! if Database.InTransaction then // SRM - 29 Dec 2004 ! Database.Rollback; end; procedure TInstantNexusDbSQLConnector.InternalStartTransaction; begin ! if not Database.InTransaction then // SRM - 29 Dec 2004 ! Database.StartTransaction; end; *************** *** 495,499 **** Result := Query; //CodeSite.ExitMethod('TInstantNexusDbSQLBroker.CreateDataSet'); ! end; function TInstantNexusDbSQLBroker.CreateResolver( --- 513,517 ---- Result := Query; //CodeSite.ExitMethod('TInstantNexusDbSQLBroker.CreateDataSet'); ! end; function TInstantNexusDbSQLBroker.CreateResolver( *************** *** 525,537 **** function TInstantNexusDbSQLBroker.Execute(const AStatement: string; AParams: TParams): Integer; begin //CodeSite.SendFmtMsg('SQL Statement: %s', [#13 + AStatement]); ! with CreateDataSet(AStatement, AParams) as TNexusDbQuery do try ! ExecSQL; ! Result := RowsAffected; finally ! Free; end; end; --- 543,559 ---- function TInstantNexusDbSQLBroker.Execute(const AStatement: string; AParams: TParams): Integer; + var // SRM - 11 Feb 2005 + DataSet: TNexusDbQuery; // SRM - 11 Feb 2005 begin //CodeSite.SendFmtMsg('SQL Statement: %s', [#13 + AStatement]); ! // SRM - 11 Feb 2005: begin ! DataSet := AcquireDataSet(AStatement, AParams) as TNexusDbQuery; try ! DataSet.ExecSQL; ! Result := DataSet.RowsAffected; finally ! ReleaseDataSet(DataSet); end; + // SRM - 11 Feb 2005: end end; *************** *** 556,561 **** function TInstantNexusDbSQLBroker.GetDBMSName: string; begin ! Result := 'NexusDbSQL'; end; function TInstantNexusDbSQLBroker.GetSQLQuote: Char; --- 578,590 ---- function TInstantNexusDbSQLBroker.GetDBMSName: string; begin ! Result := 'NexusDb (Remote/SQL)'; // SRM - 29 Dec 2004 ! end; ! ! // SRM - 20 Jan 2005: begin ! function TInstantNexusDbSQLBroker.GetSQLDelimiters: String; ! begin ! Result := '""'; end; + // SRM - 20 Jan 2005: end function TInstantNexusDbSQLBroker.GetSQLQuote: Char; *************** *** 599,602 **** --- 628,652 ---- end; + { TInstantNexusDbSQLTranslator } + + // SRM - 20 Jan 2005: begin + function TInstantNexusDbSQLTranslator.GetDelimiters: String; + begin + Result := '""'; + end; + // SRM - 20 Jan 2005: end + + // SRM - 29 Dec 2004: begin + function TInstantNexusDbSQLTranslator.GetQuote: Char; + begin + Result := ''''; + end; + + function TInstantNexusDbSQLTranslator.IncludeOrderFields: Boolean; + begin + Result := True; + end; + // SRM - 29 Dec 2004: end + initialization RegisterClass(TInstantNexusDbSQLConnectionDef); Index: InstantNexusDbSQLConnectionDefEdit.dfm =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/NexusDbSQL/InstantNexusDbSQLConnectionDefEdit.dfm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** InstantNexusDbSQLConnectionDefEdit.dfm 17 Nov 2004 17:53:00 -0000 1.1 --- InstantNexusDbSQLConnectionDefEdit.dfm 18 Feb 2005 08:19:16 -0000 1.2 *************** *** 1,5 **** object InstantNexusDbSQLConnectionDefEditForm: TInstantNexusDbSQLConnectionDefEditForm ! Left = 299 ! Top = 202 BorderStyle = bsDialog Caption = ' NexusDbSQL Connection' --- 1,5 ---- object InstantNexusDbSQLConnectionDefEditForm: TInstantNexusDbSQLConnectionDefEditForm ! Left = 257 ! Top = 296 BorderStyle = bsDialog Caption = ' NexusDbSQL Connection' *************** *** 150,157 **** ItemHeight = 13 TabOrder = 1 - OnCloseUp = ServerComboBoxLoadAlias OnDropDown = ServerComboBoxDropDown OnExit = ServerComboBoxLoadAlias - OnSelect = ServerComboBoxSelect end object StreamFormatComboBox: TComboBox --- 150,155 ---- *************** *** 190,196 **** BevelOuter = bvNone TabOrder = 1 - DesignSize = ( - 393 - 35) object OkButton: TButton Left = 223 --- 188,191 ---- Index: InstantNexusDbSQLConnectionDefEdit.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Brokers/NexusDbSQL/InstantNexusDbSQLConnectionDefEdit.pas,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** InstantNexusDbSQLConnectionDefEdit.pas 17 Nov 2004 17:53:00 -0000 1.1 --- InstantNexusDbSQLConnectionDefEdit.pas 18 Feb 2005 08:19:16 -0000 1.2 *************** *** 82,86 **** lblIdSize: TLabel; procedure BrowseButtonClick(Sender: TObject); - procedure ServerComboBoxSelect(Sender: TObject); procedure rgSelDbClick(Sender: TObject); procedure ServerComboBoxLoadAlias(Sender: TObject); --- 82,85 ---- *************** *** 182,191 **** end; - procedure TInstantNexusDbSQLConnectionDefEditForm.ServerComboBoxSelect( - Sender: TObject); - begin - LoadAliasNames; - end; - procedure TInstantNexusDbSQLConnectionDefEditForm.rgSelDbClick( Sender: TObject); --- 181,184 ---- *************** *** 214,217 **** --- 207,213 ---- begin rgSelDb.SetFocus; + {$IFNDEF VER130} + ServerComboBox.OnCloseUp := ServerComboBoxLoadAlias; + {$ENDIF} end; |