mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-18 09:19:39 +02:00
* implementation of sqSupportEmptyDatabaseName from Laco, used in PostGres and MSSQL
git-svn-id: trunk@25584 -
This commit is contained in:
parent
d801548604
commit
48250dcafd
@ -314,7 +314,7 @@ end;
|
||||
constructor TMSSQLConnection.Create(AOwner: TComponent);
|
||||
begin
|
||||
inherited Create(AOwner);
|
||||
FConnOptions := FConnOptions + [sqEscapeRepeat];
|
||||
FConnOptions := FConnOptions + [sqSupportEmptyDatabaseName, sqEscapeRepeat];
|
||||
//FieldNameQuoteChars:=DoubleQuotes; //default
|
||||
Ftds := DBTDS_UNKNOWN;
|
||||
end;
|
||||
@ -397,21 +397,9 @@ const
|
||||
CURSOR_CLOSE_ON_COMMIT_OFF: array[boolean] of shortstring = ('SET CURSOR_CLOSE_ON_COMMIT OFF', 'SET CLOSE ON ENDTRAN OFF');
|
||||
VERSION_NUMBER: array[boolean] of shortstring = ('SERVERPROPERTY(''ProductVersion'')', '@@version_number');
|
||||
|
||||
Var
|
||||
B : Boolean;
|
||||
|
||||
begin
|
||||
// Do not call the inherited method as it checks for a non-empty DatabaseName, empty DatabaseName=default database defined for login
|
||||
// MVC: Inherited MUST be called to do housekeeping.
|
||||
B:=DatabaseName='';
|
||||
if B then
|
||||
DatabaseName:='Dummy';
|
||||
try
|
||||
inherited DoInternalConnect;
|
||||
finally
|
||||
if B then
|
||||
DatabaseName:='';
|
||||
end;
|
||||
// empty DatabaseName=default database defined for login
|
||||
inherited DoInternalConnect;
|
||||
|
||||
InitialiseDBLib(DBLibLibraryName);
|
||||
|
||||
|
@ -224,7 +224,7 @@ constructor TPQConnection.Create(AOwner : TComponent);
|
||||
|
||||
begin
|
||||
inherited;
|
||||
FConnOptions := FConnOptions + [sqSupportParams] + [sqEscapeRepeat] + [sqEscapeSlash];
|
||||
FConnOptions := FConnOptions + [sqSupportParams, sqSupportEmptyDatabaseName, sqEscapeRepeat, sqEscapeSlash];
|
||||
FieldNameQuoteChars:=DoubleQuotes;
|
||||
VerboseErrors:=True;
|
||||
FConnectionPool:=TThreadlist.Create;
|
||||
|
@ -24,7 +24,7 @@ uses SysUtils, Classes, DB, bufdataset, sqlscript;
|
||||
|
||||
type
|
||||
TSchemaType = (stNoSchema, stTables, stSysTables, stProcedures, stColumns, stProcedureParams, stIndexes, stPackages, stSchemata);
|
||||
TConnOption = (sqSupportParams,sqEscapeSlash,sqEscapeRepeat);
|
||||
TConnOption = (sqSupportParams, sqSupportEmptyDatabaseName, sqEscapeSlash, sqEscapeRepeat);
|
||||
TConnOptions= set of TConnOption;
|
||||
TConnInfoType=(citAll=-1, citServerType, citServerVersion, citServerVersionString, citClientName, citClientVersion);
|
||||
TStatementType = (stUnknown, stSelect, stInsert, stUpdate, stDelete,
|
||||
@ -976,7 +976,7 @@ end;
|
||||
|
||||
procedure TSQLConnection.DoInternalConnect;
|
||||
begin
|
||||
if (DatabaseName = '') then
|
||||
if (DatabaseName = '') and not(sqSupportEmptyDatabaseName in FConnOptions) then
|
||||
DatabaseError(SErrNoDatabaseName,self);
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user