[Lazarus] Lazarus - Cant compile ZeosDBO
Luca Olivetti
luca at wetron.es
Mon Sep 20 09:38:23 CEST 2021
El 19/9/21 a les 23:39, Terry A. Haimann via lazarus ha escrit:
> I just bought a new laptop and tring to set up Lazarus. The problem is
> installing ZeosDBO into Lazarus.
This is the version of zeosdbo I have installed, both under windows and
linux (I don't know if I should use any later or previous version, this
one seems to be working fine for my projects):
$ svn info
Path: .
Working Copy Root Path: /home/luca/Datos/lazextra/zeosdbo/7.2-patches
URL: https://svn.code.sf.net/p/zeoslib/code-0/branches/7.2-patches
Relative URL: ^/branches/7.2-patches
Repository Root: https://svn.code.sf.net/p/zeoslib/code-0
Repository UUID: d681b350-854c-439c-a81d-c0ce20710203
Revision: 5601
Node Kind: directory
Schedule: normal
Last Changed Author: egonhugeist
Last Changed Rev: 5597
Last Changed Date: 2019-04-18 21:29:12 +0200 (dj., 18 d’abr. 2019)
I have a local patch applied but it's only for postgresql
$ svn diff
Index: src/dbc/ZDbcPostgreSql.pas
===================================================================
--- src/dbc/ZDbcPostgreSql.pas (revision 5601)
+++ src/dbc/ZDbcPostgreSql.pas (working copy)
@@ -566,6 +566,12 @@
if Info.Values['sslrootcert'] <> '' then
AddParamToResult('sslrootcert', Info.Values['sslrootcert']);
if Info.Values['sslcrl'] <> '' then AddParamToResult('sslcrl',
Info.Values['sslcrl']);
+ { tcp keepalives }
+ if Info.Values['keepalives'] <> '' then
AddParamToResult('keepalives',Info.Values['keepalives']);
+ if Info.Values['keepalives_idle'] <> '' then
AddParamToResult('keepalives_idle',Info.Values['keepalives_idle']);
+ if Info.Values['keepalives_interval'] <> '' then
AddParamToResult('keepalives_interval',Info.Values['keepalives_interval']);
+ if Info.Values['keepalives_count'] <> '' then
AddParamToResult('keepalives_count',Info.Values['keepalives_count']);
+
{ Sets a connection timeout. }
ConnectTimeout := StrToIntDef(Info.Values['timeout'], -1);
if ConnectTimeout >= 0 then
@@ -1083,7 +1089,7 @@
DriverManager.LogMessage(lcTransaction, ConSettings^.Protocol,
cCommit);
PError :=
FPlainDriver.GetResultErrorField(QueryHandle,PG_DIAG_SQLSTATE);
//transaction aborted and in postre zombi status? If so a
rollback is required
- if (ZSysUtils.ZMemLComp(PError, current_transaction_is_aborted,
5) = 0) then begin
+ if (PError<>nil) and (Perror^ <> #0) and
(ZSysUtils.ZMemLComp(PError, current_transaction_is_aborted, 5) = 0)
then begin
FPlainDriver.PQclear(QueryHandle);
QueryHandle := FPlainDriver.ExecuteQuery(FHandle,
Pointer(cRollback));
end;
Bye
--
Luca Olivetti
Wetron Automation Technology http://www.wetron.es/
Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007
More information about the lazarus
mailing list