[fpc-devel] Wrong version of db.pas in the fixes_3_2 branch?
Marsupilami79
marsupilami79 at gmx.de
Tue Apr 1 18:42:38 CEST 2025
Hello Michael,
this has been fixed in the 8.0-patches branch of Zeos. Please check the SVN:
https://sourceforge.net/p/zeoslib/code-0/HEAD/tree/branches/8.0-patches/
or GIT repository:
https://github.com/marsupilami79/zeoslib/tree/8.0-patches
Zeos 8.0, as you can download it, is only meant for FPC 3.2.2, not for
the 3.2-fixes branch.
Best regards,
Jan
Am 31.03.2025 um 23:47 schrieb Michael Roland via fpc-devel:
>
> Is the wrong version of the db.pas in fixes_3_2 branch?
>
> The current version of db.pas in fixes_3_2 seems to be from the 3.3.1
> branch instead of the 3.2.3 branch.
>
> The 3.3.1 db.pas adds a new enum value ftSingle to TFieldType.
>
> This causes the compilation of ZeosDb 8.0 ZAbstractRODataset.pas to
> fail with the error
>
> Error: Expected another 1 array elements.
>
> The ZeosDb source code creates an array of TFieldType, then fills the
> array with values.
>
> line 5901 of zeosdbo-8.0.0-stable/src/component/ZAbstractRODataset.pas
>
> "BaseFieldTypes: array[TFieldType] of TFieldType = ("
>
> The error occurs because ZeosDb in not expecting the extra ftSingle
> element in free pascal version 3.2, so a value for ftSingle is not
> added to the array. The missing ftSingle value produces the array error.
>
> However, ZeosDb does add the ftSingle value for free pascal version
> 3.3 or higher.
>
> zeosdbo-8.0.0-stable/src/component/ZAbstractRODataset.pas
>
> The ZeosDb source code is checking to see if the extra value ftSingle
> is needed in TFieldType (line 5914). If so, it adds and ftSingle entry
> to TFieldType.
>
> {$IFDEF WITH_FTSINGLE}
>
> , ftSingle
>
> {$ENDIF}
>
> The file zeosdbo-8.0.0-stable/src/ZeosLazarus.inc defines WITH_FTSINGLE as
>
> {$IF FPC_FULLVERSION >= 30300}
>
> {$DEFINE WITH_FTSINGLE}
>
> {$DEFINE WITH_FTSHORTINT}
>
> {$IFEND}
>
> So ZeosDb is doing the correct thing.
>
> The fixes_3_2 branch has the correct version in
> FPCSource/compiler/version.pas
>
> { version string }
>
> version_nr = '3';
>
> release_nr = '2';
>
> patch_nr = '3';
>
> minorpatch = '';
>
> The current db.pas file seems like a breaking change to make in the
> fixes_3_2 branch. Was the current db.pas file added to the fixes_3_2
> branch for a reason, or was it added unintenionally?
>
> Are any other files from the 3.3.1 branch in the fixes_3_2 branch?
>
> A git bisect of branch fixes_3_2 shows this commit as the source of
> the changed db.pas file.
>
> b907920ef392d6b3a2ae02e489577ff869ede235 is the first bad commit
>
> commit b907920ef392d6b3a2ae02e489577ff869ede235
>
> Author: Michaël Van Canneyt <michael at freepascal.org>
>
> Date: Mon Feb 14 09:15:30 2022 +0100
>
> * Patch from Laco to add TSingleField
>
> (cherry picked from commit c46b45bf72ed7e4522e69611d0a5c5c2f44739c9)
>
> packages/fcl-db/src/base/bufdataset.pas | 4 +-
>
> packages/fcl-db/src/base/db.pas | 56 ++++++-
>
> packages/fcl-db/src/base/dsparams.inc | 23 ++-
>
> packages/fcl-db/src/base/fields.inc | 178 +++++++++++++++++++--
>
> packages/fcl-db/src/base/xmldatapacketreader.pp | 5 +-
>
> packages/fcl-db/src/codegen/fpddcodegen.pp | 2 +-
>
> packages/fcl-db/src/datadict/fpdatadict.pp | 2 +-
>
> packages/fcl-db/src/dbase/dbf_fields.pas | 4 +-
>
> packages/fcl-db/src/export/fpfixedexport.pp | 5 +-
>
> packages/fcl-db/src/export/fprtfexport.pp | 2 +-
>
> packages/fcl-db/src/export/fptexexport.pp | 2 +-
>
> packages/fcl-db/src/memds/memds.pp | 2 +
>
> packages/fcl-db/src/sqldb/odbc/odbcconn.pas | 22 ++-
>
> packages/fcl-db/src/sqldb/postgres/pqconnection.pp | 3 +-
>
> packages/fcl-db/src/sqldb/sqldb.pp | 1 +
>
> packages/fcl-db/src/sqldb/sqlite/sqlite3conn.pp | 14 +-
>
> packages/fcl-db/tests/bufdatasettoolsunit.pas | 2 +
>
> packages/fcl-db/tests/memdstoolsunit.pas | 2 +
>
> packages/fcl-db/tests/sqldbtoolsunit.pas | 3 +-
>
> packages/fcl-db/tests/testdbbasics.pas | 43 +++--
>
> packages/fcl-db/tests/testdbexport.pas | 8 +-
>
> packages/fcl-db/tests/toolsunit.pas | 4 +-
>
> packages/fcl-sdo/src/das/sdo_das_utils.pas | 17 +-
>
> packages/fcl-web/src/restbridge/sqldbrestschema.pp | 3 +-
>
> 24 files changed, 340 insertions(+), 67 deletions(-)
>
>
> _______________________________________________
> fpc-devel maillist -fpc-devel at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20250401/9f90fd58/attachment.htm>
More information about the fpc-devel
mailing list