Joining Temporal Intervals
From time to time a customer asks me how to join multiple tables with temporal intervals (e.g. defined by two columns such as valid_from and valid_to per row). The solution is quite simple if you may...
View ArticleMerging Temporal Intervals with Gaps
In Joining Temporal Intervals I explained how to join multiple temporal tables. The provided solution merges also temporal intervals but – as pointed out in that post – may produce wrong results if the...
View ArticleJoining Temporal Intervals Part 2
The solution I’ve provided in Joining Temporal Intervals produces wrong results if one or more temporal tables have gaps in their history or if disconnected intervals have the same content. In this...
View ArticleLoading Historical Data Into Flashback Archive Enabled Tables
Oracle provides via OTN an import solution for FBA (Flashback Data Archive also known as Total Recall). The solution extends the SCN to TIMESTAMP mapping plus provides a wrapper to existing APIs to...
View ArticleTrivadis PL/SQL & SQL CodeAnalyzer Released
A month ago I had a talk about “Extending the Oracle Data Dictionary for Fine-Grained PL/SQL and SQL Analysis” during the ODTUG Kscope13 conference in New Orleans. Oracle data dictionary views as...
View ArticleTrivadis PL/SQL & SQL CodeChecker Released
In August 2009 Trivadis – the company I work for – released the first version of their PL/SQL & SQL Coding Guidelines. Back then we made our PL/SQL assessments based on interviews and checked the...
View ArticleColumn-less Table Access
While writing some JUnit tests after fixing bugs in dependency analysis views, I came up with the following query:SELECT owner, object_type, object_name, operation, table_name FROM tvd_object_usage_v...
View ArticleMulti-temporal Features in Oracle 12c
Oracle 12c has a feature called Temporal Validity. With Temporal Validity you can add one or more valid time dimensions to a table using existing columns, or using columns automatically created by the...
View ArticleTrivadis PL/SQL & SQL CodeChecker for SQL Developer Released
A half a year ago Trivadis released a command line utility to scan code within a directory tree for guideline violations of the Trivadis PL/SQL & SQL Coding Guidelines Version 2.0. This is tool is...
View ArticleReady for Oracle 12c
The Oracle 12c grammar is now supported in the new versions of the Trivadis CodeChecker, CodeChecker for SQL Developer and CodeAnalyzer. The following example code, copied from a colleague at Trivadis,...
View ArticleCannot Install Extensions in SQL Developer 4 on Mac OS X
Today I could not install any SQL Developer extension on my Mac OS X machine. I did not get an error message during the installation. After a restart of SQL Developer the extension simply was missing....
View ArticleIntroducing PL/SQL Unwrapper for SQL Developer
I’m using from time to time the free service Unwrap it! or Niels Teusink’s Python script unwrap.py to unwrap PL/SQL code. Recently I’m confronted more with wrapped code since a customer is about to...
View ArticleUpdate for PL/SQL Cop and PL/SQL Analyzer
Some people asked me to announce the availability of new versions of products on my web site. I guess a blog entry and a Twitter announcement should do the job. Today I’ve released the following three...
View ArticleOuter Join Operator (+) Restrictions in 12.1.0.2?
I’m currently reviewing a draft of Roger Troller’s updated PL/SQL and SQL Coding Guidelines version 3.0. One guideline recommends to use ANSI join syntax. The mentioned reasons are ANSI join syntax...
View ArticleMonitoring PL/SQL Code Evolution With PL/SQL Cop for SonarQube
Last week I’ve presented the PL/SQL Cop tool suite to a customer in Germany. While preparing the demo I had taken my first deeper look at the PL/SQL Cop SonarQube plugin, written by Peter Rohner, a...
View ArticlePL/SQL Cop Meets oddgen
Until August 2015 it never occurred to me that one could use non-PL/SQL code within conditional compilation blocks. Back than we discussed various template engine options as foundation for oddgen – the...
View ArticleHow to Integrate Your PL/SQL Generators in SQL Developer
About three weeks ago Steven Feuerstein tweeted in his tip #501 a link to a generator for the WHEN clause in DML triggers on Oracle Live SQL. Back than I refactored the generator for oddgen – the...
View ArticlePL/SQL Bulk Unwrap
406 days ago I’ve released PL/SQL Unwrapper for SQL Developer version 0.1.1 and blogged about it. With this extension you can unwrap the content of a SQL Developer window. Time for an update. With the...
View ArticleTrivadis PL/SQL & SQL Coding Guidelines Version 3.1
The latest version 3.1 of the Trivadis PL/SQL & SQL Coding Guidelines has 150 pages. More than 90 additional pages compared to version 2.0. Roger Troller did a tremendous job in updating and...
View ArticleBitemp Remodeler v0.1.0 Released
I’ve been working on a flexible table API generator for Oracle Databases since several months. A TAPI generator doesn’t sound like a real innovation. But this one contains some features you probably...
View Article