Browse Source

* Patch from Luk Vandelaer to use username, password and pagesize on creation of a database

git-svn-id: trunk@10812 -
joost 17 years ago
parent
commit
a4ab8327a8
1 changed files with 10 additions and 3 deletions
  1. 10 3
      packages/fcl-db/src/sqldb/interbase/ibconnection.pp

+ 10 - 3
packages/fcl-db/src/sqldb/interbase/ibconnection.pp

@@ -280,8 +280,8 @@ procedure TIBConnection.CreateDB;
 
 
 var ASQLDatabaseHandle,
 var ASQLDatabaseHandle,
     ASQLTransactionHandle : pointer;
     ASQLTransactionHandle : pointer;
-    CreateSQL             : String;
-
+    CreateSQL : String;
+    pagesize : String;
 begin
 begin
   CheckDisConnected;
   CheckDisConnected;
 {$IfDef LinkDynamically}
 {$IfDef LinkDynamically}
@@ -289,10 +289,17 @@ begin
 {$EndIf}
 {$EndIf}
   ASQLDatabaseHandle := nil;
   ASQLDatabaseHandle := nil;
   ASQLTransactionHandle := nil;
   ASQLTransactionHandle := nil;
-  
+
   CreateSQL := 'CREATE DATABASE ';
   CreateSQL := 'CREATE DATABASE ';
   if HostName <> '' then CreateSQL := CreateSQL + ''''+ HostName+':'+DatabaseName + ''''
   if HostName <> '' then CreateSQL := CreateSQL + ''''+ HostName+':'+DatabaseName + ''''
     else CreateSQL := CreateSQL + '''' + DatabaseName + '''';
     else CreateSQL := CreateSQL + '''' + DatabaseName + '''';
+  if UserName <> '' then
+    CreateSQL := CreateSQL + ' USER ''' + Username + '''';
+  if Password <> '' then
+    CreateSQL := CreateSQL + ' PASSWORD ''' + Password + '''';
+  pagesize := params.Values['PAGE_SIZE'];
+  if pagesize <> '' then
+    CreateSQL := CreateSQL + ' PAGE_SIZE '+pagesize;
 
 
   if isc_dsql_execute_immediate(@FStatus[0],@ASQLDatabaseHandle,@ASQLTransactionHandle,length(CreateSQL),@CreateSQL[1],Dialect,nil) <> 0 then
   if isc_dsql_execute_immediate(@FStatus[0],@ASQLDatabaseHandle,@ASQLTransactionHandle,length(CreateSQL),@CreateSQL[1],Dialect,nil) <> 0 then
     CheckError('CreateDB', FStatus);
     CheckError('CreateDB', FStatus);