Advertisement · 728 × 90

Posts by Martin Bach

Preview
Avoiding precision loss with MLE/JavaScript in Oracle AI Database 26ai Oracle AI Database 26ai introduced Multilingual Engine (MLE), allowing you to run JavaScript inside the database. This feature bumps the number of languages available to write server-side code to 3…

🚀 New post: JavaScript precision isn’t as safe as you might think 🤔

I break down how numeric precision loss happens in JavaScript, and how to avoid it. Especially for financial data and large numbers. The post applies to both node and MLE/JavaScript.

👇

martincarstenbach.com/2026/04/13/a...

6 days ago 0 0 0 0
GitHub - krisrice/oracle-db-skills: Oracle DB Skills is a curated library of 100+ practical, documentation-backed guides for working with Oracle Database, organized by domain Oracle DB Skills is a curated library of 100+ practical, documentation-backed guides for working with Oracle Database, organized by domain - krisrice/oracle-db-skills

It’ll be interesting to see how this space develops. In the meantime some people made the effort to bundle specific skills in one place. @krisrice.io for instance hosts lots of skills related to the Oracle ecosystem at github.com/krisrice/ora...

1 week ago 2 0 0 0

I just read that 90% of all organisations who responded to the DORA 2025 survey adopted platform engineering.

Ninety percent 🤩

That’s a pretty significant number. I’d love to hear from you how you/the team adopted platform engineering, in particular wrt Oracle database.

1 week ago 2 2 1 0

Please let me know about the outcome.

1 week ago 1 0 0 0

No worries, that’s what I’m here for

1 week ago 1 0 1 0
Using the operating system’s certificate store in Oracle Database 19c I previously wrote about Using the Operating System’s certificate store instead of an Oracle wallet in Oracle AI Database 26ai. This is a great productivity boost, and it all comes down to this: if…

That’s interesting… have a look at this and let me know if it works. martincarstenbach.com/2026/04/10/u...

I tested on my ancient 19.19.0 arm64 port and can retrieve data without any issues

1 week ago 2 0 1 0
Preview
Updated setup-oracle-sqlcl Action and why it matters for SQLcl projects This is a short post announcing a small but important change in the way you install SQLcl in GitHub Actions. The latest release allows you to install a specific SQLcl release in addition to the lat…

Do you use SQLcl in GitHub Actions? If so, you might like the latest update to gvenzl/setup-oracle-sqlcl. Release 1.3.0 allows you to pin a specific release to your pipeline. This is particularly useful for anyone using SQLcl Projects. Details 👇

martincarstenbach.com/2026/03/17/u...

1 month ago 2 1 0 0
Preview
Real productivity gains with AI: coding unit tests for your ORDS endpoints. A walthrough After the completion of my little experiment writing unit tests with the help of AI I was so excited I spontaneously recorded a short video, too. In this video I’m walking you throw my code e…

Using Codex to generate unit tests for Oracle REST Data Services gave me a real productivity boost 🤖

Curious? I recorded a short video 📽️ showing my approach, with running commentary: martincarstenbach.com/2026/03/05/r...

Do you have an internal platform? Use CI/CD? Let me know in the comments 🙏

