@@ -623,6 +623,7 @@ TDBConnection = class(TComponent)
623623 function Has (Item: TFeatureOrRequirement): Boolean;
624624 property SqlProvider: TSqlProvider read FSqlProvider;
625625 property NamedEnums: TStringList read FNamedEnums;
626+ procedure GetColumnDefaultExpressions (Items: TStrings); virtual ;
626627 published
627628 property Active: Boolean read FActive write SetActive default False;
628629 property Database: String read FDatabase write SetDatabase;
@@ -768,6 +769,7 @@ TSQLiteConnection = class(TDBConnection)
768769 function GetTableColumns (Table: TDBObject): TTableColumnList; override;
769770 function GetTableKeys (Table: TDBObject): TTableKeyList; override;
770771 function GetTableForeignKeys (Table: TDBObject): TForeignKeyList; override;
772+ procedure GetColumnDefaultExpressions (Items: TStrings); override;
771773 end ;
772774
773775 { TInterbaseRawResults = Array of String; // TFDQuery;
@@ -6499,6 +6501,14 @@ function TSQLiteConnection.GetTableForeignKeys(Table: TDBObject): TForeignKeyLis
64996501 ForeignQuery.Free;
65006502end;}
65016503
6504+ procedure TSQLiteConnection.GetColumnDefaultExpressions (Items: TStrings);
6505+ begin
6506+ // Add some extra default values allowed for SQLite
6507+ inherited ;
6508+ Items.Add(' CURRENT_TIME' );
6509+ Items.Add(' CURRENT_DATE' );
6510+ Items.Add(' CURRENT_TIMESTAMP' );
6511+ end ;
65026512
65036513function TDBConnection.GetTableCheckConstraints (Table: TDBObject): TCheckConstraintList;
65046514var
@@ -6610,6 +6620,16 @@ function TDBConnection.Has(Item: TFeatureOrRequirement): Boolean;
66106620end ;
66116621
66126622
6623+ procedure TDBConnection.GetColumnDefaultExpressions (Items: TStrings);
6624+ var
6625+ SQLFunc: TSQLFunction;
6626+ begin
6627+ for SQLFunc in SQLFunctions do begin
6628+ Items.Add(SQLFunc.Name + SQLFunc.Declaration);
6629+ end ;
6630+ end ;
6631+
6632+
66136633function TDBConnection.GetRowCount (Obj: TDBObject; ForceExact: Boolean=False): Int64;
66146634var
66156635 Rows, QueryApprox, QueryExact: String;
0 commit comments