Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tablepro.app/llms.txt

Use this file to discover all available pages before exploring further.

SQL Autocomplete

Autocomplete suggests keywords, tables, columns, and functions based on where your cursor is and what tables are in scope.
Autocomplete
Suggestions appear after 2 characters, after ., or after keywords like SELECT/FROM/JOIN. 50ms debounce. Press Escape to dismiss.

Completion Types

SQL Keywords

Context-aware keyword suggestions:
SEL|  -- SELECT
FROM users WH|  -- WHERE
SELECT * FROM users WHERE name LIKE '%test%' ORD|  -- ORDER BY
Keyword suggestions

Table Names

Tables appear after FROM, JOIN, INSERT INTO, and similar keywords:
SELECT * FROM |  -- All tables
SELECT * FROM us|  -- Tables starting with "us": users, user_roles
SELECT * FROM users JOIN |  -- All tables
Table suggestions

Column Names

Columns are suggested in SELECT, WHERE, ORDER BY, GROUP BY, and other column contexts. If a FROM clause exists anywhere in the statement (even after the cursor), columns come from those tables. If no FROM clause exists yet, columns from all cached tables appear as fallback.
SELECT na|  -- Columns matching "na" from all cached tables
SELECT | FROM users  -- Columns from users
SELECT u.| FROM users u  -- Columns from users via alias
SELECT * FROM users WHERE |  -- Columns from users
If the same column name exists in multiple tables, the fallback qualifies them: users.id, orders.id.

Alias Resolution

Type an alias followed by . to see that table’s columns:
SELECT
    u.|  -- id, name, email, created_at (from users)
FROM users u
JOIN orders o ON u.id = o.|  -- id, user_id, total (from orders)
Alias suggestions

Functions

SQL functions appear in SELECT, WHERE, and expression contexts:
SELECT |  -- COUNT, SUM, AVG, MAX, MIN, etc.
SELECT COUNT(|  -- Columns and *
WHERE date_column > |  -- NOW(), CURRENT_DATE, etc.
SQL function suggestions

Favorite Keywords

Favorites you’ve assigned a keyword to (DB-stored or linked-file @keyword frontmatter) appear in the popup as a top-priority match. Type the keyword, accept the suggestion, and the favorite’s full SQL replaces the keyword inline. See SQL Favorites for how to assign keywords.

Schema Names

For databases with multiple schemas (PostgreSQL):
SELECT * FROM |  -- public, schema1, schema2
SELECT * FROM public.|  -- Tables in public schema
Schema-qualified names like public.users resolve correctly in FROM, JOIN, UPDATE, INSERT INTO, and CREATE INDEX.

Context-Aware Suggestions

What appears depends on where your cursor is:
ContextSuggestions
After SELECTColumns, *, aggregate functions
After FROM / JOINTable names
After WHEREColumns, operators, AND/OR
After ON (JOIN)Columns from both tables
After GROUP BY / ORDER BYColumns, ASC/DESC

Schema-Aware Completions

Suggestions use the actual tables and columns from the connected database, not heuristics or static keyword lists.
  • Table names come from the live schema (per database, per schema for PostgreSQL)
  • Column names come from each table’s column metadata
  • Schema-qualified table names resolve correctly: public.users, app.orders, analytics.events
  • Aliases are resolved against the live schema (u. after FROM users u shows users columns)

Pre-FROM Column Suggestions

You don’t need a FROM clause to get column completions. If you start typing a column name before writing FROM, TablePro suggests columns from all cached tables. Once you add FROM users, suggestions narrow to that table’s columns. If a name is ambiguous across tables (id, name), the fallback qualifies it: users.id, orders.id.

Schema Cache

On connection, TablePro fetches table names and loads columns for up to 50 tables in the background. Cached metadata has a short TTL: stale entries are refreshed on next access, and a failed schema load has a 30 second retry cooldown to avoid hammering the server. After external schema changes (migrations, CLI work), right-click the connection and select Refresh to force a reload.

Performance

Works on files of any size, including multi-megabyte dumps. For files over 500 KB, only a ~10 KB window around the cursor is analyzed. The column cache holds up to 50 tables with LRU eviction.