@@ -631,6 +631,7 @@ TDBConnection = class(TComponent)
631631 function Has (Item: TFeatureOrRequirement): Boolean;
632632 property SqlProvider: TSqlProvider read FSqlProvider;
633633 property NamedEnums: TStringList read FNamedEnums;
634+ procedure GetColumnDefaultExpressions (Items: TStrings); virtual ;
634635 published
635636 property Active: Boolean read FActive write SetActive default False;
636637 property Database: String read FDatabase write SetDatabase;
@@ -772,6 +773,7 @@ TSQLiteConnection = class(TDBConnection)
772773 function GetTableColumns (Table: TDBObject): TTableColumnList; override;
773774 function GetTableKeys (Table: TDBObject): TTableKeyList; override;
774775 function GetTableForeignKeys (Table: TDBObject): TForeignKeyList; override;
776+ procedure GetColumnDefaultExpressions (Items: TStrings); override;
775777 end ;
776778
777779 TInterbaseRawResults = Array of TFDQuery;
@@ -6655,6 +6657,14 @@ function TInterbaseConnection.GetTableForeignKeys(Table: TDBObject): TForeignKey
66556657 ForeignQuery.Free;
66566658end ;
66576659
6660+ procedure TSQLiteConnection.GetColumnDefaultExpressions (Items: TStrings);
6661+ begin
6662+ // Add some extra default values allowed for SQLite
6663+ inherited ;
6664+ Items.Add(' CURRENT_TIME' );
6665+ Items.Add(' CURRENT_DATE' );
6666+ Items.Add(' CURRENT_TIMESTAMP' );
6667+ end ;
66586668
66596669function TDBConnection.GetTableCheckConstraints (Table: TDBObject): TCheckConstraintList;
66606670var
@@ -6759,12 +6769,23 @@ function TDBConnection.Has(Item: TFeatureOrRequirement): Boolean;
67596769 frInvisibleColumns: Result := (FParameters.IsMariaDB and (ServerVersionInt >= 100303 )) or
67606770 (FParameters.IsMySQL(True) and (ServerVersionInt >= 80023 ));
67616771 frCompressedColumns: Result := (FParameters.IsMariaDB and (ServerVersionInt >= 100301 ));
6772+ else Result := False;
67626773 end ;
67636774 else Result := False;
67646775 end ;
67656776end ;
67666777
67676778
6779+ procedure TDBConnection.GetColumnDefaultExpressions (Items: TStrings);
6780+ var
6781+ SQLFunc: TSQLFunction;
6782+ begin
6783+ for SQLFunc in SQLFunctions do begin
6784+ Items.Add(SQLFunc.Name + SQLFunc.Declaration);
6785+ end ;
6786+ end ;
6787+
6788+
67686789function TDBConnection.GetRowCount (Obj: TDBObject; ForceExact: Boolean=False): Int64;
67696790var
67706791 Rows, QueryApprox, QueryExact: String;
0 commit comments