amalgalite 1.9.4 → 2.0.0
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.
- checksums.yaml +4 -4
- data/HISTORY.md +19 -2
- data/Manifest.txt +4 -54
- data/README.md +1 -1
- data/TODO.md +4 -3
- data/amalgalite.gemspec +39 -0
- data/ext/amalgalite/c/amalgalite.c +0 -1
- data/ext/amalgalite/c/amalgalite_constants.c +155 -10
- data/ext/amalgalite/c/extconf.rb +5 -2
- data/ext/amalgalite/c/gen_constants.rb +32 -1
- data/ext/amalgalite/c/sqlite3.c +19308 -9112
- data/ext/amalgalite/c/sqlite3.h +909 -296
- data/ext/amalgalite/c/sqlite3ext.h +11 -0
- data/lib/amalgalite/column.rb +20 -2
- data/lib/amalgalite/result/row.rb +83 -0
- data/lib/amalgalite/result.rb +15 -0
- data/lib/amalgalite/statement.rb +32 -24
- data/lib/amalgalite/type_maps/default_map.rb +48 -56
- data/lib/amalgalite/version.rb +1 -1
- metadata +32 -119
- data/Rakefile +0 -27
- data/bin/amalgalite-pack +0 -147
- data/examples/a.rb +0 -9
- data/examples/blob.rb +0 -88
- data/examples/bootstrap.rb +0 -36
- data/examples/define_aggregate.rb +0 -75
- data/examples/define_function.rb +0 -104
- data/examples/fts5.rb +0 -152
- data/examples/gem-db.rb +0 -94
- data/examples/require_me.rb +0 -11
- data/examples/requires.rb +0 -42
- data/examples/schema-info.rb +0 -34
- data/ext/amalgalite/c/amalgalite_requires_bootstrap.c +0 -283
- data/lib/amalgalite/core_ext/kernel/require.rb +0 -21
- data/lib/amalgalite/packer.rb +0 -231
- data/lib/amalgalite/requires.rb +0 -151
- data/spec/aggregate_spec.rb +0 -158
- data/spec/amalgalite_spec.rb +0 -4
- data/spec/blob_spec.rb +0 -78
- data/spec/boolean_spec.rb +0 -24
- data/spec/busy_handler.rb +0 -157
- data/spec/data/iso-3166-country.txt +0 -242
- data/spec/data/iso-3166-schema.sql +0 -22
- data/spec/data/iso-3166-subcountry.txt +0 -3995
- data/spec/data/make-iso-db.sh +0 -12
- data/spec/database_spec.rb +0 -505
- data/spec/default_map_spec.rb +0 -92
- data/spec/function_spec.rb +0 -78
- data/spec/integeration_spec.rb +0 -97
- data/spec/iso_3166_database.rb +0 -58
- data/spec/json_spec.rb +0 -24
- data/spec/packer_spec.rb +0 -60
- data/spec/paths_spec.rb +0 -28
- data/spec/progress_handler_spec.rb +0 -91
- data/spec/requires_spec.rb +0 -54
- data/spec/rtree_spec.rb +0 -66
- data/spec/schema_spec.rb +0 -131
- data/spec/spec_helper.rb +0 -48
- data/spec/sqlite3/constants_spec.rb +0 -108
- data/spec/sqlite3/database_status_spec.rb +0 -36
- data/spec/sqlite3/status_spec.rb +0 -22
- data/spec/sqlite3/version_spec.rb +0 -28
- data/spec/sqlite3_spec.rb +0 -53
- data/spec/statement_spec.rb +0 -168
- data/spec/storage_map_spec.rb +0 -38
- data/spec/tap_spec.rb +0 -57
- data/spec/text_map_spec.rb +0 -20
- data/spec/type_map_spec.rb +0 -14
- data/spec/version_spec.rb +0 -8
- data/tasks/custom.rake +0 -101
- data/tasks/default.rake +0 -257
- data/tasks/extension.rake +0 -28
- data/tasks/this.rb +0 -208
- /data/{LICENSE → LICENSE.txt} +0 -0
data/ext/amalgalite/c/extconf.rb
CHANGED
|
@@ -7,19 +7,22 @@ $ruby = ARGV.shift if ARGV[0]
|
|
|
7
7
|
|
|
8
8
|
# make available table and column meta data api
|
|
9
9
|
$CFLAGS += " -DSQLITE_ENABLE_BYTECODE_VTAB=1"
|
|
10
|
+
$CFLAGS += " -DSQLITE_ENABLE_CARRAY=1"
|
|
10
11
|
$CFLAGS += " -DSQLITE_ENABLE_COLUMN_METADATA=1"
|
|
11
|
-
$CFLAGS += " -DSQLITE_ENABLE_DBSTAT_VTAB=1"
|
|
12
12
|
$CFLAGS += " -DSQLITE_ENABLE_DBPAGE_VTAB=1"
|
|
13
|
+
$CFLAGS += " -DSQLITE_ENABLE_DBSTAT_VTAB=1"
|
|
13
14
|
$CFLAGS += " -DSQLITE_ENABLE_EXPLAIN_COMMENTS=1"
|
|
14
15
|
$CFLAGS += " -DSQLITE_ENABLE_FTS3=1"
|
|
15
16
|
$CFLAGS += " -DSQLITE_ENABLE_FTS3_PARENTHESIS=1"
|
|
16
17
|
$CFLAGS += " -DSQLITE_ENABLE_FTS4=1"
|
|
17
18
|
$CFLAGS += " -DSQLITE_ENABLE_FTS5=1"
|
|
18
19
|
$CFLAGS += " -DSQLITE_ENABLE_GEOPOLY=1"
|
|
20
|
+
$CFLAGS += " -DSQLITE_ENABLE_HIDDEN_COLUMNS=1"
|
|
19
21
|
$CFLAGS += " -DSQLITE_ENABLE_MATH_FUNCTIONS=1"
|
|
20
22
|
$CFLAGS += " -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1"
|
|
21
23
|
$CFLAGS += " -DSQLITE_ENABLE_NORMALIZE=1"
|
|
22
24
|
$CFLAGS += " -DSQLITE_ENABLE_NULL_TRIM=1"
|
|
25
|
+
$CFLAGS += " -DSQLITE_ENABLE_PERCENTILE=1"
|
|
23
26
|
$CFLAGS += " -DSQLITE_ENABLE_PREUPDATE_HOOK=1"
|
|
24
27
|
$CFLAGS ++ " -DSQLITE_EANBLE_QPSG=1"
|
|
25
28
|
$CFLAGS += " -DSQLITE_ENABLE_RBU=1"
|
|
@@ -80,5 +83,5 @@ ignoreable_warnings.each do |warning|
|
|
|
80
83
|
$CFLAGS += " -Wno-#{warning}"
|
|
81
84
|
end
|
|
82
85
|
|
|
83
|
-
subdir = RUBY_VERSION.sub(/\.\d
|
|
86
|
+
subdir = RUBY_VERSION.sub(/\.\d+\z/,'')
|
|
84
87
|
create_makefile("amalgalite/#{subdir}/amalgalite")
|
|
@@ -41,6 +41,9 @@ result_codes = %w[
|
|
|
41
41
|
SQLITE_ERROR_MISSING_COLLSEQ
|
|
42
42
|
SQLITE_ERROR_RETRY
|
|
43
43
|
SQLITE_ERROR_SNAPSHOT
|
|
44
|
+
SQLITE_ERROR_RESERVESIZE
|
|
45
|
+
SQLITE_ERROR_KEY
|
|
46
|
+
SQLITE_ERROR_UNABLE
|
|
44
47
|
SQLITE_IOERR_READ
|
|
45
48
|
SQLITE_IOERR_SHORT_READ
|
|
46
49
|
SQLITE_IOERR_WRITE
|
|
@@ -74,6 +77,9 @@ result_codes = %w[
|
|
|
74
77
|
SQLITE_IOERR_ROLLBACK_ATOMIC
|
|
75
78
|
SQLITE_IOERR_DATA
|
|
76
79
|
SQLITE_IOERR_CORRUPTFS
|
|
80
|
+
SQLITE_IOERR_IN_PAGE
|
|
81
|
+
SQLITE_IOERR_BADKEY
|
|
82
|
+
SQLITE_IOERR_CODEC
|
|
77
83
|
SQLITE_LOCKED_SHAREDCACHE
|
|
78
84
|
SQLITE_LOCKED_VTAB
|
|
79
85
|
SQLITE_BUSY_RECOVERY
|
|
@@ -106,8 +112,10 @@ result_codes = %w[
|
|
|
106
112
|
SQLITE_CONSTRAINT_VTAB
|
|
107
113
|
SQLITE_CONSTRAINT_ROWID
|
|
108
114
|
SQLITE_CONSTRAINT_PINNED
|
|
115
|
+
SQLITE_CONSTRAINT_DATATYPE
|
|
109
116
|
SQLITE_NOTICE_RECOVER_WAL
|
|
110
117
|
SQLITE_NOTICE_RECOVER_ROLLBACK
|
|
118
|
+
SQLITE_NOTICE_RBU
|
|
111
119
|
SQLITE_WARNING_AUTOINDEX
|
|
112
120
|
SQLITE_AUTH_USER
|
|
113
121
|
SQLITE_OK_LOAD_PERMANENTLY
|
|
@@ -115,7 +123,14 @@ result_codes = %w[
|
|
|
115
123
|
]
|
|
116
124
|
|
|
117
125
|
deprecated_codes = %w[ SQLITE_GET_LOCKPROXYFILE SQLITE_SET_LOCKPROXYFILE SQLITE_LAST_ERRNO ]
|
|
118
|
-
version_codes = %w[
|
|
126
|
+
version_codes = %w[
|
|
127
|
+
SQLITE_VERSION
|
|
128
|
+
SQLITE_VERSION_NUMBER
|
|
129
|
+
SQLITE_SOURCE_ID
|
|
130
|
+
SQLITE_SCM_BRANCH
|
|
131
|
+
SQLITE_SCM_TAGS
|
|
132
|
+
SQLITE_SCM_DATETIME
|
|
133
|
+
]
|
|
119
134
|
rtree_codes = %w[ NOT_WITHIN PARTLY_WITHIN FULLY_WITHIN ]
|
|
120
135
|
|
|
121
136
|
authorizer_codes = %w[
|
|
@@ -168,6 +183,9 @@ text_encoding_codes = %w[
|
|
|
168
183
|
SQLITE_DIRECTONLY
|
|
169
184
|
SQLITE_SUBTYPE
|
|
170
185
|
SQLITE_INNOCUOUS
|
|
186
|
+
SQLITE_RESULT_SUBTYPE
|
|
187
|
+
SQLITE_SELFORDER1
|
|
188
|
+
|
|
171
189
|
]
|
|
172
190
|
|
|
173
191
|
data_type_codes = %w[
|
|
@@ -194,15 +212,27 @@ ignore_codes = [
|
|
|
194
212
|
"SQLITE_VTAB_CONSTRAINT_SUPPORT",
|
|
195
213
|
"SQLITE_VTAB_INNOCUOUS",
|
|
196
214
|
"SQLITE_VTAB_DIRECTONLY",
|
|
215
|
+
"SQLITE_VTAB_USES_ALL_SCHEMAS",
|
|
197
216
|
|
|
198
217
|
# sqlite destructor callback codes
|
|
199
218
|
"SQLITE_STATIC",
|
|
200
219
|
"SQLITE_TRANSIENT",
|
|
220
|
+
|
|
221
|
+
# versions of SQLITE_CARRAY that are not relevant per sqlite source code
|
|
222
|
+
"CARRAY_INT32",
|
|
223
|
+
"CARRAY_INT64",
|
|
224
|
+
"CARRAY_DOUBLE",
|
|
225
|
+
"CARRAY_TEXT",
|
|
226
|
+
"CARRAY_BLOB",
|
|
227
|
+
|
|
228
|
+
# Skipping the SELFORDER items for now
|
|
229
|
+
"SQLITE_SELFORDER1"
|
|
201
230
|
]
|
|
202
231
|
|
|
203
232
|
# oddball name
|
|
204
233
|
module_name_mapping = {
|
|
205
234
|
|
|
235
|
+
"CARRAY" => "CArray",
|
|
206
236
|
"DBCONFIG" => "DBConfig",
|
|
207
237
|
"DBSTATUS" => "DBStatus",
|
|
208
238
|
"IOCAP" => "IOCap",
|
|
@@ -212,6 +242,7 @@ module_name_mapping = {
|
|
|
212
242
|
"CHANGESETAPPLY" => "ChangesetApply",
|
|
213
243
|
"CHANGESETSTART" => "ChangesetStart",
|
|
214
244
|
"TXN" => "Transaction",
|
|
245
|
+
"SETLK" => "SetLock",
|
|
215
246
|
}
|
|
216
247
|
|
|
217
248
|
defines = []
|