Skip to content

Commit 32ca238

Browse files
authored
Implementação PostgreSQL (#12)
1 parent 78864a9 commit 32ca238

10 files changed

+371
-188
lines changed

MiniREST.SQL.Common.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ interface
55
uses SysUtils, Variants{$IFNDEF FPC},DB, Rtti{$ENDIF};
66

77
type
8-
TMiniRESTSQLDatabaseType = (dbtUnknown, dbtFirebird);
8+
TMiniRESTSQLDatabaseType = (dbtUnknown, dbtFirebird, dbtPostgreSQL);
99

1010
TMiniRESTSQLParamType = (stString, stFloat, stInteger, stDate, stDateTime,
1111
stBoolean, stVariant, stUndefined);

MiniREST.SQL.SQLDb.pas

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
interface
55

66
uses Classes, SysUtils, MiniREST.SQL.Intf, MiniREST.SQL.Base, MiniREST.SQL.Common, DB,
7-
sqldb, IBConnection, fgl;
7+
sqldb, IBConnection, pqconnection, fgl;
88

99
type
1010
TLogEvent = procedure (Sender : TSQLConnection; EventType : TDBEventType; Const Msg : String);
@@ -342,6 +342,7 @@ function TMiniRESTSQLConnectionSQLDb.GetDriverName(const ADatabaseType: TMiniRES
342342
begin
343343
case ADatabaseType of
344344
dbtFirebird: Result := 'Firebird';
345+
dbtPostgreSQL: Result := 'PostgreSQL';
345346
end;
346347
end;
347348

@@ -484,6 +485,7 @@ function TMiniRESTSQLConnectionSQLDb.GetConnectorType(const ADatabaseType: TMini
484485
case ADatabaseType of
485486
dbtUnknown: raise Exception.Create('Database Type not supported');
486487
dbtFirebird: Result := 'Firebird';
488+
dbtPostgreSQL: Result := 'PostgreSQL';
487489
end;
488490
end;
489491

@@ -588,7 +590,7 @@ procedure TMiniRESTSQLConnectionSQLDb.SetConnectionParams;
588590
FSQLConnection.UserName := FConnectionParams.GetUserName;
589591
FSQLConnection.Password := FConnectionParams.GetPassword;
590592
FSQLConnection.DatabaseName := FConnectionParams.GetDatabaseName;
591-
FSQLConnection.HostName := FConnectionParams.GetServerHostName;
593+
FSQLConnection.HostName := FConnectionParams.GetServerHostName;
592594
if (FConnectionParams.GetServerPort > 0) and (FConnectionParams.GetDatabaseType = dbtFirebird) then
593595
begin
594596
FSQLConnection.HostName := '';
@@ -601,6 +603,8 @@ procedure TMiniRESTSQLConnectionSQLDb.SetConnectionParams;
601603
LName := LStringList.Names[I];
602604
FSQLConnection.Params.Values[LName] := LStringList.Values[LName];
603605
end;
606+
if (FConnectionParams.GetServerPort > 0) and (FConnectionParams.GetDatabaseType = dbtPostgreSQL) then
607+
FSQLConnection.Params.Values['port'] := IntToStr(FConnectionParams.GetServerPort);
604608
finally
605609
LStringList.Free;
606610
end;

unittest/SQL/MiniRESTSQLTest.lpi

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,40 +33,47 @@
3333
<PackageName Value="FCL"/>
3434
</Item3>
3535
</RequiredPackages>
36-
<Units Count="8">
36+
<Units Count="10">
3737
<Unit0>
3838
<Filename Value="MiniRESTSQLTest.lpr"/>
3939
<IsPartOfProject Value="True"/>
4040
</Unit0>
4141
<Unit1>
42-
<Filename Value="test.sql.sqldb.pas"/>
42+
<Filename Value="..\..\MiniREST.SQL.Base.pas"/>
4343
<IsPartOfProject Value="True"/>
44-
<UnitName Value="Test.SQL.SQLDb"/>
4544
</Unit1>
4645
<Unit2>
47-
<Filename Value="..\..\MiniREST.SQL.Base.pas"/>
46+
<Filename Value="..\..\MiniREST.SQL.Common.pas"/>
4847
<IsPartOfProject Value="True"/>
4948
</Unit2>
5049
<Unit3>
51-
<Filename Value="..\..\MiniREST.SQL.Common.pas"/>
50+
<Filename Value="..\..\MiniREST.SQL.Firebird.pas"/>
5251
<IsPartOfProject Value="True"/>
5352
</Unit3>
5453
<Unit4>
55-
<Filename Value="..\..\MiniREST.SQL.Firebird.pas"/>
54+
<Filename Value="..\..\MiniREST.SQL.Intf.pas"/>
5655
<IsPartOfProject Value="True"/>
5756
</Unit4>
5857
<Unit5>
59-
<Filename Value="..\..\MiniREST.SQL.Intf.pas"/>
58+
<Filename Value="Test.SQL.Default.pas"/>
6059
<IsPartOfProject Value="True"/>
6160
</Unit5>
6261
<Unit6>
63-
<Filename Value="Test.SQL.Default.pas"/>
62+
<Filename Value="..\..\MiniREST.SQL.SQLDb.pas"/>
6463
<IsPartOfProject Value="True"/>
6564
</Unit6>
6665
<Unit7>
67-
<Filename Value="..\..\MiniREST.SQL.SQLDb.pas"/>
66+
<Filename Value="Test.SQL.SQLDb.pas"/>
6867
<IsPartOfProject Value="True"/>
6968
</Unit7>
69+
<Unit8>
70+
<Filename Value="Test.SQL.Firebird.pas"/>
71+
<IsPartOfProject Value="True"/>
72+
</Unit8>
73+
<Unit9>
74+
<Filename Value="Test.SQL.PostgreSQL.pas"/>
75+
<IsPartOfProject Value="True"/>
76+
</Unit9>
7077
</Units>
7178
</ProjectOptions>
7279
<CompilerOptions>

unittest/SQL/MiniRESTSQLTest.lpr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{$mode objfpc}{$H+}
44

55
uses
6-
Classes, TextTestRunner, Test.SQL.SQLDb, SysUtils;
6+
Classes, TextTestRunner, Test.SQL.Firebird, Test.SQL.PostgreSQL, SysUtils;
77

88
begin
99
{$DEFINE XMLLISTENER}

0 commit comments

Comments
 (0)