FAQ¶
Do I need Neovim 0.12+?
Yes. vim-teradata requires Neovim 0.12+ because it relies on modern Lua APIs including vim.system, vim.diagnostic, vim.pack.add, and Neovim 0.12 Tree-sitter and filetype APIs.
Can I use vim-teradata with vanilla Vim?
No. The plugin is built specifically for Neovim (using Lua, vim.system, vim.diagnostic, and the built-in Tree-sitter API).
Does vim-teradata store my password?
No. Passwords never touch disk or the plugin's data directory. Authentication is delegated to tdwallet using $tdwallet(<user>).
Which operating systems are supported?
Linux, macOS, and Windows (including WSL). The only platform-dependent component is the compiled Tree-sitter parser library (.so, .dylib, or .dll).
Which Teradata client versions are supported?
Confirmed with TTU 20 and compatible with TTU 17.10. Ensure bteq is on your $PATH.
Can I run multiple queries in parallel?
Yes. Every query run (:TDO, :TDV) spawns an independent, asynchronous BTEQ job. You can track all background jobs in real time with :TDJ.
How do I run a BEGIN TRANSACTION ... COMMIT; block?
Use the multistatement commands :TDM or :TDMV. All statements will be batched and executed sequentially within a single BTEQ session.
Can I limit the scope of :TDSync?
Yes. Set the filter_db option in setup() with a Lua pattern (e.g. '^PROD_') to import only relevant databases.
Where is metadata and history stored?
Under vim.fn.stdpath('data') .. '/teradata' by default (configurable via data_dir, history_dir, and bookmarks_dir).
How do I change connection profiles for a single query?
Open the user manager with :TDU, select the desired user profile with <CR>, run your query, and switch back when done.
Why is the formatter marked experimental?
:TDF and :TDFF work reliably on standard DML and DDL statements, but they may reorder comments or format unusual syntax constructs unexpectedly. Always inspect diffs before committing formatted files.