2024-01-30

IslandSQL Episode 6: DML Statements in Oracle Database 23c

Introduction The IslandSQL grammar now covers all DML statements. This means call, delete, explain plan, insert, lock table, merge, select and update. In this episode, we will focus on new features in the Oracle Database 23c that can be used in insert, update, delete and merge statements. For the select statement see […]
2024-01-12

IslandSQL Episode 5: Select in Oracle Database 23c

Introduction In the last episode, we extended the expressions in the IslandSQL grammar to complete the lock table statement. The grammar now fully covers expressions, conditions and the select statement. In this episode, we will focus on optimizer hints and new features in the Oracle Database 23c that can be used in the […]
2023-03-05

IslandSQL Episode 4: Expressions

Introduction In the last episode, we extended the IslandSQL grammar covering the complete lock table statement. However, the support for expressions was very limited. It was not possible to use a date literal or to_date function to determine a partition to be locked. Time to fix that. In this episode, we will have […]
2023-02-19

IslandSQL Episode 3: Lock Table

Introduction In the last episode, we extended the IslandSQL grammar to cover all DML statements as a single lexer token. Now it’s time to handle the complete grammar for one DML statement. The simplest one is lock table. A good reason to start with it and lay the foundation for the other DML […]
2023-02-07

IslandSQL Episode 2: All DML Statements

Introduction In the last episode, we build the initial version of IslandSQL. An Island grammar for SQL scripts covering select statements. In this blog post, we extend the grammar to handle the remaining DML statements. The full source code is available on GitHub and the binaries on Maven Central. Lexer Changes The […]
2023-02-04

IslandSQL Episode 1: Select Statement

Introduction An island grammar focuses only on a small part of a grammar. The island represents the small, interesting part and the sea the rest. In this blog post, I explain the components of an island grammar for SQL scripts named IslandSQL. In the first iteration, we focus on the select statement. Everything […]
2022-07-17

plscope-utils for SQL Developer 1.0 – What’s New?

Introduction PL/Scope is an SDK for source code analysis. It is available since Oracle Database 11g Release 1 and has been significantly improved in 12c Release 2. plscope-utils for SQL Developer is a SQL Developer extension that simplifies the compilation with PL/Scope, visualizes PL/Scope information under a PL/Scope node in the Connections […]
2022-01-14

Finding Wrong Hints

Introduction I have used the Oracle Database for many years. And I use hints. For experiments, but also in production code. There are cases when you know more than the Oracle Database. For example about the cardinality of a data source or the number of result rows to process or the number […]
2020-09-07

Highlight Hints in SQL Developer

Introduction In this blog post, I explain how you can configure your SQL Developer to highlight hints and distinguish them from ordinary comments. The SQL Language Reference for Oracle Database 19c defines hints as follows: Hints are comments in a SQL statement that pass instructions to the Oracle Database optimizer. The optimizer […]
2020-04-26

Syntax Highlighting With SQL Developer

Introduction A customer asked me if it is possible to show unused identifiers in SQL Developer. Since there is no PL/SQL compile warning for that, you might be tempted to say no. But you can always use PL/SQL Cop for static code analysis. Guideline G-1030 deals with variables and constants and guideline […]