Saturno is a Visual Studio Code extension designed to facilitate connectivity and querying of Impala databases using ODBC. It provides a suite of tools to execute SQL queries, visualize results, and manage database interactions directly within the VS Code environment.
Features
Impala Connectivity: Seamlessly connect to Impala databases using an ODBC Data Source Name (DSN).
SQL Execution: Execute entire .sql files or individual SQL cells with highlighted code execution.
Result Visualization: View query results in an interactive, sortable table with copy-to-clipboard functionality.
CSV Export: Export query results from individual cells to CSV format.
Query History: Access a reverse chronological list of executed queries with the ability to copy them to the clipboard.
Database Explorer: Browse Impala databases, tables, and fields in a tree view, with options to copy table names.
Connection Management: Monitor and manage connection status via a status bar indicator, with manual connect and disconnect options.
Parameterized Queries: Define and manage parameters in a dedicated view, using them in queries with {param} syntax for dynamic SQL execution.
Requirements
An installed ODBC driver for Impala compatible with your system.
Node.js version 14.x or higher.
Visual Studio Code version 1.87.0 or higher.
Installation
Install the extension from the Visual Studio Code Marketplace or by using a .vsix file:
Via Marketplace: Search for "Saturno" and click "Install".
Via .vsix: Go to "Extensions" > "..." > "Install from VSIX" and select the saturno-0.2.0.vsix file.
Configure the ODBC DSN in the VS Code settings (see Configuration below).
Configuration
Saturno can be configured through VS Code settings:
saturno.dsn: Specifies the ODBC DSN used to connect to Impala.
Type: String
Default: "impala-prod"
Description: The DSN configured in your ODBC driver for Impala connectivity.
To configure:
Open VS Code settings (Ctrl+, or Cmd+, on macOS).
Search for saturno.dsn and enter your DSN value.
Usage
Connect to Impala:
Click the status bar icon ($(plug) Impala: Desconectado) to establish a connection.
Alternatively, use the Command Palette (Ctrl+Shift+P) and select Saturno: Conectar a Impala.
Disconnect from Impala:
Use the Command Palette (Ctrl+Shift+P) and select Saturno: Desconectar de Impala to close the active connection.
Execute Queries:
Open a .sql file in the editor.
Use the Command Palette (Ctrl+Shift+P) to select:
Saturno: Ejecutar archivo SQL: Runs all queries in the file, separated by ;, in sequence.
Saturno: Ejecutar celda SQL: Executes the SQL cell at the cursor position and displays results in a table.
Saturno: Exportar celda SQL a CSV: Executes the SQL cell at the cursor and exports results to a CSV file.
Manage Parameters:
Open the "Saturno" view in the Activity Bar and go to the "Parameters" section.
Add parameters using the "+" button, edit, or delete them as needed.
Use parameters in your queries with the {param} syntax, e.g., SELECT * FROM table WHERE year = {anio}.
Manage DSN:
Use Saturno: Cambiar DSN from the Command Palette to update the DSN manually.
Explore Database:
Open the "Saturno" view in the Activity Bar:
Tree: Navigate through databases, tables, and fields. Right-click a table to copy its fully qualified name.
Query History: Review recent queries and copy them to the clipboard.
Keyboard Shortcuts
Saturno provides the following keyboard shortcuts for quick access to its commands:
Command
Windows/Linux Shortcut
macOS Shortcut
Saturno: Conectar a Impala
Alt + .
Alt + .
Saturno: Desconectar de Impala
Alt + ,
Alt + ,
Saturno: Ejecutar archivo SQL
Ctrl + Shift + <
Cmd + Shift + <
Saturno: Ejecutar celda SQL
Ctrl + <
Cmd + <
Saturno: Exportar celda SQL a CSV
Alt + <
Alt + <
Known Issues
Performance may degrade with extremely large datasets.
Some advanced Impala features might not be fully supported via ODBC.