Skip to content

Quickstart

  1. Install the plugin and the Teradata Tree-sitter parser (see Install).
  2. Verify installation with :checkhealth vim-teradata.
  3. Configure at least one user in your init.lua:
require('vim-teradata').setup({
  users = {
    { log_mech = 'TD2', user = 'USER', tdpid = 'HOST' },
  },
  replacements = { ['${DB_NAME}'] = 'MY_DB' },
})
  1. Sync metadata (one-time or whenever the catalog changes):
:TDSync
  1. Open a .sql file. Completion becomes schema-aware after FROM and JOIN.
  2. Run a query with :TDO and watch progress in :TDJ (asynchronous execution via BTEQ). Re-run the latest query anytime with :TDRerun (or g. in SQL buffers, . in result buffers).
  3. Bookmark useful queries: select text → :TDBAdd, then manage in :TDB.

Example

-- Use placeholder replacement if configured
SELECT *
FROM ${DB_NAME}.Orders o
JOIN ${DB_NAME}.OrderItems i
  ON o.OrderId = i.OrderId
WHERE o.OrderDate >= DATE '2024-01-01'
QUALIFY ROW_NUMBER() OVER (PARTITION BY o.CustomerId ORDER BY o.OrderDate DESC) = 1;