Skip to content

Instantly share code, notes, and snippets.

View PhilippSalvisberg's full-sized avatar

Philipp Salvisberg PhilippSalvisberg

View GitHub Profile
-- MLE inline call spec in 23.3 (does not work in 24.4) anymore
/*
create or replace function find_terms (
"in_terms" in varchar2,
"in_text" in varchar2
) return json is mle language javascript q'[
var found_terms = [];
var terms_array = in_terms.split(',');
for (var i = 0; i < terms_array.length; i++) {
var term = terms_array[i].trim().toLowerCase();
@PhilippSalvisberg
PhilippSalvisberg / utf8.sql
Last active October 1, 2024 08:54
PL/SQL Package to convert a UTF-8 codepoint to bytes and vice versa
create or replace package utf8 is
function codepoint_to_bytes(in_codepoint in varchar2) return varchar2 deterministic;
function bytes_to_codepoint(in_bytes in varchar2) return varchar2 deterministic;
function codepoint_to_unistr(in_codepoint in varchar2) return varchar2 deterministic;
function unistr_to_codepoint(in_unistr in varchar2) return varchar2 deterministic;
end utf8;
/
create or replace package body utf8 is
function hex_to_num(in_hex in varchar2) return integer deterministic;
@PhilippSalvisberg
PhilippSalvisberg / README.md
Last active October 23, 2024 08:43
Wish List for SQLDev's SDK for VSCode

Wish List for SQLDev's SDK for VSCode

The SQL Developer team is planning to release an SDK for their Oracle SQL Developer Extension for VSCode.

This Gist contains a list of features we would like to see in the SDK.

Features

1. Access to Database Connections

@PhilippSalvisberg
PhilippSalvisberg / README.md
Last active December 5, 2024 10:00
Using PL/SQL Debuger with OracleDB 23.5 within Docker on a Mac with an Apple Silicon Chip

Using PL/SQL Debuger with OracleDB 23.5 within Docker on a Mac with an Apple Silicon Chip

1. Create the Oracle Database

# create container
docker run -d \
    --name oracledb \
    -p 1523:1521 \
    -v oradata:/opt/oracle/oradata \
drop table if exists t;
create table t (data json(object));
declare
x varchar2(40 byte) := '{ "greet": "merry x-mas" , "to": "all" }';
begin
insert into t values (x);
end;
/
declare
x varchar2(20 byte) := '{xmas:[1,2,3,4,5,6]}';