!!! Under construction !!!
Dialect sensitive editor for SQL and for Procedural-SQL script files (.sql, .plsql) providing advanced editing capabilities.
- Language highlighting configurable in the "Colors & Fonts" IDE settings section
- Code formatting, folding and bracket matching
- Qualified code completion suggesting only suitable variants for the invoking position
- Two configurable levels for code completion (to narrow down the suggested variants to the desired extent)
- Sortable code completion variant-lists
- Error highlighting for incomplete statements or invalid references to database entities
- Basic structure projection in the "Structure" tool window
- Statement execution triggers on editor gutter
- Editor intentions (statement execution and selection of connection/schema for the current editor)
- Navigation from resolved identifiers to the respective object in browser
- Navigation within editor for aliases / variables (e.g. alias reference to alias definition)
MySql Procedural-SQL is highlighted with the Oracle highlighter
Identifier resolver still experiences issues and may report invalid references even though they are valid. A major redesign of the identifier-resolver is planned already.
Flexible database connectivity management.
- Connections configurable in scope of project or module
- Persistent mapping between connection/schema and sql scripts
- Connection pooling for concurrent database access and dedicated connectivity (managed internally)
- Silent connectivity restoring in case of database linkage breaks (e.g. idle session timeouts, administrative session kills)
- Virtual connections for deciding the .sql dialect of the mapped file (no real database behind)
Tool window displaying available connections and the database objects.
- Tree-wise visualization of database connections and hierarchical objects structure
- Contextual popup menu with supported operations on each database entity (e.g. compile, execute, refresh lists)
- Several embedded navigation capabilities via context menu (e.g. from column to its constraints, from synonym to underlying object)
- Accessors for database object editor and method execution operation
- Navigation history and speed search capabilities
- Highlighting of invalid objects, accessors for multiple-compile operation (identify invalid objects and fire compilation operation on them) **
- DDL extraction to editor or to clipboard (deprecated feature - see ddl file creation in code-editor section) **
- Lazy loading of database objects (objects are loaded only on demand from the database to save system resources)
- Intelligent background loading strategy to ensure minimal waiting times for developer
Highlighted code editor for program-objects (e.g. functions) and views
- Editor for database functions, procedures, packages, types and triggers
- Qualified editor for database views (advanced editing capabilities like code completion, folding, navigation, error highlighting)
- Show changes facility (diff visualization for local changes and changes against database)
- Basic team coding support to prevent blind overwriting on concurrent editing (if the edited object was changed by a third party since it was last saved, developer will be prompted to merge the changes)
- Support for creation of DDL files for database objects
- DDL file mapping - locating and aggregating project .ddl files with the database objects being edited (ddl files are automatically updated when object is edited)
- Firing compile operation after updating changes to database **
- Compiler error messages in the execution console with navigation to code (to exact row and column position) **
- Navigable structure projection in the "Structure" tool window
- Identifier highlighting (Editor settings: "Highlight usages of element at caret")
Note: Version conflict editors are not highlighted. Will be fixed in future releases.
Tabular dataset editor for manipulating data in tables and editable views
- Advanced cell editors for several data types (data choosers, calendar, large text editor)
- Input validation and error highlighting (erroneous inputs are leniently notified by a lightweight error pop-up)
- Data sorting (click on column header will switch the sorting order)
- Gutter highlighting for unsaved changes (inserted, changed or removed entries are emphasized in the editor gutter)
- Data export to file or to clipboard in several formats (sql insert statements, .xls, .csv)
- Flexible data filtering capabilities (simple - list of conditions joined with AND or OR; custom - sql editor for freestyle "where" condition)
- Quick filter suggestions (e.g. "filter by column value", "filter by clipboard value")
- Transaction awareness when changing data (commit and rollback controls are being enabled for the corresponding connection)
- Navigable structure projection in the "Structure" tool window
- Smart editing (cell becomes editable right after being selected to skip annoying "double-click to edit")
- Editing lock (for comfortable data browsing)
- CLOB editor with configurable highlighting (supports all file types supplied by IntelliJ)**
- Record editor
Statement and database-method execution, compile engine for database programs
- Execution of sql statements can be fired directly from the editor gutter against the database mapped to the editor
- Sticky linkage between statements in editor and execution result (navigation from the editor to the result and backwards is ensured even if the file is being edited)
- Sortable query results in tabular form
- Export of query results to file or to clipboard in several formats (sql insert statements, .xls, .csv)
- Message window for failed statement executions
- Executed statement preview window (useful when the underlying statement has been changed in editor)
- Transaction awareness on execution of data manipulation statements (commit and rollback controls are being enabled for the corresponding connection)
- Compiler engine for database program objects (functions, procedures, triggers, packages, types) **
- Method execution engine for functions and stored procedures
- Method execution history (execution arguments are persisted and can be reviewed/reused/deleted at any time)
Note: Configuration of execution processes is still pending.
PL/SQL Debugger **
Full-fledged debugger for PL/SQL programs (procedures, functions, packages) based on the Oracle DBMS_DEBUG functionality.
- Ensure debugging prerequisites (check for privileges, compile programs and dependencies in debug modus)
- Add and remove breakpoints before and during debug process
- Break/resume execution: step over, step into, step out, run to breakpoint, run to cursor
- View and change variable values on suspended execution
- Display cascading execution frames
- Support watchers and expression evaluations (within the limitations of DBMS_DEBUG framework)
- Store run parameters in method execution history
No JDWP debugging supported yet
Only execution of functions and stored procedures can be debugged for the time being (including package executable elements).
Execution and debugging for file based PL/SQL code (PL/SQL scripts) is planned.
** Oracle specific feature