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.
- checksums.yaml +4 -4
- data/.github/workflows/test-bundle.yml +6 -4
- data/.github/workflows/test.yml +5 -3
- data/CHANGELOG.md +4 -0
- data/README.md +1 -1
- data/ext/sqlite3/sqlite3.c +5108 -3367
- data/ext/sqlite3/sqlite3.h +74 -23
- data/lib/extralite/version.rb +1 -1
- data/test/extensions/{text.dylib → arm64/text.dylib} +0 -0
- data/test/extensions/arm64/text.so +0 -0
- data/test/extensions/x86/text.dylib +0 -0
- data/test/extensions/x86/text.so +0 -0
- data/test/test_database.rb +8 -4
- metadata +6 -4
- data/test/extensions/text.so +0 -0
data/ext/sqlite3/sqlite3.h
CHANGED
@@ -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.
|
150
|
-
#define SQLITE_VERSION_NUMBER
|
151
|
-
#define SQLITE_SOURCE_ID "2024-
|
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
|
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
|
-
|
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
|
-
**
|
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
|
9940
|
-
** are adjacent.)^ ^(Furthermore,
|
9941
|
-
**
|
9942
|
-
**
|
9943
|
-
**
|
9944
|
-
**
|
9945
|
-
**
|
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
|
-
**
|
9951
|
-
**
|
9952
|
-
**
|
9953
|
-
**
|
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
|
12806
|
-
** registered
|
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
|
data/lib/extralite/version.rb
CHANGED
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/test/test_database.rb
CHANGED
@@ -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 /
|
283
|
-
@db.load_extension(File.join(__dir__, 'extensions/text.
|
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.
|
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-
|
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
|
data/test/extensions/text.so
DELETED
Binary file
|