JDBC catalog

JDBC metadata lists persisted views, not FeatureQL namespaces. A SQL tool that discovers catalogs, schemas, and tables sees fmv / the middle identifier / the leaf name, with TABLE_TYPE VIEW.

Discover views

SHOW JDBC/* reads the same catalog a JDBC client would:

FeatureQL
SHOW JDBC/TABLES IN FMV.DOCS
WHERE TABLE_NAME = 'ORDERS'
;
Result
TABLE_CAT VARCHARTABLE_SCHEM VARCHARTABLE_NAME VARCHARTABLE_TYPE VARCHAR
fmvDOCSORDERSVIEW

StatementWhat it returns
SHOW JDBC/CATALOGSfmv when at least one view exists
SHOW JDBC/SCHEMASMiddle identifier of each FMV.schema.table
SHOW JDBC/TABLES IN FMV.schemaLeaf names; TABLE_TYPE is VIEW
SHOW JDBC/COLUMNS IN FMV.schema.tablePublished columns in authored RETURN order
SHOW JDBC/PRIMARY_KEYS IN FMV.schema.tableEmpty in V1 — no primary-key metadata

Source namespaces such as FM.SALES do not appear as tables. There is no _CONSTANTS / input-signature table.

DESCRIBE view-only fields (VIEW_COLUMNS, VIEW_BACKENDS, …) are on persisted views . SHOW syntax is on SHOW .

Scan from a SQL client

JDBC and Flight SQL are SQL by protocol. The relation name is fmv.schema.table (catalog fmv is lowercase in JDBC). On FeatureQL HTTP (:8101) you still need /* SQL */ — see persisted views .

Compatible clients include Tableau, Power BI, Looker, Superset, DataGrip, DBeaver, and any JDBC/ODBC application. Hybrid FEATUREQL(...) is the other way to feed those tools when you want live FeatureQL instead of a frozen view.

What V1 does not advertise

  • Primary keys
  • View-level permissions
  • Flight / ADBC / MCP catalog listing beyond SHOW JDBC/* (the JDBC SHOW path is the supported discovery API today)

Next

Create the view first on persisted views . To wrap FeatureQL in a SQL query without persisting a table, use hybrid queries . For what stays identical (and what does not) when that view compiles for DuckDB, Trino, and serving: Same answer across backends .