Page MenuHomeDevCentral

Don't require PostgreSQL schema at build time
ClosedPublic

Authored by dereckson on Jan 18 2023, 20:24.
Tags
None
Referenced Files
F2831245: D2749.id6985.diff
Fri, Apr 19, 15:45
F2828246: D2749.id6981.diff
Fri, Apr 19, 03:36
Unknown Object (File)
Thu, Apr 18, 00:27
Unknown Object (File)
Mon, Apr 15, 06:41
Unknown Object (File)
Sun, Apr 14, 23:42
Unknown Object (File)
Sun, Apr 14, 09:30
Unknown Object (File)
Wed, Apr 10, 17:10
Unknown Object (File)
Wed, Apr 10, 08:34
Subscribers
None

Details

Summary

The sqlx crate offers macros like sqlx::query_as! to validate
the query at build time and infer from the table column the return type.

If it's convenient, it requires a PostgreSQL view (or table) fantoir
to exists when building fantoir-datasource. This is a chichen egg issue,
as the tool is intended to prepare the schema too with -c flags.

This change switches from sqlx::query_as! to sqlx_query_as
and sqlx_query_scalar, without his requirement.

Note we lost the validation against SQL schema by the sqlx macros
as a trade-off.

Ref T1750.

Test Plan

Call the service from CLI:

  • fantoir-datasource query chaos
  • `fantoir-datasource query --code-insee 77246 --code-voie B015

Diff Detail

Repository
rDS Nasqueron Datasources
Lint
No Lint Coverage
Unit
No Test Coverage
Branch
remove-sqlx-macros
Build Status
Buildable 4354
Build 4621: arc lint + arc unit

Event Timeline

dereckson created this revision.
dereckson retitled this revision from Improve query service not to require pgsql at build time to Don't require PostgreSQL schema at build time.Jan 18 2023, 20:25
dereckson edited the test plan for this revision. (Show Details)
dereckson added a reviewer: dereckson.
dereckson edited the test plan for this revision. (Show Details)

Simplify

This revision is now accepted and ready to land.Jan 18 2023, 23:21