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").
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
T610-033
Use GNAT.Calendar.Time_IO.Image instead of Ada.Calendar.Formatting.Image
because it has better precision on subseconds.
Change-Id: I56236d55a76d208cbd611f2eb93036a98dfec830
Depend-On: I08b4190cd89284c1fc5626b80742aafc26a01175
T315-007
SQL insert statement to load data uses select statement to take PK value by
another field value. The value in condition in generated "WHERE" part was
with wrong type specifier. The type specifier was taken from the type of FK
field instead of "another" field type.
Change-Id: I820d4c2265d831627770554a0d0226791e4dbc72
T315-007
Generate Cached_Result field before check Name parameter to do not use
No_Cache_Id for all automatically assigned parepared statement names.
Change-Id: I91c2928cc803da1beae11a26ce3f1e92dc99b875
T315-007
(Is_Prepared_On_Server): New routine to know if the statement was prepared
on server side.
Change-Id: Ibb26c0d2b737d942bab7eef4dd7b073b44c76796