Quickstart
- Install the plugin and the Teradata Tree-sitter parser (see Install).
- Verify installation with
:checkhealth vim-teradata.
- 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' },
})
- Sync metadata (one-time or whenever the catalog changes):
- Open a
.sql file. Completion becomes schema-aware after FROM and JOIN.
- 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).
- 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;