slidge-whatsapp 0.2.7__cp313-cp313-manylinux_2_36_aarch64.whl → 0.3.0b0__cp313-cp313-manylinux_2_36_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of slidge-whatsapp might be problematic. Click here for more details.

Files changed (212) hide show
  1. slidge_whatsapp/contact.py +13 -3
  2. slidge_whatsapp/event.go +107 -37
  3. slidge_whatsapp/gateway.go +7 -63
  4. slidge_whatsapp/gateway.py +2 -3
  5. slidge_whatsapp/generated/_whatsapp.cpython-313-aarch64-linux-gnu.h +218 -201
  6. slidge_whatsapp/generated/_whatsapp.cpython-313-aarch64-linux-gnu.so +0 -0
  7. slidge_whatsapp/generated/build.py +164 -150
  8. slidge_whatsapp/generated/whatsapp.c +1750 -1478
  9. slidge_whatsapp/generated/whatsapp.go +1307 -1196
  10. slidge_whatsapp/generated/whatsapp.py +1371 -1246
  11. slidge_whatsapp/generated/whatsapp_go.h +218 -201
  12. slidge_whatsapp/go.mod +18 -15
  13. slidge_whatsapp/go.sum +38 -26
  14. slidge_whatsapp/group.py +34 -30
  15. slidge_whatsapp/media/media.go +1 -1
  16. slidge_whatsapp/session.go +33 -16
  17. slidge_whatsapp/session.py +46 -14
  18. slidge_whatsapp/vendor/github.com/beeper/argo-go/LICENSE +9 -0
  19. slidge_whatsapp/vendor/github.com/beeper/argo-go/block/blockreader.go +329 -0
  20. slidge_whatsapp/vendor/github.com/beeper/argo-go/block/blockwriter.go +417 -0
  21. slidge_whatsapp/vendor/github.com/beeper/argo-go/codec/decoder.go +652 -0
  22. slidge_whatsapp/vendor/github.com/beeper/argo-go/codec/encoder.go +985 -0
  23. slidge_whatsapp/vendor/github.com/beeper/argo-go/header/header.go +135 -0
  24. slidge_whatsapp/vendor/github.com/beeper/argo-go/internal/util/util.go +133 -0
  25. slidge_whatsapp/vendor/github.com/beeper/argo-go/label/label.go +384 -0
  26. slidge_whatsapp/vendor/github.com/beeper/argo-go/label/wiremarkers.go +37 -0
  27. slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/bitset/bitset.go +197 -0
  28. slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/buf/buf.go +420 -0
  29. slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/varint/varint.go +246 -0
  30. slidge_whatsapp/vendor/github.com/beeper/argo-go/wire/wire.go +614 -0
  31. slidge_whatsapp/vendor/github.com/beeper/argo-go/wirecodec/decode.go +341 -0
  32. slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/LICENSE +21 -0
  33. slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/list.go +95 -0
  34. slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/orderedmap.go +187 -0
  35. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz.go +1 -0
  36. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo.go +3 -0
  37. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_nocgo.go +4 -5
  38. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_darwin.go +11 -1
  39. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_linux.go +10 -0
  40. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_windows.go +12 -0
  41. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/.gitignore +0 -2
  42. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +30 -0
  43. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/COPYRIGHT.txt +6 -1
  44. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/README.md +14 -17
  45. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi.go +1 -1
  46. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi2.go +7 -0
  47. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/LICENSE +21 -0
  48. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/darwin_amd64/libffi.8.dylib +0 -0
  49. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/darwin_arm64/libffi.8.dylib +0 -0
  50. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/windows_amd64/libffi-8.dll +0 -0
  51. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/cif.go +15 -0
  52. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/cif_arm64.go +16 -0
  53. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed.go +49 -0
  54. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_darwin_amd64.go +10 -0
  55. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_darwin_arm64.go +10 -0
  56. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_windows_amd64.go +10 -0
  57. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +51 -13
  58. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/init.go +22 -9
  59. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/README.md +2 -0
  60. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +3096 -1651
  61. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +188 -128
  62. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go +13 -140
  63. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3ext.h +4 -0
  64. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.23.go +2 -2
  65. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.25.go +37 -0
  66. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/LICENSE +19 -0
  67. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/argmap.go +37 -0
  68. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/collections.go +148 -0
  69. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/comment.go +31 -0
  70. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/decode.go +216 -0
  71. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/definition.go +110 -0
  72. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/directive.go +43 -0
  73. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/document.go +89 -0
  74. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/dumper.go +159 -0
  75. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/fragment.go +41 -0
  76. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/operation.go +32 -0
  77. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/path.go +72 -0
  78. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/selection.go +41 -0
  79. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/source.go +19 -0
  80. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/type.go +68 -0
  81. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/value.go +122 -0
  82. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/handleerrors.go +60 -26
  83. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/networkerror.go +2 -1
  84. slidge_whatsapp/vendor/go.mau.fi/util/exstrings/stringutil.go +28 -0
  85. slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +19 -3
  86. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.pre-commit-config.yaml +3 -3
  87. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +1 -1
  88. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/hash.go +1 -1
  89. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +5 -1
  90. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/argo-wire-type-store.argo +63 -0
  91. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/argo.go +62 -0
  92. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/name-to-queryids.json +306 -0
  93. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +3 -2
  94. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +1 -0
  95. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +15 -18
  96. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +5 -0
  97. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +4 -0
  98. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +3 -0
  99. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +97 -25
  100. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +22 -10
  101. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +10 -9
  102. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +2 -14
  103. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/newsletter.go +83 -7
  104. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +5 -1
  105. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +2 -2
  106. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +15 -6
  107. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.pb.go +5156 -0
  108. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.proto +516 -0
  109. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WACompanionReg.pb.go +30 -3
  110. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WACompanionReg.proto +3 -0
  111. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +8532 -11526
  112. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +132 -438
  113. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +52 -23
  114. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +3 -0
  115. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +225 -73
  116. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +21 -5
  117. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +884 -441
  118. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +40 -0
  119. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +60 -38
  120. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +3 -0
  121. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +8 -1
  122. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +6 -4
  123. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +1 -1
  124. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +3 -2
  125. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +25 -5
  126. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +3 -1
  127. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/call.go +1 -0
  128. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +8 -0
  129. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +2 -1
  130. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/user.go +2 -0
  131. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +12 -8
  132. slidge_whatsapp/vendor/golang.org/x/crypto/curve25519/curve25519.go +1 -1
  133. slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +44 -2
  134. slidge_whatsapp/vendor/golang.org/x/net/http2/gotrack.go +14 -3
  135. slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +7 -29
  136. slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +53 -71
  137. slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +20 -74
  138. slidge_whatsapp/vendor/golang.org/x/sys/unix/affinity_linux.go +1 -3
  139. slidge_whatsapp/vendor/golang.org/x/sys/unix/mkerrors.sh +3 -0
  140. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +1 -55
  141. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_solaris.go +1 -1
  142. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux.go +47 -16
  143. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +3 -0
  144. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +3 -0
  145. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +3 -0
  146. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +3 -0
  147. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +3 -0
  148. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +3 -0
  149. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +3 -0
  150. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +3 -0
  151. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +3 -0
  152. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +3 -0
  153. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +3 -0
  154. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +3 -0
  155. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +3 -0
  156. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +3 -0
  157. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +3 -0
  158. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +4 -4
  159. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +1 -0
  160. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +1 -0
  161. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +1 -0
  162. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +1 -0
  163. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +1 -0
  164. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +1 -0
  165. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +1 -0
  166. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +1 -0
  167. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +1 -0
  168. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +1 -0
  169. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +1 -0
  170. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +1 -0
  171. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +1 -0
  172. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +1 -0
  173. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +1 -0
  174. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux.go +168 -12
  175. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +17 -1
  176. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +16 -0
  177. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +18 -2
  178. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +16 -0
  179. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +16 -0
  180. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +17 -1
  181. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +16 -0
  182. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +16 -0
  183. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +17 -1
  184. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +18 -2
  185. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +16 -0
  186. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +16 -0
  187. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +16 -0
  188. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +16 -0
  189. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +16 -0
  190. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +6 -0
  191. slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +483 -483
  192. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +25 -1
  193. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
  194. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +10 -5
  195. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/presence.go +33 -0
  196. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +6 -0
  197. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +68 -22
  198. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go +2 -1
  199. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go +8 -37
  200. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/presence.go +0 -3
  201. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +1 -1
  202. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +8 -0
  203. slidge_whatsapp/vendor/modules.txt +43 -23
  204. {slidge_whatsapp-0.2.7.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/METADATA +2 -2
  205. {slidge_whatsapp-0.2.7.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/RECORD +208 -161
  206. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi_amd64.go +0 -7
  207. slidge_whatsapp/vendor/golang.org/x/net/http2/config_go124.go +0 -61
  208. slidge_whatsapp/vendor/golang.org/x/net/http2/config_pre_go124.go +0 -16
  209. slidge_whatsapp/vendor/golang.org/x/net/http2/timer.go +0 -20
  210. {slidge_whatsapp-0.2.7.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/LICENSE +0 -0
  211. {slidge_whatsapp-0.2.7.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/WHEEL +0 -0
  212. {slidge_whatsapp-0.2.7.dist-info → slidge_whatsapp-0.3.0b0.dist-info}/entry_points.txt +0 -0
@@ -134,7 +134,7 @@ extern "C" {
134
134
  **
135
135
  ** Since [version 3.6.18] ([dateof:3.6.18]),
136
136
  ** SQLite source code has been stored in the
137
- ** <a href="http://www.fossil-scm.org/">Fossil configuration management
137
+ ** <a href="http://fossil-scm.org/">Fossil configuration management
138
138
  ** system</a>. ^The SQLITE_SOURCE_ID macro evaluates to
139
139
  ** a string which identifies a particular check-in of SQLite
140
140
  ** within its configuration management system. ^The SQLITE_SOURCE_ID
@@ -147,9 +147,9 @@ extern "C" {
147
147
  ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
148
148
  ** [sqlite_version()] and [sqlite_source_id()].
149
149
  */
150
- #define SQLITE_VERSION "3.49.1"
151
- #define SQLITE_VERSION_NUMBER 3049001
152
- #define SQLITE_SOURCE_ID "2025-02-18 13:38:58 873d4e274b4988d260ba8354a9718324a1c26187a4ab4c1cc0227c03d0f10e70"
150
+ #define SQLITE_VERSION "3.50.4"
151
+ #define SQLITE_VERSION_NUMBER 3050004
152
+ #define SQLITE_SOURCE_ID "2025-07-30 19:33:53 4d8adfb30e03f9cf27f800a2c1ba3c48fb4ca1b08b0f5ed59a4d5ecbf45e20a3"
153
153
 
154
154
  /*
155
155
  ** CAPI3REF: Run-Time Library Version Numbers
@@ -1164,6 +1164,12 @@ struct sqlite3_io_methods {
1164
1164
  ** the value that M is to be set to. Before returning, the 32-bit signed
1165
1165
  ** integer is overwritten with the previous value of M.
1166
1166
  **
1167
+ ** <li>[[SQLITE_FCNTL_BLOCK_ON_CONNECT]]
1168
+ ** The [SQLITE_FCNTL_BLOCK_ON_CONNECT] opcode is used to configure the
1169
+ ** VFS to block when taking a SHARED lock to connect to a wal mode database.
1170
+ ** This is used to implement the functionality associated with
1171
+ ** SQLITE_SETLK_BLOCK_ON_CONNECT.
1172
+ **
1167
1173
  ** <li>[[SQLITE_FCNTL_DATA_VERSION]]
1168
1174
  ** The [SQLITE_FCNTL_DATA_VERSION] opcode is used to detect changes to
1169
1175
  ** a database file. The argument is a pointer to a 32-bit unsigned integer.
@@ -1260,6 +1266,7 @@ struct sqlite3_io_methods {
1260
1266
  #define SQLITE_FCNTL_CKSM_FILE 41
1261
1267
  #define SQLITE_FCNTL_RESET_CACHE 42
1262
1268
  #define SQLITE_FCNTL_NULL_IO 43
1269
+ #define SQLITE_FCNTL_BLOCK_ON_CONNECT 44
1263
1270
 
1264
1271
  /* deprecated names */
1265
1272
  #define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE
@@ -1990,13 +1997,16 @@ struct sqlite3_mem_methods {
1990
1997
  **
1991
1998
  ** [[SQLITE_CONFIG_LOOKASIDE]] <dt>SQLITE_CONFIG_LOOKASIDE</dt>
1992
1999
  ** <dd> ^(The SQLITE_CONFIG_LOOKASIDE option takes two arguments that determine
1993
- ** the default size of lookaside memory on each [database connection].
2000
+ ** the default size of [lookaside memory] on each [database connection].
1994
2001
  ** The first argument is the
1995
- ** size of each lookaside buffer slot and the second is the number of
1996
- ** slots allocated to each database connection.)^ ^(SQLITE_CONFIG_LOOKASIDE
1997
- ** sets the <i>default</i> lookaside size. The [SQLITE_DBCONFIG_LOOKASIDE]
1998
- ** option to [sqlite3_db_config()] can be used to change the lookaside
1999
- ** configuration on individual connections.)^ </dd>
2002
+ ** size of each lookaside buffer slot ("sz") and the second is the number of
2003
+ ** slots allocated to each database connection ("cnt").)^
2004
+ ** ^(SQLITE_CONFIG_LOOKASIDE sets the <i>default</i> lookaside size.
2005
+ ** The [SQLITE_DBCONFIG_LOOKASIDE] option to [sqlite3_db_config()] can
2006
+ ** be used to change the lookaside configuration on individual connections.)^
2007
+ ** The [-DSQLITE_DEFAULT_LOOKASIDE] option can be used to change the
2008
+ ** default lookaside configuration at compile-time.
2009
+ ** </dd>
2000
2010
  **
2001
2011
  ** [[SQLITE_CONFIG_PCACHE2]] <dt>SQLITE_CONFIG_PCACHE2</dt>
2002
2012
  ** <dd> ^(The SQLITE_CONFIG_PCACHE2 option takes a single argument which is
@@ -2233,31 +2243,50 @@ struct sqlite3_mem_methods {
2233
2243
  ** [[SQLITE_DBCONFIG_LOOKASIDE]]
2234
2244
  ** <dt>SQLITE_DBCONFIG_LOOKASIDE</dt>
2235
2245
  ** <dd> The SQLITE_DBCONFIG_LOOKASIDE option is used to adjust the
2236
- ** configuration of the lookaside memory allocator within a database
2246
+ ** configuration of the [lookaside memory allocator] within a database
2237
2247
  ** connection.
2238
2248
  ** The arguments to the SQLITE_DBCONFIG_LOOKASIDE option are <i>not</i>
2239
2249
  ** in the [DBCONFIG arguments|usual format].
2240
2250
  ** The SQLITE_DBCONFIG_LOOKASIDE option takes three arguments, not two,
2241
2251
  ** so that a call to [sqlite3_db_config()] that uses SQLITE_DBCONFIG_LOOKASIDE
2242
2252
  ** should have a total of five parameters.
2243
- ** ^The first argument (the third parameter to [sqlite3_db_config()] is a
2253
+ ** <ol>
2254
+ ** <li><p>The first argument ("buf") is a
2244
2255
  ** pointer to a memory buffer to use for lookaside memory.
2245
- ** ^The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb
2246
- ** may be NULL in which case SQLite will allocate the
2247
- ** lookaside buffer itself using [sqlite3_malloc()]. ^The second argument is the
2248
- ** size of each lookaside buffer slot. ^The third argument is the number of
2249
- ** slots. The size of the buffer in the first argument must be greater than
2250
- ** or equal to the product of the second and third arguments. The buffer
2251
- ** must be aligned to an 8-byte boundary. ^If the second argument to
2252
- ** SQLITE_DBCONFIG_LOOKASIDE is not a multiple of 8, it is internally
2253
- ** rounded down to the next smaller multiple of 8. ^(The lookaside memory
2256
+ ** The first argument may be NULL in which case SQLite will allocate the
2257
+ ** lookaside buffer itself using [sqlite3_malloc()].
2258
+ ** <li><P>The second argument ("sz") is the
2259
+ ** size of each lookaside buffer slot. Lookaside is disabled if "sz"
2260
+ ** is less than 8. The "sz" argument should be a multiple of 8 less than
2261
+ ** 65536. If "sz" does not meet this constraint, it is reduced in size until
2262
+ ** it does.
2263
+ ** <li><p>The third argument ("cnt") is the number of slots. Lookaside is disabled
2264
+ ** if "cnt"is less than 1. The "cnt" value will be reduced, if necessary, so
2265
+ ** that the product of "sz" and "cnt" does not exceed 2,147,418,112. The "cnt"
2266
+ ** parameter is usually chosen so that the product of "sz" and "cnt" is less
2267
+ ** than 1,000,000.
2268
+ ** </ol>
2269
+ ** <p>If the "buf" argument is not NULL, then it must
2270
+ ** point to a memory buffer with a size that is greater than
2271
+ ** or equal to the product of "sz" and "cnt".
2272
+ ** The buffer must be aligned to an 8-byte boundary.
2273
+ ** The lookaside memory
2254
2274
  ** configuration for a database connection can only be changed when that
2255
2275
  ** connection is not currently using lookaside memory, or in other words
2256
- ** when the "current value" returned by
2257
- ** [sqlite3_db_status](D,[SQLITE_DBSTATUS_LOOKASIDE_USED],...) is zero.
2276
+ ** when the value returned by [SQLITE_DBSTATUS_LOOKASIDE_USED] is zero.
2258
2277
  ** Any attempt to change the lookaside memory configuration when lookaside
2259
2278
  ** memory is in use leaves the configuration unchanged and returns
2260
- ** [SQLITE_BUSY].)^</dd>
2279
+ ** [SQLITE_BUSY].
2280
+ ** If the "buf" argument is NULL and an attempt
2281
+ ** to allocate memory based on "sz" and "cnt" fails, then
2282
+ ** lookaside is silently disabled.
2283
+ ** <p>
2284
+ ** The [SQLITE_CONFIG_LOOKASIDE] configuration option can be used to set the
2285
+ ** default lookaside configuration at initialization. The
2286
+ ** [-DSQLITE_DEFAULT_LOOKASIDE] option can be used to set the default lookaside
2287
+ ** configuration at compile-time. Typical values for lookaside are 1200 for
2288
+ ** "sz" and 40 to 100 for "cnt".
2289
+ ** </dd>
2261
2290
  **
2262
2291
  ** [[SQLITE_DBCONFIG_ENABLE_FKEY]]
2263
2292
  ** <dt>SQLITE_DBCONFIG_ENABLE_FKEY</dt>
@@ -2994,6 +3023,44 @@ SQLITE_API int sqlite3_busy_handler(sqlite3*,int(*)(void*,int),void*);
2994
3023
  */
2995
3024
  SQLITE_API int sqlite3_busy_timeout(sqlite3*, int ms);
2996
3025
 
3026
+ /*
3027
+ ** CAPI3REF: Set the Setlk Timeout
3028
+ ** METHOD: sqlite3
3029
+ **
3030
+ ** This routine is only useful in SQLITE_ENABLE_SETLK_TIMEOUT builds. If
3031
+ ** the VFS supports blocking locks, it sets the timeout in ms used by
3032
+ ** eligible locks taken on wal mode databases by the specified database
3033
+ ** handle. In non-SQLITE_ENABLE_SETLK_TIMEOUT builds, or if the VFS does
3034
+ ** not support blocking locks, this function is a no-op.
3035
+ **
3036
+ ** Passing 0 to this function disables blocking locks altogether. Passing
3037
+ ** -1 to this function requests that the VFS blocks for a long time -
3038
+ ** indefinitely if possible. The results of passing any other negative value
3039
+ ** are undefined.
3040
+ **
3041
+ ** Internally, each SQLite database handle store two timeout values - the
3042
+ ** busy-timeout (used for rollback mode databases, or if the VFS does not
3043
+ ** support blocking locks) and the setlk-timeout (used for blocking locks
3044
+ ** on wal-mode databases). The sqlite3_busy_timeout() method sets both
3045
+ ** values, this function sets only the setlk-timeout value. Therefore,
3046
+ ** to configure separate busy-timeout and setlk-timeout values for a single
3047
+ ** database handle, call sqlite3_busy_timeout() followed by this function.
3048
+ **
3049
+ ** Whenever the number of connections to a wal mode database falls from
3050
+ ** 1 to 0, the last connection takes an exclusive lock on the database,
3051
+ ** then checkpoints and deletes the wal file. While it is doing this, any
3052
+ ** new connection that tries to read from the database fails with an
3053
+ ** SQLITE_BUSY error. Or, if the SQLITE_SETLK_BLOCK_ON_CONNECT flag is
3054
+ ** passed to this API, the new connection blocks until the exclusive lock
3055
+ ** has been released.
3056
+ */
3057
+ SQLITE_API int sqlite3_setlk_timeout(sqlite3*, int ms, int flags);
3058
+
3059
+ /*
3060
+ ** CAPI3REF: Flags for sqlite3_setlk_timeout()
3061
+ */
3062
+ #define SQLITE_SETLK_BLOCK_ON_CONNECT 0x01
3063
+
2997
3064
  /*
2998
3065
  ** CAPI3REF: Convenience Routines For Running Queries
2999
3066
  ** METHOD: sqlite3
@@ -4013,7 +4080,7 @@ SQLITE_API sqlite3_file *sqlite3_database_file_object(const char*);
4013
4080
  **
4014
4081
  ** The sqlite3_create_filename(D,J,W,N,P) allocates memory to hold a version of
4015
4082
  ** database filename D with corresponding journal file J and WAL file W and
4016
- ** with N URI parameters key/values pairs in the array P. The result from
4083
+ ** an array P of N URI Key/Value pairs. The result from
4017
4084
  ** sqlite3_create_filename(D,J,W,N,P) is a pointer to a database filename that
4018
4085
  ** is safe to pass to routines like:
4019
4086
  ** <ul>
@@ -4694,7 +4761,7 @@ typedef struct sqlite3_context sqlite3_context;
4694
4761
  ** METHOD: sqlite3_stmt
4695
4762
  **
4696
4763
  ** ^(In the SQL statement text input to [sqlite3_prepare_v2()] and its variants,
4697
- ** literals may be replaced by a [parameter] that matches one of following
4764
+ ** literals may be replaced by a [parameter] that matches one of the following
4698
4765
  ** templates:
4699
4766
  **
4700
4767
  ** <ul>
@@ -4739,7 +4806,7 @@ typedef struct sqlite3_context sqlite3_context;
4739
4806
  **
4740
4807
  ** [[byte-order determination rules]] ^The byte-order of
4741
4808
  ** UTF16 input text is determined by the byte-order mark (BOM, U+FEFF)
4742
- ** found in first character, which is removed, or in the absence of a BOM
4809
+ ** found in the first character, which is removed, or in the absence of a BOM
4743
4810
  ** the byte order is the native byte order of the host
4744
4811
  ** machine for sqlite3_bind_text16() or the byte order specified in
4745
4812
  ** the 6th parameter for sqlite3_bind_text64().)^
@@ -4759,7 +4826,7 @@ typedef struct sqlite3_context sqlite3_context;
4759
4826
  ** or sqlite3_bind_text16() or sqlite3_bind_text64() then
4760
4827
  ** that parameter must be the byte offset
4761
4828
  ** where the NUL terminator would occur assuming the string were NUL
4762
- ** terminated. If any NUL characters occurs at byte offsets less than
4829
+ ** terminated. If any NUL characters occur at byte offsets less than
4763
4830
  ** the value of the fourth parameter then the resulting string value will
4764
4831
  ** contain embedded NULs. The result of expressions involving strings
4765
4832
  ** with embedded NULs is undefined.
@@ -4971,7 +5038,7 @@ SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt*, int N);
4971
5038
  ** METHOD: sqlite3_stmt
4972
5039
  **
4973
5040
  ** ^These routines provide a means to determine the database, table, and
4974
- ** table column that is the origin of a particular result column in
5041
+ ** table column that is the origin of a particular result column in a
4975
5042
  ** [SELECT] statement.
4976
5043
  ** ^The name of the database or table or column can be returned as
4977
5044
  ** either a UTF-8 or UTF-16 string. ^The _database_ routines return
@@ -5109,7 +5176,7 @@ SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int);
5109
5176
  ** other than [SQLITE_ROW] before any subsequent invocation of
5110
5177
  ** sqlite3_step(). Failure to reset the prepared statement using
5111
5178
  ** [sqlite3_reset()] would result in an [SQLITE_MISUSE] return from
5112
- ** sqlite3_step(). But after [version 3.6.23.1] ([dateof:3.6.23.1],
5179
+ ** sqlite3_step(). But after [version 3.6.23.1] ([dateof:3.6.23.1]),
5113
5180
  ** sqlite3_step() began
5114
5181
  ** calling [sqlite3_reset()] automatically in this circumstance rather
5115
5182
  ** than returning [SQLITE_MISUSE]. This is not considered a compatibility
@@ -5540,8 +5607,8 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
5540
5607
  **
5541
5608
  ** For best security, the [SQLITE_DIRECTONLY] flag is recommended for
5542
5609
  ** all application-defined SQL functions that do not need to be
5543
- ** used inside of triggers, view, CHECK constraints, or other elements of
5544
- ** the database schema. This flags is especially recommended for SQL
5610
+ ** used inside of triggers, views, CHECK constraints, or other elements of
5611
+ ** the database schema. This flag is especially recommended for SQL
5545
5612
  ** functions that have side effects or reveal internal application state.
5546
5613
  ** Without this flag, an attacker might be able to modify the schema of
5547
5614
  ** a database file to include invocations of the function with parameters
@@ -5572,7 +5639,7 @@ SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);
5572
5639
  ** [user-defined window functions|available here].
5573
5640
  **
5574
5641
  ** ^(If the final parameter to sqlite3_create_function_v2() or
5575
- ** sqlite3_create_window_function() is not NULL, then it is destructor for
5642
+ ** sqlite3_create_window_function() is not NULL, then it is the destructor for
5576
5643
  ** the application data pointer. The destructor is invoked when the function
5577
5644
  ** is deleted, either by being overloaded or when the database connection
5578
5645
  ** closes.)^ ^The destructor is also invoked if the call to
@@ -5972,7 +6039,7 @@ SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value*);
5972
6039
  ** METHOD: sqlite3_value
5973
6040
  **
5974
6041
  ** ^The sqlite3_value_dup(V) interface makes a copy of the [sqlite3_value]
5975
- ** object D and returns a pointer to that copy. ^The [sqlite3_value] returned
6042
+ ** object V and returns a pointer to that copy. ^The [sqlite3_value] returned
5976
6043
  ** is a [protected sqlite3_value] object even if the input is not.
5977
6044
  ** ^The sqlite3_value_dup(V) interface returns NULL if V is NULL or if a
5978
6045
  ** memory allocation fails. ^If V is a [pointer value], then the result
@@ -6010,7 +6077,7 @@ SQLITE_API void sqlite3_value_free(sqlite3_value*);
6010
6077
  ** allocation error occurs.
6011
6078
  **
6012
6079
  ** ^(The amount of space allocated by sqlite3_aggregate_context(C,N) is
6013
- ** determined by the N parameter on first successful call. Changing the
6080
+ ** determined by the N parameter on the first successful call. Changing the
6014
6081
  ** value of N in any subsequent call to sqlite3_aggregate_context() within
6015
6082
  ** the same aggregate function instance will not resize the memory
6016
6083
  ** allocation.)^ Within the xFinal callback, it is customary to set
@@ -6172,7 +6239,7 @@ SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(voi
6172
6239
  **
6173
6240
  ** Security Warning: These interfaces should not be exposed in scripting
6174
6241
  ** languages or in other circumstances where it might be possible for an
6175
- ** an attacker to invoke them. Any agent that can invoke these interfaces
6242
+ ** attacker to invoke them. Any agent that can invoke these interfaces
6176
6243
  ** can probably also take control of the process.
6177
6244
  **
6178
6245
  ** Database connection client data is only available for SQLite
@@ -6286,7 +6353,7 @@ typedef void (*sqlite3_destructor_type)(void*);
6286
6353
  ** pointed to by the 2nd parameter are taken as the application-defined
6287
6354
  ** function result. If the 3rd parameter is non-negative, then it
6288
6355
  ** must be the byte offset into the string where the NUL terminator would
6289
- ** appear if the string where NUL terminated. If any NUL characters occur
6356
+ ** appear if the string were NUL terminated. If any NUL characters occur
6290
6357
  ** in the string at a byte offset that is less than the value of the 3rd
6291
6358
  ** parameter, then the resulting string will contain embedded NULs and the
6292
6359
  ** result of expressions operating on strings with embedded NULs is undefined.
@@ -6344,7 +6411,7 @@ typedef void (*sqlite3_destructor_type)(void*);
6344
6411
  ** string and preferably a string literal. The sqlite3_result_pointer()
6345
6412
  ** routine is part of the [pointer passing interface] added for SQLite 3.20.0.
6346
6413
  **
6347
- ** If these routines are called from within the different thread
6414
+ ** If these routines are called from within a different thread
6348
6415
  ** than the one containing the application-defined function that received
6349
6416
  ** the [sqlite3_context] pointer, the results are undefined.
6350
6417
  */
@@ -6750,7 +6817,7 @@ SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*);
6750
6817
  ** METHOD: sqlite3
6751
6818
  **
6752
6819
  ** ^The sqlite3_db_name(D,N) interface returns a pointer to the schema name
6753
- ** for the N-th database on database connection D, or a NULL pointer of N is
6820
+ ** for the N-th database on database connection D, or a NULL pointer if N is
6754
6821
  ** out of range. An N value of 0 means the main database file. An N of 1 is
6755
6822
  ** the "temp" schema. Larger values of N correspond to various ATTACH-ed
6756
6823
  ** databases.
@@ -6845,7 +6912,7 @@ SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema);
6845
6912
  ** <dd>The SQLITE_TXN_READ state means that the database is currently
6846
6913
  ** in a read transaction. Content has been read from the database file
6847
6914
  ** but nothing in the database file has changed. The transaction state
6848
- ** will advanced to SQLITE_TXN_WRITE if any changes occur and there are
6915
+ ** will be advanced to SQLITE_TXN_WRITE if any changes occur and there are
6849
6916
  ** no other conflicting concurrent write transactions. The transaction
6850
6917
  ** state will revert to SQLITE_TXN_NONE following a [ROLLBACK] or
6851
6918
  ** [COMMIT].</dd>
@@ -6854,7 +6921,7 @@ SQLITE_API int sqlite3_txn_state(sqlite3*,const char *zSchema);
6854
6921
  ** <dd>The SQLITE_TXN_WRITE state means that the database is currently
6855
6922
  ** in a write transaction. Content has been written to the database file
6856
6923
  ** but has not yet committed. The transaction state will change to
6857
- ** to SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].</dd>
6924
+ ** SQLITE_TXN_NONE at the next [ROLLBACK] or [COMMIT].</dd>
6858
6925
  */
6859
6926
  #define SQLITE_TXN_NONE 0
6860
6927
  #define SQLITE_TXN_READ 1
@@ -7005,6 +7072,8 @@ SQLITE_API int sqlite3_autovacuum_pages(
7005
7072
  **
7006
7073
  ** ^The second argument is a pointer to the function to invoke when a
7007
7074
  ** row is updated, inserted or deleted in a rowid table.
7075
+ ** ^The update hook is disabled by invoking sqlite3_update_hook()
7076
+ ** with a NULL pointer as the second parameter.
7008
7077
  ** ^The first argument to the callback is a copy of the third argument
7009
7078
  ** to sqlite3_update_hook().
7010
7079
  ** ^The second callback argument is one of [SQLITE_INSERT], [SQLITE_DELETE],
@@ -7133,7 +7202,7 @@ SQLITE_API int sqlite3_db_release_memory(sqlite3*);
7133
7202
  ** CAPI3REF: Impose A Limit On Heap Size
7134
7203
  **
7135
7204
  ** These interfaces impose limits on the amount of heap memory that will be
7136
- ** by all database connections within a single process.
7205
+ ** used by all database connections within a single process.
7137
7206
  **
7138
7207
  ** ^The sqlite3_soft_heap_limit64() interface sets and/or queries the
7139
7208
  ** soft limit on the amount of heap memory that may be allocated by SQLite.
@@ -7191,7 +7260,7 @@ SQLITE_API int sqlite3_db_release_memory(sqlite3*);
7191
7260
  ** </ul>)^
7192
7261
  **
7193
7262
  ** The circumstances under which SQLite will enforce the heap limits may
7194
- ** changes in future releases of SQLite.
7263
+ ** change in future releases of SQLite.
7195
7264
  */
7196
7265
  SQLITE_API sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N);
7197
7266
  SQLITE_API sqlite3_int64 sqlite3_hard_heap_limit64(sqlite3_int64 N);
@@ -7306,8 +7375,8 @@ SQLITE_API int sqlite3_table_column_metadata(
7306
7375
  ** ^The entry point is zProc.
7307
7376
  ** ^(zProc may be 0, in which case SQLite will try to come up with an
7308
7377
  ** entry point name on its own. It first tries "sqlite3_extension_init".
7309
- ** If that does not work, it constructs a name "sqlite3_X_init" where the
7310
- ** X is consists of the lower-case equivalent of all ASCII alphabetic
7378
+ ** If that does not work, it constructs a name "sqlite3_X_init" where
7379
+ ** X consists of the lower-case equivalent of all ASCII alphabetic
7311
7380
  ** characters in the filename from the last "/" to the first following
7312
7381
  ** "." and omitting any initial "lib".)^
7313
7382
  ** ^The sqlite3_load_extension() interface returns
@@ -7378,7 +7447,7 @@ SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff);
7378
7447
  ** ^(Even though the function prototype shows that xEntryPoint() takes
7379
7448
  ** no arguments and returns void, SQLite invokes xEntryPoint() with three
7380
7449
  ** arguments and expects an integer result as if the signature of the
7381
- ** entry point where as follows:
7450
+ ** entry point were as follows:
7382
7451
  **
7383
7452
  ** <blockquote><pre>
7384
7453
  ** &nbsp; int xEntryPoint(
@@ -7542,7 +7611,7 @@ struct sqlite3_module {
7542
7611
  ** virtual table and might not be checked again by the byte code.)^ ^(The
7543
7612
  ** aConstraintUsage[].omit flag is an optimization hint. When the omit flag
7544
7613
  ** is left in its default setting of false, the constraint will always be
7545
- ** checked separately in byte code. If the omit flag is change to true, then
7614
+ ** checked separately in byte code. If the omit flag is changed to true, then
7546
7615
  ** the constraint may or may not be checked in byte code. In other words,
7547
7616
  ** when the omit flag is true there is no guarantee that the constraint will
7548
7617
  ** not be checked again using byte code.)^
@@ -7568,7 +7637,7 @@ struct sqlite3_module {
7568
7637
  ** The xBestIndex method may optionally populate the idxFlags field with a
7569
7638
  ** mask of SQLITE_INDEX_SCAN_* flags. One such flag is
7570
7639
  ** [SQLITE_INDEX_SCAN_HEX], which if set causes the [EXPLAIN QUERY PLAN]
7571
- ** output to show the idxNum has hex instead of as decimal. Another flag is
7640
+ ** output to show the idxNum as hex instead of as decimal. Another flag is
7572
7641
  ** SQLITE_INDEX_SCAN_UNIQUE, which if set indicates that the query plan will
7573
7642
  ** return at most one row.
7574
7643
  **
@@ -7709,7 +7778,7 @@ struct sqlite3_index_info {
7709
7778
  ** the implementation of the [virtual table module]. ^The fourth
7710
7779
  ** parameter is an arbitrary client data pointer that is passed through
7711
7780
  ** into the [xCreate] and [xConnect] methods of the virtual table module
7712
- ** when a new virtual table is be being created or reinitialized.
7781
+ ** when a new virtual table is being created or reinitialized.
7713
7782
  **
7714
7783
  ** ^The sqlite3_create_module_v2() interface has a fifth parameter which
7715
7784
  ** is a pointer to a destructor for the pClientData. ^SQLite will
@@ -7874,7 +7943,7 @@ typedef struct sqlite3_blob sqlite3_blob;
7874
7943
  ** in *ppBlob. Otherwise an [error code] is returned and, unless the error
7875
7944
  ** code is SQLITE_MISUSE, *ppBlob is set to NULL.)^ ^This means that, provided
7876
7945
  ** the API is not misused, it is always safe to call [sqlite3_blob_close()]
7877
- ** on *ppBlob after this function it returns.
7946
+ ** on *ppBlob after this function returns.
7878
7947
  **
7879
7948
  ** This function fails with SQLITE_ERROR if any of the following are true:
7880
7949
  ** <ul>
@@ -7994,7 +8063,7 @@ SQLITE_API int sqlite3_blob_close(sqlite3_blob *);
7994
8063
  **
7995
8064
  ** ^Returns the size in bytes of the BLOB accessible via the
7996
8065
  ** successfully opened [BLOB handle] in its only argument. ^The
7997
- ** incremental blob I/O routines can only read or overwriting existing
8066
+ ** incremental blob I/O routines can only read or overwrite existing
7998
8067
  ** blob content; they cannot change the size of a blob.
7999
8068
  **
8000
8069
  ** This routine only works on a [BLOB handle] which has been created
@@ -8144,7 +8213,7 @@ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*);
8144
8213
  ** ^The sqlite3_mutex_alloc() routine allocates a new
8145
8214
  ** mutex and returns a pointer to it. ^The sqlite3_mutex_alloc()
8146
8215
  ** routine returns NULL if it is unable to allocate the requested
8147
- ** mutex. The argument to sqlite3_mutex_alloc() must one of these
8216
+ ** mutex. The argument to sqlite3_mutex_alloc() must be one of these
8148
8217
  ** integer constants:
8149
8218
  **
8150
8219
  ** <ul>
@@ -8377,7 +8446,7 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*);
8377
8446
  ** CAPI3REF: Retrieve the mutex for a database connection
8378
8447
  ** METHOD: sqlite3
8379
8448
  **
8380
- ** ^This interface returns a pointer the [sqlite3_mutex] object that
8449
+ ** ^This interface returns a pointer to the [sqlite3_mutex] object that
8381
8450
  ** serializes access to the [database connection] given in the argument
8382
8451
  ** when the [threading mode] is Serialized.
8383
8452
  ** ^If the [threading mode] is Single-thread or Multi-thread then this
@@ -8500,7 +8569,7 @@ SQLITE_API int sqlite3_test_control(int op, ...);
8500
8569
  ** CAPI3REF: SQL Keyword Checking
8501
8570
  **
8502
8571
  ** These routines provide access to the set of SQL language keywords
8503
- ** recognized by SQLite. Applications can uses these routines to determine
8572
+ ** recognized by SQLite. Applications can use these routines to determine
8504
8573
  ** whether or not a specific identifier needs to be escaped (for example,
8505
8574
  ** by enclosing in double-quotes) so as not to confuse the parser.
8506
8575
  **
@@ -8668,7 +8737,7 @@ SQLITE_API void sqlite3_str_reset(sqlite3_str*);
8668
8737
  ** content of the dynamic string under construction in X. The value
8669
8738
  ** returned by [sqlite3_str_value(X)] is managed by the sqlite3_str object X
8670
8739
  ** and might be freed or altered by any subsequent method on the same
8671
- ** [sqlite3_str] object. Applications must not used the pointer returned
8740
+ ** [sqlite3_str] object. Applications must not use the pointer returned by
8672
8741
  ** [sqlite3_str_value(X)] after any subsequent method call on the same
8673
8742
  ** object. ^Applications may change the content of the string returned
8674
8743
  ** by [sqlite3_str_value(X)] as long as they do not write into any bytes
@@ -8754,7 +8823,7 @@ SQLITE_API int sqlite3_status64(
8754
8823
  ** allocation which could not be satisfied by the [SQLITE_CONFIG_PAGECACHE]
8755
8824
  ** buffer and where forced to overflow to [sqlite3_malloc()]. The
8756
8825
  ** returned value includes allocations that overflowed because they
8757
- ** where too large (they were larger than the "sz" parameter to
8826
+ ** were too large (they were larger than the "sz" parameter to
8758
8827
  ** [SQLITE_CONFIG_PAGECACHE]) and allocations that overflowed because
8759
8828
  ** no space was left in the page cache.</dd>)^
8760
8829
  **
@@ -8838,28 +8907,29 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
8838
8907
  ** [[SQLITE_DBSTATUS_LOOKASIDE_HIT]] ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_HIT</dt>
8839
8908
  ** <dd>This parameter returns the number of malloc attempts that were
8840
8909
  ** satisfied using lookaside memory. Only the high-water value is meaningful;
8841
- ** the current value is always zero.)^
8910
+ ** the current value is always zero.</dd>)^
8842
8911
  **
8843
8912
  ** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE]]
8844
8913
  ** ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE</dt>
8845
- ** <dd>This parameter returns the number malloc attempts that might have
8914
+ ** <dd>This parameter returns the number of malloc attempts that might have
8846
8915
  ** been satisfied using lookaside memory but failed due to the amount of
8847
8916
  ** memory requested being larger than the lookaside slot size.
8848
8917
  ** Only the high-water value is meaningful;
8849
- ** the current value is always zero.)^
8918
+ ** the current value is always zero.</dd>)^
8850
8919
  **
8851
8920
  ** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL]]
8852
8921
  ** ^(<dt>SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL</dt>
8853
- ** <dd>This parameter returns the number malloc attempts that might have
8922
+ ** <dd>This parameter returns the number of malloc attempts that might have
8854
8923
  ** been satisfied using lookaside memory but failed due to all lookaside
8855
8924
  ** memory already being in use.
8856
8925
  ** Only the high-water value is meaningful;
8857
- ** the current value is always zero.)^
8926
+ ** the current value is always zero.</dd>)^
8858
8927
  **
8859
8928
  ** [[SQLITE_DBSTATUS_CACHE_USED]] ^(<dt>SQLITE_DBSTATUS_CACHE_USED</dt>
8860
8929
  ** <dd>This parameter returns the approximate number of bytes of heap
8861
8930
  ** memory used by all pager caches associated with the database connection.)^
8862
8931
  ** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0.
8932
+ ** </dd>
8863
8933
  **
8864
8934
  ** [[SQLITE_DBSTATUS_CACHE_USED_SHARED]]
8865
8935
  ** ^(<dt>SQLITE_DBSTATUS_CACHE_USED_SHARED</dt>
@@ -8868,10 +8938,10 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
8868
8938
  ** memory used by that pager cache is divided evenly between the attached
8869
8939
  ** connections.)^ In other words, if none of the pager caches associated
