Philipp Salvisberg
banner
salvis.com
Philipp Salvisberg
@salvis.com
Focused on database-centric development. Chat is open.
https://www.salvis.com/blog/about
Reposted by Philipp Salvisberg
Another successful Saturday morning build... :)

#Oracle #AI #Database #26ai #Free #Docker
February 7, 2026 at 6:10 PM
Reposted by Philipp Salvisberg
Preventing overlapping start-end dates in history tables is a common challenge

Oracle AI Database gives you two ways to do this:

Guarantee consecutive ranges with foreign keys
Stop overlapping ranges with assertions

Find out how in my latest post blogs.oracle.com/sql/how-to-s...
February 5, 2026 at 10:17 AM
Playing with OracleDB assertions. Learning new error messages.

ORA-08673: Equijoin "E"."DEPARTMENT_ID"="D"."DEPARTMENT_ID" found does not meet the criteria to do a FAST validation.

Good explanation on docs.oracle.com/en/error-hel...
ORA-08673 - Database Error Messages
This page describes the ora-08673 Oracle Database Error Messages, also known as ora08673, ora-8673 or ora8673
docs.oracle.com
February 3, 2026 at 1:10 PM
Reposted by Philipp Salvisberg
Reposted by Philipp Salvisberg
Rules always have exceptions. In this video I show how to use the --dblinter ignore directive to suppress rule violations for different scopes.
youtu.be/5vWUv-jAM14

@united-codes.com #orclAPEX #oracle #plsql #dblinter
How to Suppress dbLinter Violations Using Inline Comments
YouTube video by United Codes
youtu.be
January 21, 2026 at 1:44 PM
Reposted by Philipp Salvisberg
Want to improve the quality of your Oracle #SQL and PL/SQL?

@salvis.com has built the automatic rule checking suite, dbLinter

This defines 187 rules you can apply to check your code

Philipp has picked out 14 to always run

Do you agree with his list?

buff.ly/Nc5t1Qd
January 20, 2026 at 12:01 PM
I've updated my local APEX development environment to Oracle AI Database 26c. @hartenfeller.dev makes it easy! Thanks!
January 9, 2026 at 7:48 AM
Reposted by Philipp Salvisberg
I did a lot of thinking about the npm supply chain attacks over my break. I wrote up my thoughts, along with some proposed solutions, in my latest post:

https://humanwhocodes.co...
January 6, 2026 at 3:32 PM
Reposted by Philipp Salvisberg
Timely for the 🎄 Christmas break, I've put together a more detailed 🛠️ "under the hood" post about extended VARCHARs (VARCHAR2 (32k)) and their often misunderstood 🔢 storage behavior.
Oracle Database 32k VARCHAR2 storage
Not too long ago, I responded to an email list regarding the storage of Oracle Database's extended VARCHAR2 data types, which allow you to store up to 32 KB of data. Because the LOB layer is used to store the data, it is often misunderstood that extended VARCHAR2s are nothing but tiny CLOBs and fall under the same semantic rules as…
www.geraldonit.com
January 6, 2026 at 2:00 PM
I see the dbLinter rules as a large buffet. You choose what you like and what is healthy. But not too much at once. In any case, some rules should be enforced in every project. Do you agree with my top 14?

www.salvis.com/blog/2026/01...
Fighting Bad PL/SQL & SQL with VS Code
The success of a project or product depends largely on the quality of the code. But how can I improve security, maintainability or performance? More importantly, how can I prevent code with quality de...
www.salvis.com
January 2, 2026 at 9:35 PM
Closed a long-running action item from August 2023.

The “Coming Soon” page on the Grisselbav website is gone. Replaced with real content.

Meet the Grisselbav team virtually at www.grisselbav.com.

Happy New Year!
Database Code Quality & Engineering Practices | Grisselbav
We help teams establish reliable and repeatable engineering practices around their databases, without unnecessary complexity.
www.grisselbav.com
December 31, 2025 at 2:18 PM
Would you like dbLinter to include a formatter? The more 'thumbs up' we get for the GitHub issue (github.com/Grisselbav/d...), the sooner it will happen.
New Rule: Always format database code consistently · Issue #45 · Grisselbav/dbLinter
The Problem ATM code style rules are not covered in the rule set of dbLinter. See also No Code Style. This is sad, since well-formatted code is easier to read and consistently formatted code is eas...
github.com
December 12, 2025 at 10:56 AM
Do you write and deploy SQL or PL/SQL code for the Oracle Database? Do you care about software quality? If so, you should try dbLinter. It is available in the VS Code Marketplace and the Open VSX Registry.
December 12, 2025 at 8:15 AM
Reposted by Philipp Salvisberg
Oracle AI Database 26ai On-Prem Announced

oracle-base.com/blog/2025/12...
December 4, 2025 at 10:05 AM
Reposted by Philipp Salvisberg
It's coming, Oracle AI Database 26ai for on premises commodity hardware announcement

blogs.oracle.com/database/ora...
blogs.oracle.com
December 3, 2025 at 4:30 PM
Reposted by Philipp Salvisberg
APEX Connect 2026 - Call for Papers noch bis morgen!!!

Gebt Euren Abstract den letzten Schliff, und dann ab damit: apex.doag.org/de/home/

Wir freuen uns drauf! 😍

#APEXconn26 #orclAPEX #SQL #PLSQL #solutions #community
December 1, 2025 at 11:42 AM
Too many commits can kill you! (And everyone else) by @ora600pl.bsky.social at DOAG2025. The summary is the first screen (no slides of course).
November 20, 2025 at 1:00 PM
If you love your data then you have to love this feature. Presented by @toonkoppelaars.bsky.social who joined Oracle to make that happen. #DOAG2025
November 19, 2025 at 8:00 AM
Reposted by Philipp Salvisberg
November 18, 2025 at 11:25 AM
Some Oracle ACE Program swag waited for me after returning from two amazing days at the ATP Finals in Turin. Useful stuff for #DOAG2025 next week! Thanks @oracleace.bsky.social!
November 11, 2025 at 5:49 PM
Reposted by Philipp Salvisberg
SYSDATE in Oracle AI Database is evaluated once per

Statement in #SQL
Call in PL/SQL

Wrap SYSDATE in a DETERMINISTIC function to trick the compiler into evaluating it once/statement

But beware: this can lead to unwanted behaviour

@salvis.com explores
Is SYSDATE Deterministic? #JoelKallmanDay - Philipp Salvisberg's Blog
Is SYSDATE deterministic in Oracle Database? Explore definitions, test cases, and pitfalls when using SYSDATE vs deterministic functions.
buff.ly
October 28, 2025 at 12:03 PM
Reposted by Philipp Salvisberg
I felt like writing a blog post —a little write-up on why fixing failed #database deployments is challenging.
Spoiler: The part about undo-scripts might feel like a rant, probably because it is. 🙃

medium.com/@jasminfluri...
Database Rollbacks in CI/CD: Strategies and Pitfalls
Database rollbacks would be incredibly valuable and essential if we want quick fixes for failed deployments. But they are rarely feasible.
medium.com
October 22, 2025 at 7:44 PM
Tennis before the first session on day 3 of HrOUG with team „Awesome“ and „OMG“. It was great fun. Thanks! #HrOUG25 #HrOUG2025
October 17, 2025 at 7:17 AM
This is how a latch contention looks in real life. The @ora600pl.bsky.social way at #HrOUG2025
October 16, 2025 at 2:08 PM