From 86b8170d84e5b7514417311118774c5468a630d9 Mon Sep 17 00:00:00 2001 From: Andrei George Jurj Date: Tue, 6 Jan 2026 14:49:40 +0000 Subject: [PATCH] sqlite: enable Percentile extension --- deps/sqlite/sqlite.gyp | 1 + deps/sqlite/unofficial.gni | 1 + test/parallel/test-sqlite.js | 15 ++++++++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/deps/sqlite/sqlite.gyp b/deps/sqlite/sqlite.gyp index 72b36fb0df760d..db57db1f4acdfd 100644 --- a/deps/sqlite/sqlite.gyp +++ b/deps/sqlite/sqlite.gyp @@ -21,6 +21,7 @@ 'SQLITE_ENABLE_FTS5', 'SQLITE_ENABLE_GEOPOLY', 'SQLITE_ENABLE_MATH_FUNCTIONS', + 'SQLITE_ENABLE_PERCENTILE', 'SQLITE_ENABLE_PREUPDATE_HOOK', 'SQLITE_ENABLE_RBU', 'SQLITE_ENABLE_RTREE', diff --git a/deps/sqlite/unofficial.gni b/deps/sqlite/unofficial.gni index dae3f36bde23db..0e62accfb6990e 100644 --- a/deps/sqlite/unofficial.gni +++ b/deps/sqlite/unofficial.gni @@ -15,6 +15,7 @@ template("sqlite_gn_build") { "SQLITE_ENABLE_FTS5", "SQLITE_ENABLE_GEOPOLY", "SQLITE_ENABLE_MATH_FUNCTIONS", + "SQLITE_ENABLE_PERCENTILE", "SQLITE_ENABLE_PREUPDATE_HOOK", "SQLITE_ENABLE_RBU", "SQLITE_ENABLE_RTREE", diff --git a/test/parallel/test-sqlite.js b/test/parallel/test-sqlite.js index 602f2fa2daa46d..ebbcd27d1345c2 100644 --- a/test/parallel/test-sqlite.js +++ b/test/parallel/test-sqlite.js @@ -204,6 +204,19 @@ suite('SQL APIs enabled at build time', () => { ); }); + test('percentile is enabled', (t) => { + const db = new DatabaseSync(':memory:'); + db.exec(` + CREATE TABLE t1 (x INTEGER); + INSERT INTO t1 (x) VALUES (1), (2), (3), (4), (5); + `); + + t.assert.deepStrictEqual( + db.prepare('SELECT percentile(x, 50) AS p50 FROM t1;').get(), + { __proto__: null, p50: 3 }, + ); + }); + test('dbstat is enabled', (t) => { const db = new DatabaseSync(nextDb()); t.after(() => { db.close(); }); @@ -244,7 +257,7 @@ suite('SQL APIs enabled at build time', () => { ); }); - test('fts3 parenthesis', (t) => { + test('fts3 parenthesis is enabled', (t) => { const db = new DatabaseSync(':memory:'); db.exec(` CREATE VIRTUAL TABLE t1 USING fts3(content TEXT);