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

Comparing ibx/trunk/fbintf/testsuite/Test9.pas (file contents):
Revision 45 by tony, Tue Dec 6 10:33:46 2016 UTC vs.
Revision 143 by tony, Fri Feb 23 12:11:21 2018 UTC

# Line 1 | Line 1
1   unit Test9;
2 + {$IFDEF MSWINDOWS}
3 + {$DEFINE WINDOWS}
4 + {$ENDIF}
5  
6 < {$mode objfpc}{$H+}
6 > {$IFDEF FPC}
7 > {$mode delphi}
8   {$codepage utf8}
9 + {$ENDIF}
10  
11   {Test 9: Database Information tests}
12  
# Line 23 | Line 28 | type
28    private
29      procedure GetDBInformation(Attachment: IAttachment);
30    public
31 <    function TestTitle: string; override;
32 <    procedure RunTest(CharSet: string; SQLDialect: integer); override;
31 >    function TestTitle: AnsiString; override;
32 >    procedure RunTest(CharSet: AnsiString; SQLDialect: integer); override;
33    end;
34  
35   implementation
# Line 33 | Line 38 | implementation
38  
39   procedure TTest9.GetDBInformation(Attachment: IAttachment);
40   var DBInfo: IDBInformation;
41 +    DBRequest: IDIRB;
42   begin
43 <    DBInfo := Attachment.GetDBInformation([isc_info_db_id,isc_info_allocation,isc_info_base_level,
43 >  {First check ODS version to avoid information requests supported DB 2.5 and later}
44 >  DBInfo := Attachment.GetDBInformation([isc_info_ods_version,isc_info_ods_minor_version]);
45 >  if (DBInfo.Count > 1) and (DBInfo[0].AsInteger > 11) or
46 >     ((DBInfo[0].AsInteger = 11) and (DBInfo[1].AsInteger > 1)) then
47 >  begin
48 >    WriteDBInfo(Attachment.GetDBInformation(isc_info_db_id));
49 >    DBInfo := Attachment.GetDBInformation([isc_info_allocation,isc_info_base_level,
50                                isc_info_implementation,isc_info_no_reserve,isc_info_ods_minor_version,
51 <                              isc_info_ods_version,isc_info_page_size,isc_info_version]);
51 >                              isc_info_ods_version,isc_info_page_size,isc_info_version,isc_info_db_read_only,
52 >                              isc_info_creation_date,fb_info_pages_used,fb_info_pages_free]);
53 >    WriteDBInfo(DBInfo);
54 >
55 >    DBInfo := Attachment.GetDBInformation([isc_info_current_memory, isc_info_forced_writes,
56 >                              isc_info_max_memory, isc_info_num_buffers, isc_info_sweep_interval,
57 >                              isc_info_user_names,isc_info_active_tran_count]);
58 >    WriteDBInfo(DBInfo);
59 >
60 >    DBInfo := Attachment.GetDBInformation([isc_info_fetches,isc_info_marks,
61 >                              isc_info_reads, isc_info_writes]);
62 >    WriteDBInfo(DBInfo);
63 >
64 >    DBInfo := Attachment.GetDBInformation([isc_info_backout_count, isc_info_delete_count,
65 >                              isc_info_expunge_count,isc_info_insert_count, isc_info_purge_count,
66 >                              isc_info_read_idx_count, isc_info_read_seq_count, isc_info_update_count]);
67 >    WriteDBInfo(DBInfo);
68 >
69 >    DBRequest := Attachment.AllocateDIRB;
70 >
71 >    DBRequest.Add(isc_info_page_size);
72 >
73 >    {Only enable during unit test. This result will always be different for
74 >     each run and you will only get false positives in the log}
75 > //    DBRequest.Add(fb_info_page_contents).AsInteger := 100;
76 >    WriteDBInfo(Attachment.GetDBInformation(DBRequest));
77 >  end
78 >  else
79 >  begin
80 >    WriteDBInfo(Attachment.GetDBInformation(isc_info_db_id));
81 >    DBInfo := Attachment.GetDBInformation([isc_info_allocation,isc_info_base_level,
82 >                              isc_info_implementation,isc_info_no_reserve,isc_info_ods_minor_version,
83 >                              isc_info_ods_version,isc_info_page_size,isc_info_version,isc_info_db_read_only]);
84      WriteDBInfo(DBInfo);
85  
86      DBInfo := Attachment.GetDBInformation([isc_info_current_memory, isc_info_forced_writes,
# Line 52 | Line 96 | begin
96                                isc_info_expunge_count,isc_info_insert_count, isc_info_purge_count,
97                                isc_info_read_idx_count, isc_info_read_seq_count, isc_info_update_count]);
98      WriteDBInfo(DBInfo);
99 +
100 +    DBRequest := Attachment.AllocateDIRB;
101 +    DBRequest.Add(isc_info_page_size);
102 +    WriteDBInfo(Attachment.GetDBInformation(DBRequest));
103 +  end;
104   end;
105  
106 < function TTest9.TestTitle: string;
106 > function TTest9.TestTitle: AnsiString;
107   begin
108    Result := 'Test 9: Database Information tests';
109   end;
110  
111 < procedure TTest9.RunTest(CharSet: string; SQLDialect: integer);
111 > procedure TTest9.RunTest(CharSet: AnsiString; SQLDialect: integer);
112   var DPB: IDPB;
113      Attachment: IAttachment;
114   begin

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines