@@ -647,120 +647,6 @@ times with different bound values. Parameters also offer protection against
647647[ SQL injection] [ ] attacks. For these reasons, prepared statements are preferred
648648over hand-crafted SQL strings when handling user input.
649649
650- ## Class: ` SQLTagStore `
651-
652- <!-- YAML
653- added: v24.9.0
654- -->
655-
656- This class represents a single LRU (Least Recently Used) cache for storing
657- prepared statements.
658-
659- Instances of this class are created via the database.createTagStore() method,
660- not by using a constructor. The store caches prepared statements based on the
661- provided SQL query string. When the same query is seen again, the store
662- retrieves the cached statement and safely applies the new values through
663- parameter binding, thereby preventing attacks like SQL injection.
664-
665- The cache has a maxSize that defaults to 1000 statements, but a custom size can
666- be provided (e.g., database.createTagStore(100)). All APIs exposed by this
667- class execute synchronously.
668-
669- ### ` sqlTagStore.all(sqlTemplate[, ...values]) `
670-
671- <!-- YAML
672- added: v24.9.0
673- -->
674-
675- * ` sqlTemplate ` {Template Literal} A template literal containing the SQL query.
676- * ` ...values ` {any} Values to be interpolated into the template literal.
677- * Returns: {Array} An array of objects representing the rows returned by the query.
678-
679- Executes the given SQL query and returns all resulting rows as an array of objects.
680-
681- ### ` sqlTagStore.get(sqlTemplate[, ...values]) `
682-
683- <!-- YAML
684- added: v24.9.0
685- -->
686-
687- * ` sqlTemplate ` {Template Literal} A template literal containing the SQL query.
688- * ` ...values ` {any} Values to be interpolated into the template literal.
689- * Returns: {Object | undefined} An object representing the first row returned by
690- the query, or ` undefined ` if no rows are returned.
691-
692- Executes the given SQL query and returns the first resulting row as an object.
693-
694- ### ` sqlTagStore.iterate(sqlTemplate[, ...values]) `
695-
696- <!-- YAML
697- added: v24.9.0
698- -->
699-
700- * ` sqlTemplate ` {Template Literal} A template literal containing the SQL query.
701- * ` ...values ` {any} Values to be interpolated into the template literal.
702- * Returns: {Iterator} An iterator that yields objects representing the rows returned by the query.
703-
704- Executes the given SQL query and returns an iterator over the resulting rows.
705-
706- ### ` sqlTagStore.run(sqlTemplate[, ...values]) `
707-
708- <!-- YAML
709- added: v24.9.0
710- -->
711-
712- * ` sqlTemplate ` {Template Literal} A template literal containing the SQL query.
713- * ` ...values ` {any} Values to be interpolated into the template literal.
714- * Returns: {Object} An object containing information about the execution, including ` changes ` and ` lastInsertRowid ` .
715-
716- Executes the given SQL query, which is expected to not return any rows (e.g., INSERT, UPDATE, DELETE).
717-
718- ### ` sqlTagStore.size() `
719-
720- <!-- YAML
721- added: v24.9.0
722- -->
723-
724- * Returns: {integer} The number of prepared statements currently in the cache.
725-
726- A read-only property that returns the number of prepared statements currently in the cache.
727-
728- ### ` sqlTagStore.capacity `
729-
730- <!-- YAML
731- added: v24.9.0
732- -->
733-
734- * Returns: {integer} The maximum number of prepared statements the cache can hold.
735-
736- A read-only property that returns the maximum number of prepared statements the cache can hold.
737-
738- ### ` sqlTagStore.db `
739-
740- <!-- YAML
741- added: v24.9.0
742- -->
743-
744- * {DatabaseSync} The ` DatabaseSync ` instance that created this ` SQLTagStore ` .
745-
746- A read-only property that returns the ` DatabaseSync ` object associated with this ` SQLTagStore ` .
747-
748- ### ` sqlTagStore.reset() `
749-
750- <!-- YAML
751- added: v24.9.0
752- -->
753-
754- Resets the LRU cache, clearing all stored prepared statements.
755-
756- ### ` sqlTagStore.clear() `
757-
758- <!-- YAML
759- added: v24.9.0
760- -->
761-
762- An alias for ` sqlTagStore.reset() ` .
763-
764650### ` statement.all([namedParameters][, ...anonymousParameters]) `
765651
766652<!-- YAML
@@ -991,6 +877,120 @@ added: v22.5.0
991877The source SQL text of the prepared statement. This property is a
992878wrapper around [ ` sqlite3_sql() ` ] [ ] .
993879
880+ ## Class: ` SQLTagStore `
881+
882+ <!-- YAML
883+ added: v24.9.0
884+ -->
885+
886+ This class represents a single LRU (Least Recently Used) cache for storing
887+ prepared statements.
888+
889+ Instances of this class are created via the database.createTagStore() method,
890+ not by using a constructor. The store caches prepared statements based on the
891+ provided SQL query string. When the same query is seen again, the store
892+ retrieves the cached statement and safely applies the new values through
893+ parameter binding, thereby preventing attacks like SQL injection.
894+
895+ The cache has a maxSize that defaults to 1000 statements, but a custom size can
896+ be provided (e.g., database.createTagStore(100)). All APIs exposed by this
897+ class execute synchronously.
898+
899+ ### ` sqlTagStore.all(sqlTemplate[, ...values]) `
900+
901+ <!-- YAML
902+ added: v24.9.0
903+ -->
904+
905+ * ` sqlTemplate ` {Template Literal} A template literal containing the SQL query.
906+ * ` ...values ` {any} Values to be interpolated into the template literal.
907+ * Returns: {Array} An array of objects representing the rows returned by the query.
908+
909+ Executes the given SQL query and returns all resulting rows as an array of objects.
910+
911+ ### ` sqlTagStore.get(sqlTemplate[, ...values]) `
912+
913+ <!-- YAML
914+ added: v24.9.0
915+ -->
916+
917+ * ` sqlTemplate ` {Template Literal} A template literal containing the SQL query.
918+ * ` ...values ` {any} Values to be interpolated into the template literal.
919+ * Returns: {Object | undefined} An object representing the first row returned by
920+ the query, or ` undefined ` if no rows are returned.
921+
922+ Executes the given SQL query and returns the first resulting row as an object.
923+
924+ ### ` sqlTagStore.iterate(sqlTemplate[, ...values]) `
925+
926+ <!-- YAML
927+ added: v24.9.0
928+ -->
929+
930+ * ` sqlTemplate ` {Template Literal} A template literal containing the SQL query.
931+ * ` ...values ` {any} Values to be interpolated into the template literal.
932+ * Returns: {Iterator} An iterator that yields objects representing the rows returned by the query.
933+
934+ Executes the given SQL query and returns an iterator over the resulting rows.
935+
936+ ### ` sqlTagStore.run(sqlTemplate[, ...values]) `
937+
938+ <!-- YAML
939+ added: v24.9.0
940+ -->
941+
942+ * ` sqlTemplate ` {Template Literal} A template literal containing the SQL query.
943+ * ` ...values ` {any} Values to be interpolated into the template literal.
944+ * Returns: {Object} An object containing information about the execution, including ` changes ` and ` lastInsertRowid ` .
945+
946+ Executes the given SQL query, which is expected to not return any rows (e.g., INSERT, UPDATE, DELETE).
947+
948+ ### ` sqlTagStore.size() `
949+
950+ <!-- YAML
951+ added: v24.9.0
952+ -->
953+
954+ * Returns: {integer} The number of prepared statements currently in the cache.
955+
956+ A read-only property that returns the number of prepared statements currently in the cache.
957+
958+ ### ` sqlTagStore.capacity `
959+
960+ <!-- YAML
961+ added: v24.9.0
962+ -->
963+
964+ * Returns: {integer} The maximum number of prepared statements the cache can hold.
965+
966+ A read-only property that returns the maximum number of prepared statements the cache can hold.
967+
968+ ### ` sqlTagStore.db `
969+
970+ <!-- YAML
971+ added: v24.9.0
972+ -->
973+
974+ * {DatabaseSync} The ` DatabaseSync ` instance that created this ` SQLTagStore ` .
975+
976+ A read-only property that returns the ` DatabaseSync ` object associated with this ` SQLTagStore ` .
977+
978+ ### ` sqlTagStore.reset() `
979+
980+ <!-- YAML
981+ added: v24.9.0
982+ -->
983+
984+ Resets the LRU cache, clearing all stored prepared statements.
985+
986+ ### ` sqlTagStore.clear() `
987+
988+ <!-- YAML
989+ added: v24.9.0
990+ -->
991+
992+ An alias for ` sqlTagStore.reset() ` .
993+
994994### Type conversion between JavaScript and SQLite
995995
996996When Node.js writes to or reads from SQLite it is necessary to convert between
0 commit comments