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

Comparing ibx/trunk/fbintf/testsuite/Test1.pas (file contents):
Revision 47 by tony, Mon Jan 9 15:31:51 2017 UTC vs.
Revision 143 by tony, Fri Feb 23 12:11:21 2018 UTC

# Line 1 | Line 1
1   unit Test1;
2 + {$IFDEF MSWINDOWS}
3 + {$DEFINE WINDOWS}
4 + {$ENDIF}
5  
6   {Create and Drop a Database}
7   {
# Line 11 | Line 14 | unit Test1;
14   A basic query is performed and finally the database dropped.
15   }
16  
17 < {$mode objfpc}{$H+}
17 > {$IFDEF FPC}
18 > {$mode delphi}
19   {$codepage utf8}
20 + {$define HASREQEX}
21 + {$ENDIF}
22  
23   interface
24  
# Line 26 | Line 32 | type
32    TTest1 = class(TTestBase)
33    private
34      procedure DoQuery(Attachment: IAttachment);
35 +    procedure WriteAttachmentInfo(Attachment: IAttachment);
36    public
37 <    function TestTitle: string; override;
38 <    procedure RunTest(CharSet: string; SQLDialect: integer); override;
37 >    function TestTitle: AnsiString; override;
38 >    procedure RunTest(CharSet: AnsiString; SQLDialect: integer); override;
39    end;
40  
41   implementation
# Line 57 | Line 64 | begin
64      end;
65   end;
66  
67 < function TTest1.TestTitle: string;
67 > procedure TTest1.WriteAttachmentInfo(Attachment: IAttachment);
68 > begin
69 >  writeln(outfile,'DB Connect String = ',Attachment.GetConnectString);
70 >  writeln(outfile,'DB Charset ID = ',Attachment.GetDefaultCharSetID);
71 >  writeln(outfile,'DB SQL Dialect = ',Attachment.GetSQLDialect);
72 >  writeln(outfile,'DB Remote Protocol = ', Attachment.GetRemoteProtocol);
73 >  writeln(outfile,'DB ODS Major Version = ',Attachment.GetODSMajorVersion);
74 >  writeln(outfile,'DB ODS Minor Version = ',Attachment.GetODSMinorVersion);
75 >  writeln(outfile,'User Authentication Method = ',Attachment.GetAuthenticationMethod);
76 > end;
77 >
78 > function TTest1.TestTitle: AnsiString;
79   begin
80    Result := 'Test 1: Create and Drop a Database';
81   end;
82  
83 < procedure TTest1.RunTest(CharSet: string; SQLDialect: integer);
83 > procedure TTest1.RunTest(CharSet: AnsiString; SQLDialect: integer);
84   var DPB: IDPB;
85      Attachment: IAttachment;
86 <    createSQL: string;
86 >    createSQL: AnsiString;
87   begin
88    writeln(OutFile,'Creating a Database with empty parameters');
89    Attachment := FirebirdAPI.CreateDatabase('',nil,false);
# Line 75 | Line 93 | begin
93      Attachment.DropDatabase;
94  
95    writeln(OutFile,'Creating a Database using an SQL Statement');
96 <  createSQL := Format('CREATE DATABASE ''%s'' USER ''%s'' PASSWORD ''%s'' DEFAULT CHARACTER SET %s',
96 >  createSQL := Format('create database ''%s'' USER ''%s'' PASSWORD ''%s'' DEFAULT CHARACTER SET %s',
97                        [Owner.GetNewDatabaseName, Owner.GetUserName, Owner.GetPassword, CharSet]);
98    Attachment := FirebirdAPI.CreateDatabase(createSQL,SQLDialect);
99    WriteDBInfo(Attachment.GetDBInformation([isc_info_db_id,isc_info_db_SQL_Dialect]));
100 +  WriteAttachmentInfo(Attachment);
101 +  PrintDPB(Attachment.getDPB);
102 +
103 +  {$IFDEF HASREQEX}
104 +  {Demonstrate reconnect when database created with SQL Statement}
105 +  try
106 +    Attachment.Disconnect;
107 +    Attachment.Connect;
108 +  except on E:Exception do
109 +    writeln(OutFile,'Error reconnecting to Database: ',E.Message);
110 +  end;
111 +  {$ENDIF}
112  
113    writeln(OutFile,'Dropping Database');
114    if Attachment <> nil then
# Line 93 | Line 123 | begin
123  
124    Attachment := FirebirdAPI.CreateDatabase(Owner.GetNewDatabaseName,DPB);
125  
126 +  WriteAttachmentInfo(Attachment);
127 +
128    writeln(OutFile,'Dropping Database');
129    if Attachment <> nil then
130      Attachment.DropDatabase;
# Line 108 | Line 140 | begin
140      Exit;
141    end;
142    WriteDBInfo(Attachment.GetDBInformation([isc_info_db_id,isc_info_ods_version,isc_info_ods_minor_version]));
143 +  WriteAttachmentInfo(Attachment);
144  
145    {Querying Database}
146    DoQuery(Attachment);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines