Revision history for DBIO-PostgreSQL-Age

0.900000  2026-06-23
    First release. Apache AGE graph database support layered on DBIO::PostgreSQL.

    * Schema component
        - DBIO::PostgreSQL::Age, loaded via load_components('PostgreSQL::Age'),
          sets storage_type to DBIO::PostgreSQL::Age::Storage

    * Storage
        - DBIO::PostgreSQL::Age::Storage extends DBIO::PostgreSQL::Storage and
          registers for the Pg driver
        - connect_call_load_age connection callback: LOAD 'age' and set
          search_path to include ag_catalog on each connection

    * Graph lifecycle
        - create_graph($name) creates a named graph
        - drop_graph($name, $cascade) drops a graph, optionally cascading to
          all vertices and edges

    * Cypher queries
        - cypher($graph, $query, \@columns, \%params) executes openCypher and
          returns arrayrefs of hashrefs; result columns are declared as agtype
        - graph name validated as a plain identifier and inlined as a SQL
          literal, since Apache AGE requires the first cypher() argument to be
          a name constant rather than a placeholder
        - optional params hashref JSON-encoded and passed as AGE's third
          cypher() argument for parameterized queries
        - SQL/bind generation split into a pure _cypher_sql_bind helper for
          offline unit testing

    * Tests
        - t/00-load.t module load, t/20-cypher.t offline cypher SQL/bind
          coverage, t/10-age-live.t live graph create/drop and CREATE/MATCH
          queries (skips without a configured AGE-enabled PostgreSQL)

