Powered by
WordPress
  • 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’t use a 1:1 mapping in your Duality View for any reason, it is possible to augment the Duality View with generated fields. Let’s…

  • 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 (Application Programming Interface). Instead of accessing the database directly via a driver SDK, you use HTTP calls instead. There is of course a lot more to…

  • 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 web application I used a shell to curl REST endpoints, while on the other hand simulate concurrency using SQLcl. This wasn’t particularly realistic, and…

  • 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 simplifying the way developers work with data. Duality Views aren’t just read-only, you can perform changes (updates, inserts, deletes, …) with them, too. Optimistic locking is…

  • 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 them, support for PL/SQL Records and Collections. This is a rather wide topic, which is why you find the article broken into a small…

  • Retrieving the result of a PL/SQL computation in MLE/JavaScript

    Recently, while working on a joint project with the APEX team, the need arose to rewrite a piece of PL/SQL code in MLE/JavaScript. The PL/SQL code in question roughly looks like this. It allows me to figure out if the code is running as part of an APEX application, or elsewhere. This neat code snippet…

  • Quick tip concerning dbms_cloud’s create_credential() call

    DBMS_CLOUD is one of the crucial packages in Oracle AI Autonomous Database (ADB from now on). It allows you to perform many operations, including the creation of credentials. These are almost universally required for developers and admins alike. DBMS_CLOUD.CREATE_CREDENTIAL is an overloaded procedure, its documentation can be found here. I recently experimented with Select AI,…

  • JavaScript showcase: a fun playground environment for MLE/JavaScript in Oracle AI Database 26ai

    I’m a huge fan of Oracle’s SQL Developer Extension for VSCode. I use it on a daily basis, and it has been invaluable to me. I particularly like the great integration into Git, and it’s built on top of a solid foundation that is Visual Studio Code. Recently I found out about GitHub CodeSpaces. After…

  • Say hello to the all new server-side JavaScript LiveLab

    In-Database JavaScript, powered by Multilingual Engine (MLE) debuted as a major feature in Oracle AI Database 26ai. Starting with the Developer Preview (Release 23.2) a few years ago, you could write user-defined functions and procedures in JavaScript in addition to PL/SQL and Java. But you may ask yourself: how do I get started? There’s an…

  • Why does my query run in parallel on Autonomous Database-Serverless even though I do everything to prevent it from doing so?

    While preparing for another blog post I desperately wanted to write I noticed something unexpected. The problem turned out to be between keyboard and chair, but I don’t want to get ahead of myself. Tell me what happened already! Using Oracle SQL Developer Extension for Visual Studio Code, connecting to an Autonomous Database-Serverless, a query…