1 month ago 1 0 0 0
Preview
Life hack: causing utPLSQL to raise an error in case of failed tests The wonderful Symposium 42 community is always a source of inspiration, kindness and willingness to help. Many thanks to everyone for lending me an ear while ranting about utPLSQL (tongue in cheek …

Here's a short "life hack", allowing you to use utPLSQL in your CI pipeline. OK, right, you could do that before, but this time, if there are failed unit tests your pipeline run will abort. No need for any other software, just SQLcl to run the tests.

martincarstenbach.com/2026/03/04/l...

1 month ago 0 0 0 0
Video

Kaum zu glauben, dass die DOAG K+A schon wieder eine Woche her ist.
So viele inspirierende Gespräche, starke Sessions und kleine, lustige Momente – höchste Zeit für einen Blick zurück! 😃
Ob auf der #DOAG2025, #LowCodeCreator oder #KINavigator – was waren eure Highlights? 😊
#DOAGDevs

4 months ago 14 7 2 0
Advertisement
Preview
Real productivity gains with AI: coding unit tests for your ORDS endpoints Ever since I first heard about them, I have become a great fan of unit tests, Test-Driven-Development, and CI/CD in general. Whenever I can, I incorporate these into my demos. I wrote a fair bit ab…

I started an experiment and let AI write my unit tests.

What used to take me 1 hour now takes 10 minutes.

Here’s how I used Codex with Oracle AI Database 26ai to generate tests for my ORDS endpoints 👇

martincarstenbach.com/2026/03/04/r...

1 month ago 5 0 0 0
The 2025 Dora Report The DORA Report 2025, the industry's authoritative research on software delivery performance and engineering excellence, is now available. Get our insights.

Finally finding some time to dig deeper into the DORA 2025 Report. The recording of this webinar is very insightful in my opinion. For example, just throwing in AI without having thought about a platform might not provide the productivity gains you hoped for.

www.thoughtworks.com/insights/rep...

1 month ago 0 0 0 0
Preview
Using JSON Schema to validate data submitted to the database via REST Calls The title’s a mouthful (sorry!), but here’s the core idea: your application exposes REST endpoints through Oracle REST Data Services (ORDS). When a client uses POST to insert new records, the input…

🚨New Blog post 🚨

Does your application receive JSON via REST calls? If so, how do you make you don't receive garbage data?

Using JSON Schema is a neat way to do that. Here's an example using ORDS and Oracle AI Database 26ai (incl. server-side JavaScript)👇

martincarstenbach.com/2026/03/01/u...

1 month ago 5 1 0 0
Preview
Augmenting JSON Relational Duality Views with generated data A recent forum post inspired this brief article on generating summary data in JSON Relational Duality Views. Typically you map a table’s columns to fields in the resulting JSON. If you can&#8…

🚀 New Blog Post 🚨

A recent forum question provided inspiration 💡

If you ever found yourself in the situation where you had to provide additional detail in a JSON Relational Duality View this post shows one way to do it

👉 martincarstenbach.com/2026/02/23/a...

1 month ago 1 0 0 0
Preview
Handling Query Parameters in JavaScript-based ORDS Endpoints Oracle REST Data Services (ORDS) allows you to REST-enable your Oracle Database. REST is short for Representational State Transfer, and REST calls are typically used as your database API (Applicati…

🚀 New post: Handling query parameters in JavaScript-based Oracle REST Data Services (ORDS) endpoints

Covers:
• How ORDS exposes query parameters
• Safe access & validation patterns
• Pitfalls (implicit type conversion!)
• Making endpoints more predictable

👉 martincarstenbach.com/2026/02/20/h...

2 months ago 1 0 0 0
Preview
Optimistic Locking Made Easy: The Power of ETags in Action JSON Relational Duality Views are one of the most remarkable features introduced with Oracle AI Database 26ai. They effortlessly blend the best of both worlds: relational and document, greatly simp…

With #JSON duality views in Oracle AI Database you can build a JSON interface over database tables

These come with lost-update detection via ETags

@martindba.bsky.social shows how this prevents conflicting writes for REST calls by using the if-match header

2 months ago 1 1 0 0

Wow, I admire your dedication!

2 months ago 1 0 0 0

I found a GitHub issue where they said they enhanced microdnf but that’s further upstream than my current OL9 release. It’s big brother got the job done

2 months ago 1 0 0 0

D’oh! Scratched my head for 10 minutes asking myself why microdnf doesn’t find the local rpm. Turns out microdnf as it ships in Oracle Linux 9 simply can’t install local RPMs. Switching to the not quite as slim image helped.

2 months ago 1 0 1 0
Advertisement

Wait, what? In 2023 I bought 64GB DDR5-5600 for 210€.

Today, if I wanted to get 64GB DRAM (identical spec) I have to part with 879€ 🤯

<insert your favourite combination of swear words here>

2 months ago 5 1 1 0
Post image

Looking at my posting insights in Wordpress and I thought ... wouldn't it be fun to post "Tetris" style? Nearly did that in January 🤣

2 months ago 1 0 0 0
Preview
Optimistic Locking Made Easy: JSON Relational Duality Views & ETags in React In my previous post I demonstrated how ETags can help your web application implement concurrent data access and optimistic locking. Except I didn’t use a web application … Rather than a…

Optimistic locking with React, ETags, @OracleREST endpoints, and JSON Relational Duality Views in Oracle AI Database — but shown in a UI that people actually want to use.

I recorded a short demo video to prove it.

Blog post & video here:
martincarstenbach.com/2026/02/05/o...

2 months ago 0 0 0 0

Just finished recording a short video where I’m showing a lot more realistic scenario involving a react web app to modify the Duality View. Definitely more pleasing to the eye than raw JSON in the console 📽️

2 months ago 0 0 0 0
Preview
Minions GIF ALT: Minions GIF

A little chuffed about the fact that I finished a small React app today to interact with a JSON Relational Duality view via REST. Oracle ORDS kindly provided the endpoint for me. Thanks to react-bootstrap it does look half-decent, too

2 months ago 0 0 0 0
Preview
Optimistic Locking Made Easy: The Power of ETags in Action JSON Relational Duality Views are one of the most remarkable features introduced with Oracle AI Database 26ai. They effortlessly blend the best of both worlds: relational and document, greatly simp…

🚨 New blog post!

I just migrated a PL/SQL app to JavaScript (yes—still inside the database 😎).
As part of the experiment I put JSON Relational Duality Views + ETags to the test for optimistic locking.

Spoiler: it works beautifully.

Dive in 👇
martincarstenbach.com/2026/02/03/o...

2 months ago 1 0 1 0

Yep, saw that, too.

2 months ago 0 0 0 0
Advertisement

Not entirely convinced of zone 2 training. It sure is fun and leisurely but I almost feel as if it made me slower. What’s your experience? This is about running but it might as well apply to cycling 🚴 🏃 #running #endurance #cycling

2 months ago 3 0 1 0
screenshot showing some of the languages supported by wordpress's code block

screenshot showing some of the languages supported by wordpress's code block

So far I only used the syntax highlighter block in Wordpress. I was today <n> years old when I noticed that the code block has syntax highlighting for many more languages than syntax highlighter . Plus it can do line numbers, display the language and add a copy button ☺️

2 months ago 0 0 1 0

Did you know you can write User Defined Functions in TypeScript for Oracle AI Database 26ai?

I’ve just updated my article showing how to transpile TypeScript, apply Biome for linting, all with CI in mind — just like you would for any modern app:

👉 martincarstenbach.com/2023/07/04/l...

2 months ago 3 0 0 0
Preview
What’s new with MLE 23.26.0 – support for PL/SQL Collections and Records Pt 3 Oracle AI Database has been released! It ships with a whole raft of cool new features, including some the Multilingual Engine (MLE) team integrated for JavaScript. This article discusses one of the…

3-day blogging streak! 🚀
New post in my MLE/JavaScript series covering collections and record support: using nested tables to pass arguments to apex_lang.get_message 🧩📚
More on varrays & associative arrays coming soon 👀✨

👉 martincarstenbach.com/2026/01/22/w...

2 months ago 2 0 0 0