Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt

Use this file to discover all available pages before exploring further.

final class atoti_jdbc.JdbcLoad

The definition of a JDBC query.
>>> from atoti_jdbc import JdbcLoad
>>> url = f"h2:{database_path};USER=root;PASSWORD=pass"
>>> jdbc_load = JdbcLoad("SELECT * FROM MYTABLE", url=url)
Inferring data types:
>>> data_types = session.tables.infer_data_types(jdbc_load)
>>> data_types
{'ID': 'int', 'CITY': 'String', 'MY_VALUE': 'long'}
Creating a table from the inferred data types:
>>> table = session.create_table("Cities", data_types=data_types, keys={"ID"})
Loading query results into the table:
>>> table.load(jdbc_load)
>>> table.head().sort_index()
        CITY  MY_VALUE
ID
1      Paris       100
2     London        80
3   New York        90
4     Berlin        70
5    Jakarta        75
Using a parametrized query:
>>> table.drop()
>>> table.load(
...     JdbcLoad(
...         "SELECT * FROM MYTABLE WHERE City IN (?, ?)",
...         parameters=["Paris", "New York"],
...         url=url,
...     )
... )
>>> table.head().sort_index()
        CITY  MY_VALUE
ID
1      Paris       100
3   New York        90
See also: The other DataLoad implementations.

driver : Annotated[str | None, AfterValidator(_validate_driver)] = None

The Java class name of the driver to use. This defines Hibernate’s DRIVER option. Inferred from url if None.

parameters : FrozenSequence[Constant] = ()

The query parameters, sometimes also called bind variables.

query : str

The query (usually SQL) to execute.

url : Annotated[str, AfterValidator(normalize_jdbc_url)]

The JDBC connection string of the database. The "jdbc" scheme is optional but the database specific scheme (such as "h2") is mandatory. For instance:
  • "h2:/home/user/database/file/path;USER=username;PASSWORD=passwd"
  • "postgresql://postgresql.db.server:5430/example?user=username&password=passwd"
More examples can be found here. This defines Hibernate’s URL option.