quickjs
DuckDB-QuickJS-Laufzeitumgebung
Maintainer: lmangani
Installation und Laden
INSTALL quickjs FROM community;LOAD quickjs;Beispiel
-- Quack JS with QuickJS-- ScalarD SELECT quickjs('2+2');┌────────────────┐│ quickjs('2+2') ││ varchar │├────────────────┤│ 4 │└────────────────┘
-- Scalar EvalD SELECT quickjs_eval('(a, b) => a + b', 5, 3);┌───────────────────────────────────────┐│ quickjs_eval('(a, b) => a + b', 5, 3) ││ json │├───────────────────────────────────────┤│ 8 │└───────────────────────────────────────┘
-- Table EvalD SELECT * FROM quickjs('parsed_arg0.map(x => x * arg1)', '[1, 2, 3, 4, 5]', 3);┌────────┐│ result ││ json │├────────┤│ 3 ││ 6 ││ 9 ││ 12 ││ 15 │└────────┘Über quickjs
QuickJS-DuckDB-Erweiterung
Diese Erweiterung stellt eine eingebettete QuickJS-NG-Engine für DuckDB bereit. Sie ermöglicht die Ausführung von JavaScript-Code direkt in Ihren SQL-Abfragen.
QuickJS-NG ist eine kleine, schnelle und einbettbare JavaScript-Engine, die moderne JavaScript-Funktionen einschließlich ES2020 unterstützt.
Diese Erweiterung ist experimentell und potenziell instabil. Verwenden Sie sie nicht in der Produktion.
Hinzugefügte Funktionen
| function_name | function_type | description | comment | examples |
|---|---|---|---|---|
| quickjs | scalar | Execute JavaScript code and return the result as a string | NULL | [quickjs(‘1 + 2’), quickjs(‘“hello”.toUpperCase()’)] |
| quickjs | table | Execute JavaScript code that returns an array, with each element becoming a row | NULL | [SELECT * FROM quickjs(‘[1, 2, 3].map(x => x * 2)’)] |
| quickjs_eval | scalar | Execute a JavaScript function with the provided arguments and return the result as JSON | NULL | [quickjs_eval(‘(a, b) => a + b’, 1, 2), quickjs_eval(‘(x) => x * 2’, 21)] |
Überladene Funktionen
Diese Erweiterung fügt keine Funktionsüberladungen hinzu.
Hinzugefügte Typen
Diese Erweiterung fügt keine Typen hinzu.
Hinzugefügte Einstellungen
Diese Erweiterung fügt keine Einstellungen hinzu.