In the Alire index we have one crate for each of the GNATColl DB
libraries (xref, sql, sqlite, postgres). They all come from the same
repository but use different checkouts. The result is that the
"gnatcoll_db_shared.gpr" is found multiple times in the closure of a
project, e.g. for gnatcoll_xref that depends on gnatcoll_sqlite and
gnatcoll_sql. This result in an error from gprbuild.
To circumvent the issue, this patch duplicates gnatcoll_db_shared.gpr in
each of the sql, sqlite, xref and postgres folders with a different name
for each.
Part of V826-023.
Change-Id: I9058e5f88fa307806c483c02d3c0de7298018821
Remove the Name variable, which duplicates an attribute.
Replace hardcoded Mains with Name.
Remove transitional Library_Type variable from library projects.
Make explicit that Library_Version is only useful during relocatable
builds.
Compute Library_Version from Library_Name, in case it ever differs
from Name.
Make the list of possible Library_Type values explicit (the
documentation mentions "dynamic").
Reorder case statements in order to use Sqlite_Lib in a way similar to
the existing Thread_Lib.
When OS /= Windows_NT, GNATCOLL_SQLITE = embedded, LIBRARY_TYPE = relocatable,
Library_Options is now ("-pthread") instead of (),
consistently with Linker'Linker_Options.
When GNATCOLL_SQLITE = external, LIBRARY_TYPE = static,
Library_Options is now () instead of ("-lsqlite3") & Thread_Lib.
These options are intended for the dynamic loader, not the static
archiver (see https://github.com/AdaCore/gnatcoll-db/pull/17).
To avoid conflict with installed gnatcoll.gpr where GNATCOLL_BUILD means
library type.
Part of S709-037.
Change-Id: I372b3fc7b35faf14a223465069968ff1e5550250
To have a unified external for all GNATCOLL project, as discussed for
gnatcoll-db.
Part of S709-037.
Change-Id: I5b6c843df6926288b8906a8c285a6d682394d7bf
Like for gnatcoll_core, these externals allow gnatcoll_*.gpr to be used
from a project that defines the BUILD external in an incompatible way.
Part of S709-037.
Change-Id: Ib69453688c4c3ea112aa8b00d3a610bdc2f5426f
* sql/gnatcoll-sql-inspect.adb (Type_From_SQL):
For Field_Mapping_Integer does not interpret 'numeric' without precision and
scale as Integer. Add decimal type processing.
For Field_Mapping_Float interpret 'decimal' and 'numeric' without precision
and scale as Float.
* sqlite/gnatcoll-sql-sqlite-builder.adb (Foreach_Field):
Ignore square brackets in field names. Fix parsing numeric with position and
scale.
* testsuite/tests/db2ada/chinook/*
Testsuite with public database example.
TN: T627-001
Change-Id: I38843e0c1b6be144d19b9f2e7ed118c2bf44e070
* gnatcoll-sql-inspect.ads (Type_From_SQL):
Considers datetime as Field_Mapping_Timestamp.
* gnatcoll-sql-inspect.adb (Type_From_SQL):
Considers nvarchar as Field_Mapping_Text.
Parsing max length moved into separated routine Process Max_Length.
* sqlite/gnatcoll-sql-sqlite-builder.adb
(Foreach_Table): Fix SQL request over database tables. Takes only
tables and views from the sqlite_master and does not take service
SQLite tables.
(Foreach_Field): Do not interpret as field the FOREIGN/UNIQUE KEY
element in CREATE TABLE statement.
TN: T627-001
Change-Id: Ibb6ca6c6a67489bbe569c0c0b1aed2e5a9cd4b34
R411-015
Because GNAT became checking unreferenced parameter for expression functions
but did not provide a way to mark it unchecked in this state.
Change-Id: I8b5b65bb2701a989dd000aeb56290322c982a61e