Page MenuHomeDevCentral

Don't require PostgreSQL schema at build time
ClosedPublic

Authored by dereckson on Jan 18 2023, 20:24.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Nov 15, 03:22
Unknown Object (File)
Wed, Nov 13, 15:52
Unknown Object (File)
Wed, Nov 13, 02:36
Unknown Object (File)
Sun, Nov 10, 03:46
Unknown Object (File)
Sun, Nov 10, 03:45
Unknown Object (File)
Sun, Nov 10, 03:45
Unknown Object (File)
Sun, Nov 3, 14:54
Unknown Object (File)
Mon, Oct 28, 16:45
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
Lint Not Applicable
Unit
Tests Not Applicable

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