extralite-bundle 2.8.1 → 2.8.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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