8870
8940
  ** with the database connection are shared, this request returns the same
8871
- ** value as DBSTATUS_CACHE_USED. Or, if one or more or the pager caches are
8941
+ ** value as DBSTATUS_CACHE_USED. Or, if one or more of the pager caches are
8872
8942
  ** shared, the value returned by this call will be smaller than that returned
8873
8943
  ** by DBSTATUS_CACHE_USED. ^The highwater mark associated with
8874
- ** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0.
8944
+ ** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0.</dd>
8875
8945
  **
8876
8946
  ** [[SQLITE_DBSTATUS_SCHEMA_USED]] ^(<dt>SQLITE_DBSTATUS_SCHEMA_USED</dt>
8877
8947
  ** <dd>This parameter returns the approximate number of bytes of heap
@@ -8881,6 +8951,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
8881
8951
  ** schema memory is shared with other database connections due to
8882
8952
  ** [shared cache mode] being enabled.
8883
8953
  ** ^The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0.
8954
+ ** </dd>
8884
8955
  **
8885
8956
  ** [[SQLITE_DBSTATUS_STMT_USED]] ^(<dt>SQLITE_DBSTATUS_STMT_USED</dt>
8886
8957
  ** <dd>This parameter returns the approximate number of bytes of heap
@@ -8917,7 +8988,7 @@ SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int r
8917
8988
  ** been written to disk in the middle of a transaction due to the page
8918
8989
  ** cache overflowing. Transactions are more efficient if they are written
8919
8990
  ** to disk all at once. When pages spill mid-transaction, that introduces
8920
- ** additional overhead. This parameter can be used help identify
8991
+ ** additional overhead. This parameter can be used to help identify
8921
8992
  ** inefficiencies that can be resolved by increasing the cache size.
8922
8993
  ** </dd>
8923
8994
  **
@@ -8988,13 +9059,13 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
8988
9059
  ** [[SQLITE_STMTSTATUS_SORT]] <dt>SQLITE_STMTSTATUS_SORT</dt>
8989
9060
  ** <dd>^This is the number of sort operations that have occurred.
8990
9061
  ** A non-zero value in this counter may indicate an opportunity to
8991
- ** improvement performance through careful use of indices.</dd>
9062
+ ** improve performance through careful use of indices.</dd>
8992
9063
  **
8993
9064
  ** [[SQLITE_STMTSTATUS_AUTOINDEX]] <dt>SQLITE_STMTSTATUS_AUTOINDEX</dt>
8994
9065
  ** <dd>^This is the number of rows inserted into transient indices that
8995
9066
  ** were created automatically in order to help joins run faster.
8996
9067
  ** A non-zero value in this counter may indicate an opportunity to
8997
- ** improvement performance by adding permanent indices that do not
9068
+ ** improve performance by adding permanent indices that do not
8998
9069
  ** need to be reinitialized each time the statement is run.</dd>
8999
9070
  **
9000
9071
  ** [[SQLITE_STMTSTATUS_VM_STEP]] <dt>SQLITE_STMTSTATUS_VM_STEP</dt>
@@ -9003,19 +9074,19 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
9003
9074
  ** to 2147483647. The number of virtual machine operations can be
9004
9075
  ** used as a proxy for the total work done by the prepared statement.
9005
9076
  ** If the number of virtual machine operations exceeds 2147483647
9006
- ** then the value returned by this statement status code is undefined.
9077
+ ** then the value returned by this statement status code is undefined.</dd>
9007
9078
  **
9008
9079
  ** [[SQLITE_STMTSTATUS_REPREPARE]] <dt>SQLITE_STMTSTATUS_REPREPARE</dt>
9009
9080
  ** <dd>^This is the number of times that the prepare statement has been
9010
9081
  ** automatically regenerated due to schema changes or changes to
9011
- ** [bound parameters] that might affect the query plan.
9082
+ ** [bound parameters] that might affect the query plan.</dd>
9012
9083
  **
9013
9084
  ** [[SQLITE_STMTSTATUS_RUN]] <dt>SQLITE_STMTSTATUS_RUN</dt>
9014
9085
  ** <dd>^This is the number of times that the prepared statement has
9015
9086
  ** been run. A single "run" for the purposes of this counter is one
9016
9087
  ** or more calls to [sqlite3_step()] followed by a call to [sqlite3_reset()].
9017
9088
  ** The counter is incremented on the first [sqlite3_step()] call of each
9018
- ** cycle.
9089
+ ** cycle.</dd>
9019
9090
  **
9020
9091
  ** [[SQLITE_STMTSTATUS_FILTER_MISS]]
9021
9092
  ** [[SQLITE_STMTSTATUS_FILTER HIT]]
@@ -9025,7 +9096,7 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
9025
9096
  ** step was bypassed because a Bloom filter returned not-found. The
9026
9097
  ** corresponding SQLITE_STMTSTATUS_FILTER_MISS value is the number of
9027
9098
  ** times that the Bloom filter returned a find, and thus the join step
9028
- ** had to be processed as normal.
9099
+ ** had to be processed as normal.</dd>
9029
9100
  **
9030
9101
  ** [[SQLITE_STMTSTATUS_MEMUSED]] <dt>SQLITE_STMTSTATUS_MEMUSED</dt>
9031
9102
  ** <dd>^This is the approximate number of bytes of heap memory
@@ -9130,9 +9201,9 @@ struct sqlite3_pcache_page {
9130
9201
  ** SQLite will typically create one cache instance for each open database file,
9131
9202
  ** though this is not guaranteed. ^The
9132
9203
  ** first parameter, szPage, is the size in bytes of the pages that must
9133
- ** be allocated by the cache. ^szPage will always a power of two. ^The
9204
+ ** be allocated by the cache. ^szPage will always be a power of two. ^The
9134
9205
  ** second parameter szExtra is a number of bytes of extra storage
9135
- ** associated with each page cache entry. ^The szExtra parameter will
9206
+ ** associated with each page cache entry. ^The szExtra parameter will be
9136
9207
  ** a number less than 250. SQLite will use the
9137
9208
  ** extra szExtra bytes on each page to store metadata about the underlying
9138
9209
  ** database page on disk. The value passed into szExtra depends
@@ -9140,17 +9211,17 @@ struct sqlite3_pcache_page {
9140
9211
  ** ^The third argument to xCreate(), bPurgeable, is true if the cache being
9141
9212
  ** created will be used to cache database pages of a file stored on disk, or
9142
9213
  ** false if it is used for an in-memory database. The cache implementation
9143
- ** does not have to do anything special based with the value of bPurgeable;
9214
+ ** does not have to do anything special based upon the value of bPurgeable;
9144
9215
  ** it is purely advisory. ^On a cache where bPurgeable is false, SQLite will
9145
9216
  ** never invoke xUnpin() except to deliberately delete a page.
9146
9217
  ** ^In other words, calls to xUnpin() on a cache with bPurgeable set to
9147
9218
  ** false will always have the "discard" flag set to true.
9148
- ** ^Hence, a cache created with bPurgeable false will
9219
+ ** ^Hence, a cache created with bPurgeable set to false will
9149
9220
  ** never contain any unpinned pages.
9150
9221
  **
9151
9222
  ** [[the xCachesize() page cache method]]
9152
9223
  ** ^(The xCachesize() method may be called at any time by SQLite to set the
9153
- ** suggested maximum cache-size (number of pages stored by) the cache
9224
+ ** suggested maximum cache-size (number of pages stored) for the cache
9154
9225
  ** instance passed as the first argument. This is the value configured using
9155
9226
  ** the SQLite "[PRAGMA cache_size]" command.)^ As with the bPurgeable
9156
9227
  ** parameter, the implementation is not required to do anything with this
@@ -9177,12 +9248,12 @@ struct sqlite3_pcache_page {
9177
9248
  ** implementation must return a pointer to the page buffer with its content
9178
9249
  ** intact. If the requested page is not already in the cache, then the
9179
9250
  ** cache implementation should use the value of the createFlag
9180
- ** parameter to help it determined what action to take:
9251
+ ** parameter to help it determine what action to take:
9181
9252
  **
9182
9253
  ** <table border=1 width=85% align=center>
9183
9254
  ** <tr><th> createFlag <th> Behavior when page is not already in cache
9184
9255
  ** <tr><td> 0 <td> Do not allocate a new page. Return NULL.
9185
- ** <tr><td> 1 <td> Allocate a new page if it easy and convenient to do so.
9256
+ ** <tr><td> 1 <td> Allocate a new page if it is easy and convenient to do so.
9186
9257
  ** Otherwise return NULL.
9187
9258
  ** <tr><td> 2 <td> Make every effort to allocate a new page. Only return
9188
9259
  ** NULL if allocating a new page is effectively impossible.
@@ -9199,7 +9270,7 @@ struct sqlite3_pcache_page {
9199
9270
  ** as its second argument. If the third parameter, discard, is non-zero,
9200
9271
  ** then the page must be evicted from the cache.
9201
9272
  ** ^If the discard parameter is
9202
- ** zero, then the page may be discarded or retained at the discretion of
9273
+ ** zero, then the page may be discarded or retained at the discretion of the
9203
9274
  ** page cache implementation. ^The page cache implementation
9204
9275
  ** may choose to evict unpinned pages at any time.
9205
9276
  **
@@ -9217,7 +9288,7 @@ struct sqlite3_pcache_page {
9217
9288
  ** When SQLite calls the xTruncate() method, the cache must discard all
9218
9289
  ** existing cache entries with page numbers (keys) greater than or equal
9219
9290
  ** to the value of the iLimit parameter passed to xTruncate(). If any
9220
- ** of these pages are pinned, they are implicitly unpinned, meaning that
9291
+ ** of these pages are pinned, they become implicitly unpinned, meaning that
9221
9292
  ** they can be safely discarded.
9222
9293
  **
9223
9294
  ** [[the xDestroy() page cache method]]
@@ -9397,7 +9468,7 @@ typedef struct sqlite3_backup sqlite3_backup;
9397
9468
  ** external process or via a database connection other than the one being
9398
9469
  ** used by the backup operation, then the backup will be automatically
9399
9470
  ** restarted by the next call to sqlite3_backup_step(). ^If the source
9400
- ** database is modified by the using the same database connection as is used
9471
+ ** database is modified by using the same database connection as is used
9401
9472
  ** by the backup operation, then the backup database is automatically
9402
9473
  ** updated at the same time.
9403
9474
  **
@@ -9414,7 +9485,7 @@ typedef struct sqlite3_backup sqlite3_backup;
9414
9485
  ** and may not be used following a call to sqlite3_backup_finish().
9415
9486
  **
9416
9487
  ** ^The value returned by sqlite3_backup_finish is [SQLITE_OK] if no
9417
- ** sqlite3_backup_step() errors occurred, regardless or whether or not
9488
+ ** sqlite3_backup_step() errors occurred, regardless of whether or not
9418
9489
  ** sqlite3_backup_step() completed.
9419
9490
  ** ^If an out-of-memory condition or IO error occurred during any prior
9420
9491
  ** sqlite3_backup_step() call on the same [sqlite3_backup] object, then
@@ -9516,7 +9587,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);
9516
9587
  ** application receives an SQLITE_LOCKED error, it may call the
9517
9588
  ** sqlite3_unlock_notify() method with the blocked connection handle as
9518
9589
  ** the first argument to register for a callback that will be invoked
9519
- ** when the blocking connections current transaction is concluded. ^The
9590
+ ** when the blocking connection's current transaction is concluded. ^The
9520
9591
  ** callback is invoked from within the [sqlite3_step] or [sqlite3_close]
9521
9592
  ** call that concludes the blocking connection's transaction.
9522
9593
  **
@@ -9536,7 +9607,7 @@ SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p);
9536
9607
  ** blocked connection already has a registered unlock-notify callback,
9537
9608
  ** then the new callback replaces the old.)^ ^If sqlite3_unlock_notify() is
9538
9609
  ** called with a NULL pointer as its second argument, then any existing
9539
- ** unlock-notify callback is canceled. ^The blocked connections
9610
+ ** unlock-notify callback is canceled. ^The blocked connection's
9540
9611
  ** unlock-notify callback may also be canceled by closing the blocked
9541
9612
  ** connection using [sqlite3_close()].
9542
9613
  **
@@ -9934,7 +10005,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
9934
10005
  ** support constraints. In this configuration (which is the default) if
9935
10006
  ** a call to the [xUpdate] method returns [SQLITE_CONSTRAINT], then the entire
9936
10007
  ** statement is rolled back as if [ON CONFLICT | OR ABORT] had been
9937
- ** specified as part of the users SQL statement, regardless of the actual
10008
+ ** specified as part of the user's SQL statement, regardless of the actual
9938
10009
  ** ON CONFLICT mode specified.
9939
10010
  **
9940
10011
  ** If X is non-zero, then the virtual table implementation guarantees
@@ -9968,7 +10039,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...);
9968
10039
  ** [[SQLITE_VTAB_INNOCUOUS]]<dt>SQLITE_VTAB_INNOCUOUS</dt>
9969
10040
  ** <dd>Calls of the form
9970
10041
  ** [sqlite3_vtab_config](db,SQLITE_VTAB_INNOCUOUS) from within the
9971
- ** the [xConnect] or [xCreate] methods of a [virtual table] implementation
10042
+ ** [xConnect] or [xCreate] methods of a [virtual table] implementation
9972
10043
  ** identify that virtual table as being safe to use from within triggers
9973
10044
  ** and views. Conceptually, the SQLITE_VTAB_INNOCUOUS tag means that the
9974
10045
  ** virtual table can do no serious harm even if it is controlled by a
@@ -10136,7 +10207,7 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
10136
10207
  ** </table>
10137
10208
  **
10138
10209
  ** ^For the purposes of comparing virtual table output values to see if the
10139
- ** values are same value for sorting purposes, two NULL values are considered
10210
+ ** values are the same value for sorting purposes, two NULL values are considered
10140
10211
  ** to be the same. In other words, the comparison operator is "IS"
10141
10212
  ** (or "IS NOT DISTINCT FROM") and not "==".
10142
10213
  **
@@ -10146,7 +10217,7 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
10146
10217
  **
10147
10218
  ** ^A virtual table implementation is always free to return rows in any order
10148
10219
  ** it wants, as long as the "orderByConsumed" flag is not set. ^When the
10149
- ** the "orderByConsumed" flag is unset, the query planner will add extra
10220
+ ** "orderByConsumed" flag is unset, the query planner will add extra
10150
10221
  ** [bytecode] to ensure that the final results returned by the SQL query are
10151
10222
  ** ordered correctly. The use of the "orderByConsumed" flag and the
10152
10223
  ** sqlite3_vtab_distinct() interface is merely an optimization. ^Careful
@@ -10243,7 +10314,7 @@ SQLITE_API int sqlite3_vtab_in(sqlite3_index_info*, int iCons, int bHandle);
10243
10314
  ** sqlite3_vtab_in_next(X,P) should be one of the parameters to the
10244
10315
  ** xFilter method which invokes these routines, and specifically
10245
10316
  ** a parameter that was previously selected for all-at-once IN constraint
10246
- ** processing use the [sqlite3_vtab_in()] interface in the
10317
+ ** processing using the [sqlite3_vtab_in()] interface in the
10247
10318
  ** [xBestIndex|xBestIndex method]. ^(If the X parameter is not
10248
10319
  ** an xFilter argument that was selected for all-at-once IN constraint
10249
10320
  ** processing, then these routines return [SQLITE_ERROR].)^
@@ -10298,7 +10369,7 @@ SQLITE_API int sqlite3_vtab_in_next(sqlite3_value *pVal, sqlite3_value **ppOut);
10298
10369
  ** and only if *V is set to a value. ^The sqlite3_vtab_rhs_value(P,J,V)
10299
10370
  ** inteface returns SQLITE_NOTFOUND if the right-hand side of the J-th
10300
10371
  ** constraint is not available. ^The sqlite3_vtab_rhs_value() interface
10301
- ** can return an result code other than SQLITE_OK or SQLITE_NOTFOUND if
10372
+ ** can return a result code other than SQLITE_OK or SQLITE_NOTFOUND if
10302
10373
  ** something goes wrong.
10303
10374
  **
10304
10375
  ** The sqlite3_vtab_rhs_value() interface is usually only successful if
@@ -10326,8 +10397,8 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
10326
10397
  ** KEYWORDS: {conflict resolution mode}
10327
10398
  **
10328
10399
  ** These constants are returned by [sqlite3_vtab_on_conflict()] to
10329
- ** inform a [virtual table] implementation what the [ON CONFLICT] mode
10330
- ** is for the SQL statement being evaluated.
10400
+ ** inform a [virtual table] implementation of the [ON CONFLICT] mode
10401
+ ** for the SQL statement being evaluated.
10331
10402
  **
10332
10403
  ** Note that the [SQLITE_IGNORE] constant is also used as a potential
10333
10404
  ** return value from the [sqlite3_set_authorizer()] callback and that
@@ -10367,39 +10438,39 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
10367
10438
  ** [[SQLITE_SCANSTAT_EST]] <dt>SQLITE_SCANSTAT_EST</dt>
10368
10439
  ** <dd>^The "double" variable pointed to by the V parameter will be set to the
10369
10440
  ** query planner's estimate for the average number of rows output from each
10370
- ** iteration of the X-th loop. If the query planner's estimates was accurate,
10441
+ ** iteration of the X-th loop. If the query planner's estimate was accurate,
10371
10442
  ** then this value will approximate the quotient NVISIT/NLOOP and the
10372
10443
  ** product of this value for all prior loops with the same SELECTID will
10373
- ** be the NLOOP value for the current loop.
10444
+ ** be the NLOOP value for the current loop.</dd>
10374
10445
  **
10375
10446
  ** [[SQLITE_SCANSTAT_NAME]] <dt>SQLITE_SCANSTAT_NAME</dt>
10376
10447
  ** <dd>^The "const char *" variable pointed to by the V parameter will be set
10377
10448
  ** to a zero-terminated UTF-8 string containing the name of the index or table
10378
- ** used for the X-th loop.
10449
+ ** used for the X-th loop.</dd>
10379
10450
  **
10380
10451
  ** [[SQLITE_SCANSTAT_EXPLAIN]] <dt>SQLITE_SCANSTAT_EXPLAIN</dt>
10381
10452
  ** <dd>^The "const char *" variable pointed to by the V parameter will be set
10382
10453
  ** to a zero-terminated UTF-8 string containing the [EXPLAIN QUERY PLAN]
10383
- ** description for the X-th loop.
10454
+ ** description for the X-th loop.</dd>
10384
10455
  **
10385
10456
  ** [[SQLITE_SCANSTAT_SELECTID]] <dt>SQLITE_SCANSTAT_SELECTID</dt>
10386
10457
  ** <dd>^The "int" variable pointed to by the V parameter will be set to the
10387
10458
  ** id for the X-th query plan element. The id value is unique within the
10388
10459
  ** statement. The select-id is the same value as is output in the first
10389
- ** column of an [EXPLAIN QUERY PLAN] query.
10460
+ ** column of an [EXPLAIN QUERY PLAN] query.</dd>
10390
10461
  **
10391
10462
  ** [[SQLITE_SCANSTAT_PARENTID]] <dt>SQLITE_SCANSTAT_PARENTID</dt>
10392
10463
  ** <dd>The "int" variable pointed to by the V parameter will be set to the
10393
- ** the id of the parent of the current query element, if applicable, or
10464
+ ** id of the parent of the current query element, if applicable, or
10394
10465
  ** to zero if the query element has no parent. This is the same value as
10395
- ** returned in the second column of an [EXPLAIN QUERY PLAN] query.
10466
+ ** returned in the second column of an [EXPLAIN QUERY PLAN] query.</dd>
10396
10467
  **
10397
10468
  ** [[SQLITE_SCANSTAT_NCYCLE]] <dt>SQLITE_SCANSTAT_NCYCLE</dt>
10398
10469
  ** <dd>The sqlite3_int64 output value is set to the number of cycles,
10399
10470
  ** according to the processor time-stamp counter, that elapsed while the
10400
10471
  ** query element was being processed. This value is not available for
10401
10472
  ** all query elements - if it is unavailable the output variable is
10402
- ** set to -1.
10473
+ ** set to -1.</dd>
10403
10474
  ** </dl>
10404
10475
  */
10405
10476
  #define SQLITE_SCANSTAT_NLOOP 0
@@ -10440,8 +10511,8 @@ SQLITE_API int sqlite3_vtab_rhs_value(sqlite3_index_info*, int, sqlite3_value **
10440
10511
  ** sqlite3_stmt_scanstatus_v2() with a zeroed flags parameter.
10441
10512
  **
10442
10513
  ** Parameter "idx" identifies the specific query element to retrieve statistics
10443
- ** for. Query elements are numbered starting from zero. A value of -1 may be
10444
- ** to query for statistics regarding the entire query. ^If idx is out of range
10514
+ ** for. Query elements are numbered starting from zero. A value of -1 may
10515
+ ** retrieve statistics for the entire query. ^If idx is out of range
10445
10516
  ** - less than -1 or greater than or equal to the total number of query
10446
10517
  ** elements used to implement the statement - a non-zero value is returned and
10447
10518
  ** the variable that pOut points to is unchanged.
@@ -10484,7 +10555,7 @@ SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*);
10484
10555
  ** METHOD: sqlite3
10485
10556
  **
10486
10557
  ** ^If a write-transaction is open on [database connection] D when the
10487
- ** [sqlite3_db_cacheflush(D)] interface invoked, any dirty
10558
+ ** [sqlite3_db_cacheflush(D)] interface is invoked, any dirty
10488
10559
  ** pages in the pager-cache that are not currently in use are written out
10489
10560
  ** to disk. A dirty page may be in use if a database cursor created by an
10490
10561
  ** active SQL statement is reading from it, or if it is page 1 of a database
@@ -10598,8 +10669,8 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*);
10598
10669
  ** triggers; and so forth.
10599
10670
  **
10600
10671
  ** When the [sqlite3_blob_write()] API is used to update a blob column,
10601
- ** the pre-update hook is invoked with SQLITE_DELETE. This is because the
10602
- ** in this case the new values are not available. In this case, when a
10672
+ ** the pre-update hook is invoked with SQLITE_DELETE, because
10673
+ ** the new values are not yet available. In this case, when a
10603
10674
  ** callback made with op==SQLITE_DELETE is actually a write using the
10604
10675
  ** sqlite3_blob_write() API, the [sqlite3_preupdate_blobwrite()] returns
10605
10676
  ** the index of the column being written. In other cases, where the
@@ -10852,7 +10923,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const c
10852
10923
  ** For an ordinary on-disk database file, the serialization is just a
10853
10924
  ** copy of the disk file. For an in-memory database or a "TEMP" database,
10854
10925
  ** the serialization is the same sequence of bytes which would be written
10855
- ** to disk if that database where backed up to disk.
10926
+ ** to disk if that database were backed up to disk.
10856
10927
  **
10857
10928
  ** The usual case is that sqlite3_serialize() copies the serialization of
10858
10929
  ** the database into memory obtained from [sqlite3_malloc64()] and returns
@@ -10861,7 +10932,7 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const c
10861
10932
  ** contains the SQLITE_SERIALIZE_NOCOPY bit, then no memory allocations
10862
10933
  ** are made, and the sqlite3_serialize() function will return a pointer
10863
10934
  ** to the contiguous memory representation of the database that SQLite
10864
- ** is currently using for that database, or NULL if the no such contiguous
10935
+ ** is currently using for that database, or NULL if no such contiguous
10865
10936
  ** memory representation of the database exists. A contiguous memory
10866
10937
  ** representation of the database will usually only exist if there has
10867
10938
  ** been a prior call to [sqlite3_deserialize(D,S,...)] with the same
@@ -10932,7 +11003,7 @@ SQLITE_API unsigned char *sqlite3_serialize(
10932
11003
  ** database is currently in a read transaction or is involved in a backup
10933
11004
  ** operation.
10934
11005
  **
10935
- ** It is not possible to deserialized into the TEMP database. If the
11006
+ ** It is not possible to deserialize into the TEMP database. If the
10936
11007
  ** S argument to sqlite3_deserialize(D,S,P,N,M,F) is "temp" then the
10937
11008
  ** function returns SQLITE_ERROR.
10938
11009
  **
@@ -10954,7 +11025,7 @@ SQLITE_API int sqlite3_deserialize(
10954
11025
  sqlite3 *db, /* The database connection */
10955
11026
  const char *zSchema, /* Which DB to reopen with the deserialization */
10956
11027
  unsigned char *pData, /* The serialized database content */
10957
- sqlite3_int64 szDb, /* Number bytes in the deserialization */
11028
+ sqlite3_int64 szDb, /* Number of bytes in the deserialization */
10958
11029
  sqlite3_int64 szBuf, /* Total size of buffer pData[] */
10959
11030
  unsigned mFlags /* Zero or more SQLITE_DESERIALIZE_* flags */
10960
11031
  );
@@ -10962,7 +11033,7 @@ SQLITE_API int sqlite3_deserialize(
10962
11033
  /*
10963
11034
  ** CAPI3REF: Flags for sqlite3_deserialize()
10964
11035
  **
10965
- ** The following are allowed values for 6th argument (the F argument) to
11036
+ ** The following are allowed values for the 6th argument (the F argument) to
10966
11037
  ** the [sqlite3_deserialize(D,S,P,N,M,F)] interface.
10967
11038
  **
10968
11039
  ** The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization
@@ -11487,9 +11558,10 @@ SQLITE_API void sqlite3session_table_filter(
11487
11558
  ** is inserted while a session object is enabled, then later deleted while
11488
11559
  ** the same session object is disabled, no INSERT record will appear in the
11489
11560
  ** changeset, even though the delete took place while the session was disabled.
11490
- ** Or, if one field of a row is updated while a session is disabled, and
11491
- ** another field of the same row is updated while the session is enabled, the
11492
- ** resulting changeset will contain an UPDATE change that updates both fields.
11561
+ ** Or, if one field of a row is updated while a session is enabled, and
11562
+ ** then another field of the same row is updated while the session is disabled,
11563
+ ** the resulting changeset will contain an UPDATE change that updates both
11564
+ ** fields.
11493
11565
  */
11494
11566
  SQLITE_API int sqlite3session_changeset(
11495
11567
  sqlite3_session *pSession, /* Session object */
@@ -11561,8 +11633,9 @@ SQLITE_API sqlite3_int64 sqlite3session_changeset_size(sqlite3_session *pSession
11561
11633
  ** database zFrom the contents of the two compatible tables would be
11562
11634
  ** identical.
11563
11635
  **
11564
- ** It an error if database zFrom does not exist or does not contain the
11565
- ** required compatible table.
11636
+ ** Unless the call to this function is a no-op as described above, it is an
11637
+ ** error if database zFrom does not exist or does not contain the required
11638
+ ** compatible table.
11566
11639
  **
11567
11640
  ** If the operation is successful, SQLITE_OK is returned. Otherwise, an SQLite
11568
11641
  ** error code. In this case, if argument pzErrMsg is not NULL, *pzErrMsg
@@ -11697,7 +11770,7 @@ SQLITE_API int sqlite3changeset_start_v2(
11697
11770
  ** The following flags may passed via the 4th parameter to
11698
11771
  ** [sqlite3changeset_start_v2] and [sqlite3changeset_start_v2_strm]:
11699
11772
  **
11700
- ** <dt>SQLITE_CHANGESETAPPLY_INVERT <dd>
11773
+ ** <dt>SQLITE_CHANGESETSTART_INVERT <dd>
11701
11774
  ** Invert the changeset while iterating through it. This is equivalent to
11702
11775
  ** inverting a changeset using sqlite3changeset_invert() before applying it.
11703
11776
  ** It is an error to specify this flag with a patchset.
@@ -12012,19 +12085,6 @@ SQLITE_API int sqlite3changeset_concat(
12012
12085
  void **ppOut /* OUT: Buffer containing output changeset */
12013
12086
  );
12014
12087
 
12015
-
12016
- /*
12017
- ** CAPI3REF: Upgrade the Schema of a Changeset/Patchset
12018
- */
12019
- SQLITE_API int sqlite3changeset_upgrade(
12020
- sqlite3 *db,
12021
- const char *zDb,
12022
- int nIn, const void *pIn, /* Input changeset */
12023
- int *pnOut, void **ppOut /* OUT: Inverse of input */
12024
- );
12025
-
12026
-
12027
-
12028
12088
  /*
12029
12089
  ** CAPI3REF: Changegroup Handle
12030
12090
  **