Browse Source

+ added empty TSQLConnection.GetHandle
+ added empty TSQLConnection.CreateBlobStream
+ implemented TSQLConnection.StartTransaction and EndTransaction

git-svn-id: trunk@2631 -

joost 19 years ago
parent
commit
251fc46121
2 changed files with 30 additions and 2 deletions
  1. 1 0
      fcl/db/dbconst.pp
  2. 29 2
      fcl/db/sqldb/sqldb.pp

+ 1 - 0
fcl/db/dbconst.pp

@@ -74,6 +74,7 @@ Const
   SDuplicateName           = 'Duplicate name ''%s'' in %s';
   SDuplicateName           = 'Duplicate name ''%s'' in %s';
   SNoParseSQL              = '%s is only possible if ParseSQL is True';
   SNoParseSQL              = '%s is only possible if ParseSQL is True';
   SLookupInfoError         = 'Lookup information for field ''%s'' is incomplete';
   SLookupInfoError         = 'Lookup information for field ''%s'' is incomplete';
+  SUnsupportedFieldType    = 'Fieldtype %s is not supported';
 
 
 Implementation
 Implementation
 
 

+ 29 - 2
fcl/db/sqldb/sqldb.pp

@@ -77,7 +77,7 @@ type
     procedure DoInternalConnect; override;
     procedure DoInternalConnect; override;
     procedure DoInternalDisconnect; override;
     procedure DoInternalDisconnect; override;
     function GetAsSQLText(Field : TField) : string; virtual;
     function GetAsSQLText(Field : TField) : string; virtual;
-    function GetHandle : pointer; virtual; abstract;
+    function GetHandle : pointer; virtual; virtual;
 
 
     Function AllocateCursorHandle : TSQLCursor; virtual; abstract;
     Function AllocateCursorHandle : TSQLCursor; virtual; abstract;
     Procedure DeAllocateCursorHandle(var cursor : TSQLCursor); virtual; abstract;
     Procedure DeAllocateCursorHandle(var cursor : TSQLCursor); virtual; abstract;
@@ -99,10 +99,12 @@ type
     procedure RollBackRetaining(trans : TSQLHandle); virtual; abstract;
     procedure RollBackRetaining(trans : TSQLHandle); virtual; abstract;
     procedure UpdateIndexDefs(var IndexDefs : TIndexDefs;TableName : string); virtual;
     procedure UpdateIndexDefs(var IndexDefs : TIndexDefs;TableName : string); virtual;
     function GetSchemaInfoSQL(SchemaType : TSchemaType; SchemaObjectName, SchemaPattern : string) : string; virtual;
     function GetSchemaInfoSQL(SchemaType : TSchemaType; SchemaObjectName, SchemaPattern : string) : string; virtual;
-    function CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream; virtual;abstract;
+    function CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream; virtual;
   public
   public
     property Handle: Pointer read GetHandle;
     property Handle: Pointer read GetHandle;
     destructor Destroy; override;
     destructor Destroy; override;
+    procedure StartTransaction; override;
+    procedure EndTransaction; override;
     property ConnOptions: TConnOptions read FConnOptions;
     property ConnOptions: TConnOptions read FConnOptions;
     procedure ExecuteDirect(SQL : String); overload; virtual;
     procedure ExecuteDirect(SQL : String); overload; virtual;
     procedure ExecuteDirect(SQL : String; ATransaction : TSQLTransaction); overload; virtual;
     procedure ExecuteDirect(SQL : String; ATransaction : TSQLTransaction); overload; virtual;
@@ -311,6 +313,22 @@ begin
   inherited Destroy;
   inherited Destroy;
 end;
 end;
 
 
+procedure TSQLConnection.StartTransaction;
+begin
+  if not assigned(Transaction) then
+    DatabaseError(SErrConnTransactionnSet)
+  else
+    Transaction.StartTransaction;
+end;
+
+procedure TSQLConnection.EndTransaction;
+begin
+  if not assigned(Transaction) then
+    DatabaseError(SErrConnTransactionnSet)
+  else
+    Transaction.EndTransaction;
+end;
+
 Procedure TSQLConnection.ExecuteDirect(SQL: String);
 Procedure TSQLConnection.ExecuteDirect(SQL: String);
 
 
 begin
 begin
@@ -402,6 +420,10 @@ begin
   end; {case}
   end; {case}
 end;
 end;
 
 
+function TSQLConnection.GetHandle: pointer;
+begin
+  Result := nil;
+end;
 
 
 function TSQLConnection.GetSchemaInfoSQL( SchemaType : TSchemaType; SchemaObjectName, SchemaPattern : string) : string;
 function TSQLConnection.GetSchemaInfoSQL( SchemaType : TSchemaType; SchemaObjectName, SchemaPattern : string) : string;
 
 
@@ -409,6 +431,11 @@ begin
   DatabaseError(SMetadataUnavailable);
   DatabaseError(SMetadataUnavailable);
 end;
 end;
 
 
+function TSQLConnection.CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream;
+
+begin
+  DatabaseErrorFmt(SUnsupportedFieldType,['Blob']);
+end;
 
 
 { TSQLTransaction }
 { TSQLTransaction }
 procedure TSQLTransaction.EndTransaction;
 procedure TSQLTransaction.EndTransaction;