nodejs / nodejs/node

Enable the 2 new SQLite 3.51.0 amalgamation extensions.

Offen
#60,618 5 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

feature request sqlite
Vorherrschende Sprache
JavaScript
Sterne
122k
Forks
37.3k
Ø Merge
4 T. 2 Std.
Gemergte PRs (30 T.)
283

Beschreibung

Depends on #60614.

What is the problem this feature will solve?

SQLite 3.51.0 added 2 new extensions to the amalgamation:

  • Carray: Enabled by compile-time flag -DSQLITE_ENABLE_CARRAY. Useful for binding C-language arrays to SQL queries. I am unsure wether JS/TS can make use of this directly, but perhaps it may at least be useful for internal use in the Node.js-SQLite bindings. I am, however, not familiar enough with the code to comment on it.

  • Percentile: Enabled by compile-time flag -DSQLITE_ENABLE_PERCENTILE. Useful for extracting various statistical percentages from tables and should be faster than JS by having a native implementation. It also includes another compile time flag, -DSQLITE_ENABLE_ORDERED_SET_AGGREGATES=1, which can be set to 1 to support cross-platform SQL syntax, adding the new WITHIN keyword. Also increases binary size by about 1200 bytes. See the docs for all details: https://sqlite.org/compile.html#enable_ordered_set_aggregates.

What is the feature you are proposing to solve the problem?

Enable the Percentile extension with its compile flags.

Carray usefulness should be investigated and can also be enabled via its compile-time flag.

What alternatives have you considered?

Missing out on these new extensions.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Überprüfung der Abhängigkeit #60614 und der Integration der Node.js SQLite-Amalgamation. Prüfe, wie Compile-Time-Flags bereitgestellt werden, und beurteile anschließend die Aktivierung von SQLITE_ENABLE_PERCENTILE, SQLITE_ENABLE_ORDERED_SET_AGGREGATES und SQLITE_ENABLE_CARRAY; abgeschlossen ist die Aufgabe, wenn die vorgesehenen Erweiterungen aktiviert und ihre Unterstützung verifiziert sind.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, node.js, sqlite
Bereich
backend, databases
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
43/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.