Workbench dialect and compatibility
The SQL workbench supports read-only queries against your accessible catalog. Use the syntax and functions documented here when querying connected data.
The SQL reference explains the workbench query patterns. Connected sources must also support the SQL sent to them.
Automatic BigQuery detection
Section titled “Automatic BigQuery detection”Paste a BigQuery query using native dataset.table or project.dataset.table references and choose Run. When every reference resolves to one BigQuery connection in your catalog, the workbench sends the SQL unchanged to BigQuery. You can also use connection.dataset.table from Data explorer; FastBI replaces the connection qualifier with its BigQuery project. No mode switch is needed. This supports BigQuery constructs such as UNNEST, nested fields, REGEXP_CONTAINS, raw regex strings, and wildcard tables with _TABLE_SUFFIX filters.
If multiple BigQuery connections match, the workbench asks which connection to use and remembers the choice while the tab is open. BigQuery dry-run validation and the organization scan limit apply before execution. The Format action also uses the detected dialect.
The native path requires catalog-resolvable tables and syntax recognized by the BigQuery parser. External queries and qualified routines are not supported. Queries using FastBI helper functions (except native SAFE_DIVIDE) or combining connections use the shared workbench planner. The restrictions below describe that shared dialect.
Table names
Section titled “Table names”Use the qualified name shown in Data explorer:
SELECT id, countryFROM pg.public.customersLIMIT 20;The three parts are connector.dataset.table. For a PostgreSQL connection, the dataset is its schema. Lake uses the reserved connection name lake, for example lake.marketing.spend.
Two-part dataset.table and bare table names also work when they identify exactly one accessible table. If the name is ambiguous, qualify it. Connection names come from the catalog; do not guess them from a provider name. A connection ID can also qualify a source when preserving a saved reference across a display-name change.
Use double quotes around identifiers that need quoting:
SELECT c.id, c.countryFROM "pg"."public"."customers" AS cLIMIT 20;Use the identifier spelling shown in Data explorer. SQL support can vary between connected sources.
Statements and query structure
Section titled “Statements and query structure”Run one read-only SELECT statement at a time, including a query introduced by WITH. The current query-length limit is 100,000 characters.
Supported query structures include joins, CTEs, subqueries, grouping, aggregates, ordering, limits, and supported set operations.
The workbench rejects:
INSERT,UPDATE,DELETE,CREATE,DROP,ALTER, and procedure calls.SELECT INTOand locking reads.- Recursive CTEs.
- Dynamic table references and table functions in
FROM. - Functions outside the workbench supported list or SQL functions.
- CTE names matching reserved stage identifiers such as
stg_001.
Use Catalog rather than submitting source SHOW or DESCRIBE statements. Use the workbench’s Explain action to inspect the execution plan instead of submitting a standalone source EXPLAIN statement.
Built-in function supported list
Section titled “Built-in function supported list”The following functions are supported. Check source compatibility when using a connected database.
Numbers: abs, round, ceil, ceiling, floor, mod, power, sqrt.
Text: lower, upper, length, char_length, trim, ltrim, rtrim, substring, substr, replace, concat, concat_ws.
Nulls and comparisons: coalesce, nullif, greatest, least.
Dates and time: make_date, date_part, date_trunc, extract, to_char, to_date, to_timestamp, current_date, current_timestamp, now.
Aggregates: count, sum, avg, min, max, bool_and, bool_or, string_agg, array_agg.
Windows: row_number, rank, dense_rank, lag, lead, first_value, last_value, ntile, percent_rank, cume_dist.
You can also use CAST and EXISTS forms. These functions add calendar bucketing, conditional aggregates, safe division, and tolerant conversion.
Unsupported expressions
Section titled “Unsupported expressions”Functions outside the supported list are rejected. Use a prepared source view when a calculation is not available in the workbench.
Read cross-source querying for query planning, timing, and costs.