extralite-bundle 2.8.1 → 2.8.2

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.
@@ -146,9 +146,9 @@ extern "C" {
146
146
  ** [sqlite3_libversion_number()], [sqlite3_sourceid()],
147
147
  ** [sqlite_version()] and [sqlite_source_id()].
148
148
  */
149
- #define SQLITE_VERSION "3.45.3"
150
- #define SQLITE_VERSION_NUMBER 3045003
151
- #define SQLITE_SOURCE_ID "2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355"
149
+ #define SQLITE_VERSION "3.46.0"
150
+ #define SQLITE_VERSION_NUMBER 3046000
151
+ #define SQLITE_SOURCE_ID "2024-05-23 13:25:27 96c92aba00c8375bc32fafcdf12429c58bd8aabfcadab6683e35bbb9cdebf19e"
152
152
 
153
153
  /*
154
154
  ** CAPI3REF: Run-Time Library Version Numbers
@@ -764,11 +764,11 @@ struct sqlite3_file {
764
764
  ** </ul>
765
765
  ** xLock() upgrades the database file lock. In other words, xLock() moves the
766
766
  ** database file lock in the direction NONE toward EXCLUSIVE. The argument to
767
- ** xLock() is always on of SHARED, RESERVED, PENDING, or EXCLUSIVE, never
767
+ ** xLock() is always one of SHARED, RESERVED, PENDING, or EXCLUSIVE, never
768
768
  ** SQLITE_LOCK_NONE. If the database file lock is already at or above the
769
769
  ** requested lock, then the call to xLock() is a no-op.
770
770
  ** xUnlock() downgrades the database file lock to either SHARED or NONE.
771
- * If the lock is already at or below the requested lock state, then the call
771
+ ** If the lock is already at or below the requested lock state, then the call
772
772
  ** to xUnlock() is a no-op.
773
773
  ** The xCheckReservedLock() method checks whether any database connection,
774
774
  ** either in this process or in some other process, is holding a RESERVED,
@@ -3305,8 +3305,8 @@ SQLITE_API int sqlite3_set_authorizer(
3305
3305
  #define SQLITE_RECURSIVE 33 /* NULL NULL */
3306
3306
 
3307
3307
  /*
3308
- ** CAPI3REF: Tracing And Profiling Functions
3309
- ** METHOD: sqlite3
3308
+ ** CAPI3REF: Deprecated Tracing And Profiling Functions
3309
+ ** DEPRECATED
3310
3310
  **
3311
3311
  ** These routines are deprecated. Use the [sqlite3_trace_v2()] interface
3312
3312
  ** instead of the routines described here.
@@ -6887,6 +6887,12 @@ SQLITE_API int sqlite3_autovacuum_pages(
6887
6887
  ** The exceptions defined in this paragraph might change in a future
6888
6888
  ** release of SQLite.
6889
6889
  **
6890
+ ** Whether the update hook is invoked before or after the
6891
+ ** corresponding change is currently unspecified and may differ
6892
+ ** depending on the type of change. Do not rely on the order of the
6893
+ ** hook call with regards to the final result of the operation which
6894
+ ** triggers the hook.
6895
+ **
6890
6896
  ** The update hook implementation must not do anything that will modify
6891
6897
  ** the database connection that invoked the update hook. Any actions
6892
6898
  ** to modify the database connection must be deferred until after the
@@ -8357,7 +8363,7 @@ SQLITE_API int sqlite3_test_control(int op, ...);
8357
8363
  ** The sqlite3_keyword_count() interface returns the number of distinct
8358
8364
  ** keywords understood by SQLite.
8359
8365
  **
8360
- ** The sqlite3_keyword_name(N,Z,L) interface finds the N-th keyword and
8366
+ ** The sqlite3_keyword_name(N,Z,L) interface finds the 0-based N-th keyword and
8361
8367
  ** makes *Z point to that keyword expressed as UTF8 and writes the number
8362
8368
  ** of bytes in the keyword into *L. The string that *Z points to is not
8363
8369
  ** zero-terminated. The sqlite3_keyword_name(N,Z,L) routine returns
@@ -9936,24 +9942,45 @@ SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info*,int);
9936
9942
  ** <li value="2"><p>
9937
9943
  ** ^(If the sqlite3_vtab_distinct() interface returns 2, that means
9938
9944
  ** that the query planner does not need the rows returned in any particular
9939
- ** order, as long as rows with the same values in all "aOrderBy" columns
9940
- ** are adjacent.)^ ^(Furthermore, only a single row for each particular
9941
- ** combination of values in the columns identified by the "aOrderBy" field
9942
- ** needs to be returned.)^ ^It is always ok for two or more rows with the same
9943
- ** values in all "aOrderBy" columns to be returned, as long as all such rows
9944
- ** are adjacent. ^The virtual table may, if it chooses, omit extra rows
9945
- ** that have the same value for all columns identified by "aOrderBy".
9946
- ** ^However omitting the extra rows is optional.
9945
+ ** order, as long as rows with the same values in all columns identified
9946
+ ** by "aOrderBy" are adjacent.)^ ^(Furthermore, when two or more rows
9947
+ ** contain the same values for all columns identified by "colUsed", all but
9948
+ ** one such row may optionally be omitted from the result.)^
9949
+ ** The virtual table is not required to omit rows that are duplicates
9950
+ ** over the "colUsed" columns, but if the virtual table can do that without
9951
+ ** too much extra effort, it could potentially help the query to run faster.
9947
9952
  ** This mode is used for a DISTINCT query.
9948
9953
  ** <li value="3"><p>
9949
- ** ^(If the sqlite3_vtab_distinct() interface returns 3, that means
9950
- ** that the query planner needs only distinct rows but it does need the
9951
- ** rows to be sorted.)^ ^The virtual table implementation is free to omit
9952
- ** rows that are identical in all aOrderBy columns, if it wants to, but
9953
- ** it is not required to omit any rows. This mode is used for queries
9954
+ ** ^(If the sqlite3_vtab_distinct() interface returns 3, that means the
9955
+ ** virtual table must return rows in the order defined by "aOrderBy" as
9956
+ ** if the sqlite3_vtab_distinct() interface had returned 0. However if
9957
+ ** two or more rows in the result have the same values for all columns
9958
+ ** identified by "colUsed", then all but one such row may optionally be
9959
+ ** omitted.)^ Like when the return value is 2, the virtual table
9960
+ ** is not required to omit rows that are duplicates over the "colUsed"
9961
+ ** columns, but if the virtual table can do that without
9962
+ ** too much extra effort, it could potentially help the query to run faster.
9963
+ ** This mode is used for queries
9954
9964
  ** that have both DISTINCT and ORDER BY clauses.
9955
9965
  ** </ol>
9956
9966
  **
9967
+ ** <p>The following table summarizes the conditions under which the
9968
+ ** virtual table is allowed to set the "orderByConsumed" flag based on
9969
+ ** the value returned by sqlite3_vtab_distinct(). This table is a
9970
+ ** restatement of the previous four paragraphs:
9971
+ **
9972
+ ** <table border=1 cellspacing=0 cellpadding=10 width="90%">
9973
+ ** <tr>
9974
+ ** <td valign="top">sqlite3_vtab_distinct() return value
9975
+ ** <td valign="top">Rows are returned in aOrderBy order
9976
+ ** <td valign="top">Rows with the same value in all aOrderBy columns are adjacent
9977
+ ** <td valign="top">Duplicates over all colUsed columns may be omitted
9978
+ ** <tr><td>0<td>yes<td>yes<td>no
9979
+ ** <tr><td>1<td>no<td>yes<td>no
9980
+ ** <tr><td>2<td>no<td>yes<td>yes
9981
+ ** <tr><td>3<td>yes<td>yes<td>yes
9982
+ ** </table>
9983
+ **
9957
9984
  ** ^For the purposes of comparing virtual table output values to see if the
9958
9985
  ** values are same value for sorting purposes, two NULL values are considered
9959
9986
  ** to be the same. In other words, the comparison operator is "IS"
@@ -11998,6 +12025,30 @@ SQLITE_API int sqlite3changegroup_schema(sqlite3_changegroup*, sqlite3*, const c
11998
12025
  */
11999
12026
  SQLITE_API int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData);
