Skip to main content
Use the complete logical address returned by catalog discovery. Parable does not expose USE or search_path as a way to select a pool or Provider schema. The x-tenant request metadata selects the Workspace. Do not place a Workspace slug into a SQL address. For legacy Artifact uploads, artifacts.headcount remains an alias for artifacts.public.headcount. It does not resolve a table from any other namespace. Use the complete address returned by discovery for named publications.

Provider table names

The address uses technical identifiers from the Provider Plugin:
  • The Provider’s connector slug identifies its schema.
  • The projected stream name identifies its table.
  • - in a connector slug is registered as _ for SQL identifiers.
Use the catalog’s schemaName and logicalName values rather than deriving an address from a display name.

Column names

Projected Provider fields use predictable logical names:
  • Source field names are lowercased: primaryEmail becomes primaryemail.
  • Flattened object paths use __: assignee.email becomes assignee__email.
  • Exploded arrays use a child table named {table}__{path}.
  • A struct column keeps its fields’ source names, capital letters included. SQL lowercases an unquoted name, so profile.userType looks for usertype and fails with QL-PL-001. Double-quote the field, profile."userType", or write profile['userType'].
Always prefer the exact name returned by catalog discovery. Display names, role names, Provider names, Parable titles, and Plot titles can change without being SQL identifiers.