> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parable.work/llms.txt
> Use this file to discover all available pages before exploring further.

# Fully Qualified Names

> Address SQL pools, schemas, tables, flattened fields, and child tables precisely.

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.

| Surface         | Address pattern                                   | Example                                  |
| --------------- | ------------------------------------------------- | ---------------------------------------- |
| Provider Pool   | `providers.{connector}.{table}`                   | `providers.google.users`                 |
| Artifact Pool   | `artifacts.{table}`                               | `artifacts.headcount`                    |
| Parable Pool    | `parables.{parable}.{plot}`                       | `parables.spend.tool_costs`              |
| Workspace Pool  | `workspace.{table}`                               | `workspace.users`                        |
| Quality summary | `providers_quality.summary.{table}`               | `providers_quality.summary.table_health` |
| Quality history | `providers_quality.{connector}.{table}__{suffix}` | `providers_quality.google.users__checks` |

The `x-tenant` request metadata selects the Workspace. Do not place a Workspace
slug into a SQL address.

## 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}`.

```sql theme={null}
SELECT
  identifier,
  assignee__email,
  state__name
FROM providers.linear.issues
```

Always prefer the exact name returned by
[catalog discovery](/protocols/sql/data-catalog/discover-tables-and-columns).
Display names, role names, Provider names, Parable titles, and Plot titles can
change without being SQL identifiers.
