Sign in

Philipp Salvisberg

@salvis.com
523 followers 157 following 195 posts

Focused on database-centric development. Chat is open. www.salvis.com/blog/about

PostsRepliesMedia
Philipp Salvisberg @salvis.com · 03/09/2026
TIL that the ChatGPT app on macOS has a pet. And it is activated by Ctrl-Space... 😱. If you still work with IDEs like I do, you might want to show the pet where it belongs.
000
Philipp Salvisberg @salvis.com · 03/08/2026
After returning from a lovely, relaxing weekend in the Black Forest, I found a few Oracle ACE Program swag waiting for me at a DHL collection point. Thank you so much, @oracleace.bsky.social!
My Oracle ACE Program swag package contained the following items: a black laptop sleeve, a black pen, a white T-shirt, a black cap, a beige cotton bag, a steel mug and a black Ocean bottle.
151
Philipp Salvisberg @salvis.com · 21/06/2026
Making progress with APEXlang support. The ANTLR4-based grammar can now parse the dbLinter APEX app without errors. Next step: more tests and integration into dbLinter’s language server.
IntelliJ IDEA showing development of an ANTLR4-based parser for APEXlang. The editor contains an APEXlang page definition, an ANTLR Preview window displays the corresponding parse tree, and the test runner shows 96 passing tests, including successful parsing of dbLinter APEX application files.
011
Philipp Salvisberg @salvis.com · 02/05/2026
It's not in the SQL standard (yet). It does more than just spare the developer from writing join conditions. It ensures that a join does not produce more rows. I can see the potential value of this feature when it comes to joining temporal structures.
000
Philipp Salvisberg @salvis.com · 01/05/2026
The new features guide for Oracle AI Database 23.26.2 is out: docs.oracle.com/en/database/... One interesting addition is the join_to_one clause, which uses integrity constraints to simplify joins.
joining emp to dept using join_to_one clause
262
Philipp Salvisberg @salvis.com · 16/12/2025
"the list doesn't contain everything I was expecting". Right.
200
Philipp Salvisberg @salvis.com · 20/11/2025
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).
030
Philipp Salvisberg @salvis.com · 19/11/2025
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
0183
Philipp Salvisberg @salvis.com · 11/11/2025
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!
1122
Philipp Salvisberg @salvis.com · 17/10/2025
Tennis before the first session on day 3 of HrOUG with team „Awesome“ and „OMG“. It was great fun. Thanks! #HrOUG25 #HrOUG2025
052
Philipp Salvisberg @salvis.com · 16/10/2025
This is how a latch contention looks in real life. The @ora600pl.bsky.social way at #HrOUG2025
093
Philipp Salvisberg @salvis.com · 16/10/2025
Lot if interest in deep diving into performance of views by @danischnider.bsky.social at #HrOUG2025
052
Philipp Salvisberg @salvis.com · 16/10/2025
Having fun at the tennis court #hroug25
141
Philipp Salvisberg @salvis.com · 19/08/2025
In the next version of dbLinter, you will be able to report issues with related locations. Here's a sneak peek in VS Code and SonarQube (via generic formatted issue reports). Fewer reported issues. Cleaner editor and issue repositories. 😎
Screen shot in VS Code with one issue and two related locations.Screen shot in SonarQube community edition, showing one issue and two related locations.
000
Philipp Salvisberg @salvis.com · 28/07/2025
‪Ah yes, INTEGER is a subtype of NUMBER(38, 0) in PL/SQL. Defining a precision and scale for an INTEGER is an example of 'just because you can, doesn't mean you should'. 🤓
020
Philipp Salvisberg @salvis.com · 21/07/2025
Some #dbLinter rules are easier to implement than others. You can try out dbLinter for VS Code, Cursor, Windsurf or Theia IDE. Watch the video by @hartenfeller.dev www.youtube.com/watch?v=V-eP... to get started. New checks are constantly being added—no client update required.
Implementation of dbLinter rule G-7160, see https://dblinter-rules.united-codes.com/rules/G-7160/
031
Philipp Salvisberg @salvis.com · 16/07/2025
I was so happy when I read the paragraph 'Non-Positional INSERT INTO SET Clause' because I recognised the insert_set_clause. I'm sorry, but I just can't see where the by_name_position_clause is included.
200
Philipp Salvisberg @salvis.com · 13/07/2025
Hoped for CREATE ASSERTION. Not yet.
140
Philipp Salvisberg @salvis.com · 13/07/2025
Wow! My Oracle Database 23ai PDB in the Ashburn OCI has been updated to version 23.9. I'm now waiting for relevant documentation to be released for this version, such as this: docs.oracle.com/en/database/....
Terminal screenshot showing 23.9.0.25.08 version of the Oracle Database instance
250
Philipp Salvisberg @salvis.com · 14/05/2025
dbLinter announced in @united-codes.com vendor session by @dgielis.com and demonstrated by @hartenfeller.dev at #apexconn25. VS Code extension is available as preview in the market place marketplace.visualstudio.com/items?itemNa.... More is coming soon. 😎
0187
Philipp Salvisberg @salvis.com · 01/05/2025
docs.oracle.com/en/database/...
110
Philipp Salvisberg @salvis.com · 26/03/2025
What are use cases for data use case domains? Answered by @danischnider.bsky.social at SOUG day in Bern.
052
Philipp Salvisberg @salvis.com · 24/02/2025
Create a single JSON document and wrap that result with JSON_SERIALIZE returning a CLOB.
111
Philipp Salvisberg @salvis.com · 06/02/2025
And the latest version of this cool, animate slide. 🤓
010
Philipp Salvisberg @salvis.com · 03/02/2025
This is fantastic! Two talks have been accepted for #apexconn25 in Europa-Park Rust: 🇬🇧 Fighting Bad PL/SQL & SQL with VS Code 🇩🇪 Die Trivadis PL/SQL & SQL Coding Guidelines sind tot – was nun? Thanks @doagev.bsky.social. Looking forward to this event. See you there.
APEX Connect 2025 speaker banner. The conference will be held at Europa-Park in Rust, Germany, from 13 to 15 May 2025.
091
Philipp Salvisberg @salvis.com · 28/01/2025
It‘s snowing heavily in Engadina. Looks like a great place for winter sports next week.
160
Philipp Salvisberg @salvis.com · 20/12/2024
How does your solution looks like? - Mine works, but it can for sure be improved.
Code example for Oracle Database 23ai domain for semantic versioning
100
Philipp Salvisberg @salvis.com · 13/12/2024
The JSON Duality View Builder in the Oracle SQL Developer Extension for VSCode is really cool. A unique feature in VS Code. I wish it had been available when I wrote my blog post about flexible schemas in JSON duality views. www.salvis.com/blog/2024/06...
A screenshot of the JSON Duality View Builder in the SQL Developer Extension for VS Code. Shows a graphical representation of the EMP/DEPT model, the duality view of this model in GraphQL form, a hierarchical representation of the view, a properties window and a sample query result with a single record view of a JSON document.
084
Philipp Salvisberg @salvis.com · 13/12/2024
People of BlueSky: Let's get to know each other better! What is one of your favorite movies? Quote share your answer only in GIF form:
An electric guitar, a plectrum and a big amplifier in the background.
310
Philipp Salvisberg @salvis.com · 03/12/2024
Nice summary of my BS posts by bskypt.vercel.app
Bluesky receipt.
040
Philipp Salvisberg @salvis.com · 25/11/2024
One of the many things I like about #utPLSQL is that all failed assertions of a test are reported. In this case, I want to ensure that the resulting JSON document contains no surrogate keys.
A screenshot from SQL Developer (classic) shows the utPLSQL test-runner with 46 failed assertions and the corresponding test case.
041
Philipp Salvisberg @salvis.com · 22/11/2024
Winter is coming to Winterthur. I'm back from #DOAG2024 and enjoying the view with my dog. The snow looks much friendlier today than last night on the drive home.
Winter landscape in Winterthur with a happy Eurasier.
2230
Philipp Salvisberg @salvis.com · 20/11/2024
Arrived 5 minutes late to @connormcd.bsky.social‘s talk about how he became a AI newbie. Missed 16 slides.
1140
Philipp Salvisberg @salvis.com · 19/11/2024
Keynote at #DOAG2024 by Juan Loaiza. He talkes about how we are going to deleop enterprise apps in the future. Consistency and confidentiality must be enforced. And Juan sees the database to be responsible for that. „We cannot rely on AI to get that right“.
083
Philipp Salvisberg @salvis.com · 19/11/2024
And the SQL Transpiler replaces some use cases for scalar SQL Macros.
010
Philipp Salvisberg @salvis.com · 19/11/2024
Or SQL Macros for function names used in other SQL dialects without context switch.
110
Philipp Salvisberg @salvis.com · 19/11/2024
Yes, you can nest SQL Macros under certain circumstances. Finding duplicates with or without some example rows.
110
Philipp Salvisberg @salvis.com · 19/11/2024
Or select * excluding some columns.
110
Philipp Salvisberg @salvis.com · 19/11/2024
Another cool example print_table via SQL Macro
110
Philipp Salvisberg @salvis.com · 19/11/2024
First session at #DOAG2024 by @andrejsql.bsky.social about SQL Macros. Lot of examples and ideas after a short introduction.
1142
Philipp Salvisberg @salvis.com · 18/11/2024
Arrived in Nuremberg. View from the Hotel. However, I‘m not here to watching trains but for #DOAG2024. Next stop is the Oracle ACE Adventure at 17:00.
2141
Philipp Salvisberg @salvis.com · 12/11/2024
Next week I will be giving two talks at #DOAG2024: - How to Develop an MLE Module with Oracle Database 23ai? - Stranger SQL For the first talk, I've prepared a ~25 minute live demo, building, testing, debugging and deploying an MLE from scratch. Nothing can go wrong, can it? See you there.
I'm a Speaker at DOAG 2024 Conference + Exhibition in Nuremberg. November 19-22.
0142
Philipp Salvisberg @salvis.com · 09/09/2024
In 6 weeks I'll present at the HROUG conference on the beautiful St Andrew Island in Rovinj. PL/SQL vs. JavaScript in Oracle Database. The results will be based on 23.5 or newer, depending on what OCW reveals. 2024.hroug.hr/eng/
010
Philipp Salvisberg @salvis.com · 23/03/2024
DML Statements in #PostgreSQL 16 and What I Miss in #OracleDatabase 23c 🔲 Returning Clause 🔲 Insert, Update and Delete in the With Clause 🔲 Deleting Rows With Merge 🔲 Select Without Select List www.salvis.com/blog/2024/03...
IslandSQL Episode 7
001
Philipp Salvisberg @salvis.com · 20/03/2024
Just released with support for Oracle Database 23c: - Trivadis PL/SQL & SQL Coding Guidelines v4.4 - db* CODECOP for SQL Developer 5.0.0 github.com/Trivadis/pls...
042
Philipp Salvisberg @salvis.com · 04/10/2023
Just released the db* CODECOP tool suite supporting the latest Trivadis #PLSQL & #SQL Coding Guidelines v4.3. The screenshots show SQL injection vulnerabilities via a custom validator in SQL Developer and SonarQube. See github.com/topics/codecop.
SQL injection vulnerability in SQL DeveloperSQL injection vulnerability in SonarQube
0103
Philipp Salvisberg @salvis.com · 27/09/2023
Trivadis #PLSQL & #SQL Coding Guidelines v4.3 released. Including two new guidelines for the Oracle Database 23c. HTML: trivadis.github.io/plsql-and-sq... PDF: trivadis.github.io/plsql-and-sq... Release Info: github.com/Trivadis/pls...
New guideline G-3182: Always specify column names instead of positional references in GROUP BY clauses.
1126