ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/runtime/nongui/IBTable.pas
(Generate patch)

Comparing ibx/trunk/runtime/nongui/IBTable.pas (file contents):
Revision 291 by tony, Fri Apr 17 10:26:08 2020 UTC vs.
Revision 315 by tony, Thu Feb 25 11:56:36 2021 UTC

# Line 39 | Line 39 | unit IBTable;
39  
40   interface
41  
42 < uses SysUtils, Classes, DB, IB,  IBCustomDataSet,
43 <     IBSQL, IBUtils;
42 > uses SysUtils, Classes, DB, IB,  IBCustomDataSet, IBDatabase, IBSQL, IBUtils;
43      
44   type
45  
# Line 161 | Line 160 | type
160      property EnableStatistics;
161      property Filter;
162      property Filtered;
163 +    property SQLFiltered;
164 +    property SQLFilterParams;
165      property GeneratorField;
166      property IndexDefs: TIndexDefs read FIndexDefs write SetIndexDefs stored IndexDefsStored;
167      property IndexFieldNames: string read GetIndexFieldNames write SetIndexFieldNames;
# Line 186 | Line 187 | type
187  
188   implementation
189  
190 < uses IBMessages, IBTypes;
190 > uses IBMessages, IBInternals;
191  
192   type
193  
# Line 195 | Line 196 | type
196    TIBMasterDataLink = class(TMasterDataLink)
197    private
198      FDelayTimerValue: integer;
199 <    FTimer: TIBTimerInf;
199 >    FTimer: IIBTimerInf;
200      procedure HandleRefreshTimer(Sender: TObject);
201      procedure SetDelayTimerValue(AValue: integer);
202    protected
# Line 552 | Line 553 | var
553          ExtractIdentifier(Database.SQLDialect,
554            QuoteIdentifier(DataBase.SQLDialect, Name)) +
555          ''' ' +
556 <        'AND RDB$CONSTRAINT_TYPE = ''PRIMARY KEY''';
556 >        'AND Trim(RDB$CONSTRAINT_TYPE) = ''PRIMARY KEY''';
557        Query.Prepare;
558        Query.ExecQuery;
559        if not Query.EOF then
# Line 746 | Line 747 | begin
747      Query.Database := DataBase;
748      Query.Transaction := Database.InternalTransaction;
749      Query.SQL.Text :=
750 <    'Select USER from RDB$RELATIONS where RDB$RELATION_NAME = ' + {do not localize}
750 >    'Select USER from RDB$RELATIONS where Trim(RDB$RELATION_NAME) = ' + {do not localize}
751      '''' +
752      ExtractIdentifier(Database.SQLDialect,
753        QuoteIdentifier(DataBase.SQLDialect, FTableName)) + '''';
# Line 861 | Line 862 | var
862              FieldList := FieldList +
863                QuoteIdentifier(DataBase.SQLDialect, Name) +
864                ' BLOB SUB_TYPE 0'; {do not localize}
865 +          ftFmtBCD:
866 +            if Database.Attachment.HasDecFloatSupport then
867 +              FieldList := FieldList +
868 +                QuoteIdentifier(DataBase.SQLDialect, Name) +
869 +                ' Decfloat(34)' {do not localize}
870 +            else
871 +              IBError(ibxeFieldUnsupportedType,[nil]);
872            ftUnknown, ftADT, ftArray, ftReference, ftDataSet,
873            ftCursor, ftWideString, ftAutoInc:
874              IBError(ibxeFieldUnsupportedType,[nil]);
# Line 957 | Line 965 | begin
965      if Active then
966      begin
967        ClearBuffers;
968 +      ResetBufferCache;
969        DataEvent(deDataSetChange, 0);
970      end;
971    finally
# Line 993 | Line 1002 | begin
1002      Query.Database := DataBase;
1003      Query.Transaction := Database.InternalTransaction;
1004      Query.SQL.Text := 'Select RDB$SYSTEM_FLAG, RDB$DBKEY_LENGTH ' + {do not localize}
1005 <                    'from RDB$RELATIONS where RDB$RELATION_NAME = ' + {do not localize}
1005 >                    'from RDB$RELATIONS where Trim(RDB$RELATION_NAME)  = ' + {do not localize}
1006                      '''' +
1007                      ExtractIdentifier(Database.SQLDialect,
1008                        QuoteIdentifier(DataBase.SQLDialect, FTableName)) + '''';

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines