Package com.darkcollective.relix.connectors.std.internal
package com.darkcollective.relix.connectors.std.internal
The engine-side machinery behind
com.darkcollective.relix.connectors.std: not exported by the published
artifact. What follows describes the package as a whole, as it stood before the split.
The standard library of DataSourceConnector
implementations — CSV, JSON files, HTTP/JSON endpoints and JDBC databases — plus the
JDBC driver provisioning they need.
Each connector bridges one external data-source kind to the query executor's
Row model:
CsvDataSourceConnector— local CSV files declared withsource X from csv("path/to/file.csv") { … };JsonFileDataSourceConnector— local JSON documents;HttpDataSourceConnector— read-only HTTP/JSON endpoints;JdbcDataSourceConnector— relational databases over JDBC, withJdbcCatalogProvidersupplying table schemas and statistics.
All connectors receive a fully-validated
SemanticModel at construction time so they
can look up the transport-level configuration (path, column schema, header flag, etc.)
stored in SemanticModel.sources().
This is a provider, not part of the engine: it compiles against the connector SPI the engine publishes and is discovered at runtime, exactly as an out-of-tree connector plugin is. Nothing here is privileged, which is why the engine itself needs neither a JDBC stack nor an HTTP client.
-
ClassDescriptionA small pool of reusable JDBC
Connections, keyed byDatabaseConnectionConfig, so repeated scans and queries against the same connection avoid the cost of opening a fresh physical connection each time.Turns a declared connection into a live JDBCConnection.ACatalogProviderthat asks the connector to describe its own tables.Built-inRelixConnectorfor local CSV files — the reference implementation of the connector SPI.ADataSourceConnectorthat reads data from local CSV files.Binds connection names to live JDBCDataSourcehandles, so a program can hand the engine a database it already has open.The one answer to give me a local file for this connection, for every connector that reads a file.Reads a GEDCOM genealogy file as a pair of relations.Executessource … from http { … }relations: it issues the configured HTTP request, parses the JSON response, and yields oneRowper record.The result of an HTTP exchange: the status code and the response body.The fully-resolved request the connector wants to send.The I/O boundary — sends a request and returns the response.ACatalogProviderthat introspects table schemas from a live database over JDBC, used when aconnection.tablereference declares no schema.ADataSourceConnectorthat reads connection-backed tables over JDBC.ADataSourceConnectorthat reads rows from a local JSON file as open (schema-on-read) documents — the first native nested-data source.Reads a web server's access log as a relation:connection X from log { … }.Loads JDBC drivers from JAR files in an external driver directory, rather than bundling them into the executable at build time.