12000
12027
 
12028
+ /*
12029
+ ** CAPI3REF: Add A Single Change To A Changegroup
12030
+ ** METHOD: sqlite3_changegroup
12031
+ **
12032
+ ** This function adds the single change currently indicated by the iterator
12033
+ ** passed as the second argument to the changegroup object. The rules for
12034
+ ** adding the change are just as described for [sqlite3changegroup_add()].
12035
+ **
12036
+ ** If the change is successfully added to the changegroup, SQLITE_OK is
12037
+ ** returned. Otherwise, an SQLite error code is returned.
12038
+ **
12039
+ ** The iterator must point to a valid entry when this function is called.
12040
+ ** If it does not, SQLITE_ERROR is returned and no change is added to the
12041
+ ** changegroup. Additionally, the iterator must not have been opened with
12042
+ ** the SQLITE_CHANGESETAPPLY_INVERT flag. In this case SQLITE_ERROR is also
12043
+ ** returned.
12044
+ */
12045
+ SQLITE_API int sqlite3changegroup_add_change(
12046
+ sqlite3_changegroup*,
12047
+ sqlite3_changeset_iter*
12048
+ );
12049
+
12050
+
12051
+
12001
12052
  /*
12002
12053
  ** CAPI3REF: Obtain A Composite Changeset From A Changegroup
12003
12054
  ** METHOD: sqlite3_changegroup
@@ -12802,8 +12853,8 @@ struct Fts5PhraseIter {
12802
12853
  ** EXTENSION API FUNCTIONS
12803
12854
  **
12804
12855
  ** xUserData(pFts):
12805
- ** Return a copy of the context pointer the extension function was
12806
- ** registered with.
12856
+ ** Return a copy of the pUserData pointer passed to the xCreateFunction()
12857
+ ** API when the extension function was registered.
12807
12858
  **
12808
12859
  ** xColumnTotalSize(pFts, iCol, pnToken):
12809
12860
  ** If parameter iCol is less than zero, set output variable *pnToken
@@ -1,4 +1,4 @@
1
1
  module Extralite
2
2
  # Extralite version
3
- VERSION = '2.8.1'
3
+ VERSION = '2.8.2'
4
4
  end
Binary file
Binary file
Binary file
@@ -277,10 +277,14 @@ class DatabaseTest < Minitest::Test
277
277
 
278
278
  def test_extension_loading
279
279
  case RUBY_PLATFORM
280
- when /linux/
281
- @db.load_extension(File.join(__dir__, 'extensions/text.so'))
282
- when /darwin/
283
- @db.load_extension(File.join(__dir__, 'extensions/text.dylib'))
280
+ when /aarch64-linux/
281
+ @db.load_extension(File.join(__dir__, 'extensions/arm64/text.so'))
282
+ when /x86_64-linux/
283
+ @db.load_extension(File.join(__dir__, 'extensions/x86/text.so'))
284
+ when /arm64-darwin/
285
+ @db.load_extension(File.join(__dir__, 'extensions/arm64/text.dylib'))
286
+ when /x86_64-darwin/
287
+ @db.load_extension(File.join(__dir__, 'extensions/x86/text.dylib'))
284
288
  end
285
289
 
286
290
  r = @db.query_single_splat("select reverse('abcd')")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: extralite-bundle
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.1
4
+ version: 2.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sharon Rosner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-16 00:00:00.000000000 Z
11
+ date: 2024-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake-compiler
@@ -125,8 +125,10 @@ files:
125
125
  - lib/extralite.rb
126
126
  - lib/extralite/version.rb
127
127
  - lib/sequel/adapters/extralite.rb
128
- - test/extensions/text.dylib
129
- - test/extensions/text.so
128
+ - test/extensions/arm64/text.dylib
129
+ - test/extensions/arm64/text.so
130
+ - test/extensions/x86/text.dylib
131
+ - test/extensions/x86/text.so
130
132
  - test/fixtures/image.png
131
133
  - test/helper.rb
132
134
  - test/issue-38.rb
Binary file