sqlite_web_vfs 1.0.1 → 1.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 285cd03d979c57d50cbe483330d345f16eaa4eefcdc7e3672c7d4d2717dc6dfd
4
- data.tar.gz: 4111ca88772ffa0e35f6807fcadbd3905a058d9bffb8352c59a12c7feba01d30
3
+ metadata.gz: e0ad71b163b31f7195f81ad6354356d128a38421634c0e8fc5b6c2c754f23be5
4
+ data.tar.gz: ce951faa3d7d9990201dbd47cb301a92dc7e244d1b0f78f98da28689229bd5c0
5
5
  SHA512:
6
- metadata.gz: 4b465bd199fd173480be78be31c866cfeedc8ec4bbb88225f56c73f51a70bc98fa14e2360fc5224f2151e633e6b58a2b01dc93e7a5c112b0b15079bcd6caf7aa
7
- data.tar.gz: 1731b2b7c91d9606eafdf8ccdfcf959ef2dd08ddcf6e12dd0a0c24e4d1d70b32b1fe5eada7067f8ba5d6a73a04c7bf754928abf08275615a68c0736563b77a0c
6
+ metadata.gz: 014526d76ff0b1013097bef139a77940b6ce9ab581dcc6537a5d0323a9f951b04153ccaf849db05e59cbc2a99f3c71e6fe14ae4de04b0943a2dcba86607dc66e
7
+ data.tar.gz: d09713e13a2932dcc27cb71041f194b2a119205098bc755eefd5a4e041f9302962fe559d7b47d426973a159f92189c476884bcfcc7d68fd9157b3110c1a9fded
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sqlite_web_vfs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Denis Sablic
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-02-17 00:00:00.000000000 Z
11
12
  dependencies: []
12
13
  description: Builds and loads the HTTP VFS from mlin/sqlite_web_vfs for SQLite, enabling
13
14
  remote DB access over HTTP(S) via Range requests.
@@ -21,12 +22,9 @@ files:
21
22
  - README.md
22
23
  - examples/sqlite3_example.rb
23
24
  - examples/sqlite3_ffi_example.rb
24
- - ext/sqlite_web_vfs/Makefile
25
- - ext/sqlite_web_vfs/_wrap_web_vfs.o
26
25
  - ext/sqlite_web_vfs/extconf.rb
27
26
  - ext/sqlite_web_vfs/readerwriterqueue.h
28
27
  - ext/sqlite_web_vfs/shim.c
29
- - ext/sqlite_web_vfs/shim.o
30
28
  - ext/sqlite_web_vfs/upstream/HTTP.h
31
29
  - ext/sqlite_web_vfs/upstream/SQLiteVFS.h
32
30
  - ext/sqlite_web_vfs/upstream/ThreadPool.h
@@ -37,7 +35,6 @@ files:
37
35
  - ext/sqlite_web_vfs/upstream/web_vfs.h
38
36
  - lib/sqlite_web_vfs.rb
39
37
  - lib/sqlite_web_vfs/loader.rb
40
- - spec/integration/sq_lite_web_vfs_integration_spec.rb
41
38
  - spec/integration/sqlite_web_vfs_integration_spec.rb
42
39
  - spec/spec_helper.rb
43
40
  homepage: https://github.com/dsablic/sqlite_web_vfs
@@ -47,6 +44,7 @@ metadata:
47
44
  rubygems_mfa_required: 'true'
48
45
  source_code_uri: https://github.com/dsablic/sqlite_web_vfs
49
46
  bug_tracker_uri: https://github.com/dsablic/sqlite_web_vfs/issues
47
+ post_install_message:
50
48
  rdoc_options: []
51
49
  require_paths:
52
50
  - lib
@@ -61,7 +59,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
61
59
  - !ruby/object:Gem::Version
62
60
  version: '0'
63
61
  requirements: []
64
- rubygems_version: 4.0.6
62
+ rubygems_version: 3.5.22
63
+ signing_key:
65
64
  specification_version: 4
66
65
  summary: Loadable SQLite HTTP VFS (Ruby loader)
67
66
  test_files: []
@@ -1,267 +0,0 @@
1
-
2
- SHELL = /bin/sh
3
-
4
- # V=0 quiet, V=1 verbose. other values don't work.
5
- V = 0
6
- Q1 = $(V:1=)
7
- Q = $(Q1:0=@)
8
- ECHO1 = $(V:1=@ :)
9
- ECHO = $(ECHO1:0=@ echo)
10
- NULLCMD = :
11
-
12
- #### Start of system configuration section. ####
13
-
14
- srcdir = .
15
- topdir = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.5.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0
16
- hdrdir = $(topdir)
17
- arch_hdrdir = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.5.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/universal-darwin24
18
- PATH_SEPARATOR = :
19
- VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
20
- prefix = $(DESTDIR)/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr
21
- rubysitearchprefix = $(rubylibprefix)/$(sitearch)
22
- rubyarchprefix = $(rubylibprefix)/$(arch)
23
- rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
24
- exec_prefix = $(prefix)
25
- vendorarchhdrdir = $(vendorhdrdir)/$(sitearch)
26
- sitearchhdrdir = $(sitehdrdir)/$(sitearch)
27
- rubyarchhdrdir = $(rubyhdrdir)/$(arch)
28
- vendorhdrdir = $(rubyhdrdir)/vendor_ruby
29
- sitehdrdir = $(rubyhdrdir)/site_ruby
30
- rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
31
- vendorarchdir = $(vendorlibdir)/$(sitearch)
32
- vendorlibdir = $(vendordir)/$(ruby_version)
33
- vendordir = $(rubylibprefix)/vendor_ruby
34
- sitearchdir = $(sitelibdir)/$(sitearch)
35
- sitelibdir = $(sitedir)/$(ruby_version)
36
- sitedir = $(DESTDIR)/Library/Ruby/Site
37
- rubyarchdir = $(rubylibdir)/$(arch)
38
- rubylibdir = $(rubylibprefix)/$(ruby_version)
39
- sitearchincludedir = $(includedir)/$(sitearch)
40
- archincludedir = $(includedir)/$(arch)
41
- sitearchlibdir = $(libdir)/$(sitearch)
42
- archlibdir = $(libdir)/$(arch)
43
- ridir = $(datarootdir)/$(RI_BASE_NAME)
44
- mandir = $(DESTDIR)/usr/share/man
45
- localedir = $(datarootdir)/locale
46
- libdir = $(exec_prefix)/lib
47
- psdir = $(docdir)
48
- pdfdir = $(docdir)
49
- dvidir = $(docdir)
50
- htmldir = $(docdir)
51
- infodir = $(DESTDIR)/usr/share/info
52
- docdir = $(datarootdir)/doc/$(PACKAGE)
53
- oldincludedir = $(DESTDIR)/usr/include
54
- includedir = $(DESTDIR)/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.5.sdk$(prefix)/include
55
- runstatedir = $(localstatedir)/run
56
- localstatedir = $(prefix)/var
57
- sharedstatedir = $(prefix)/com
58
- sysconfdir = $(DESTDIR)/Library/Ruby/Site
59
- datadir = $(datarootdir)
60
- datarootdir = $(prefix)/share
61
- libexecdir = $(exec_prefix)/libexec
62
- sbindir = $(exec_prefix)/sbin
63
- bindir = $(exec_prefix)/bin
64
- archdir = $(rubyarchdir)
65
-
66
-
67
- CC_WRAPPER =
68
- CC = xcrun clang
69
- CXX = xcrun clang++
70
- LIBRUBY = $(LIBRUBY_SO)
71
- LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
72
- LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME)
73
- LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static -framework Security -framework Foundation $(MAINLIBS)
74
- empty =
75
- OUTFLAG = -o $(empty)
76
- COUTFLAG = -o $(empty)
77
- CSRCFLAG = $(empty)
78
-
79
- RUBY_EXTCONF_H =
80
- cflags = $(optflags) $(debugflags) $(warnflags)
81
- cxxflags = $(optflags) $(debugflags) $(warnflags)
82
- optflags =
83
- debugflags = -g
84
- warnflags =
85
- cppflags =
86
- CCDLFLAGS =
87
- CFLAGS = $(CCDLFLAGS) -g -Os -pipe -DHAVE_GCC_ATOMIC_BUILTINS -fno-typed-memory-operations -fno-typed-cxx-new-delete -DUSE_FFI_CLOSURE_ALLOC $(ARCH_FLAG)
88
- INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) -I/opt/homebrew/opt/sqlite/include
89
- DEFS =
90
- CPPFLAGS = -DHAVE_SQLITE3_H -DHAVE_CURL_CURL_H -I/Users/denis/Documents/labtiva/sqlite_web_vfs/ext/sqlite_web_vfs/upstream/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT $(DEFS) $(cppflags)
91
- CXXFLAGS = $(CCDLFLAGS) -g -Os -pipe $(ARCH_FLAG)
92
- ldflags = -L. -L/AppleInternal/Library/BuildRoots/4~B5FAugAunRW9OK7YcFNXDBTTVy6DXTYoxzE3ORQ/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.6.Internal.sdk/usr/local/lib -L/opt/homebrew/opt/sqlite/lib
93
- dldflags = $(ARCH_FLAG) -undefined dynamic_lookup
94
- ARCH_FLAG =
95
- DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
96
- LDSHARED = $(CC) -dynamic -bundle
97
- LDSHAREDXX = $(CXX) -dynamic -bundle
98
- AR = libtool -static
99
- EXEEXT =
100
-
101
- RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
102
- RUBY_SO_NAME = ruby.2.6
103
- RUBYW_INSTALL_NAME =
104
- RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
105
- RUBYW_BASE_NAME = rubyw
106
- RUBY_BASE_NAME = ruby
107
-
108
- arch = universal-darwin24
109
- sitearch = $(arch)
110
- ruby_version = 2.6.0
111
- ruby = $(bindir)/$(RUBY_BASE_NAME)
112
- RUBY = $(ruby)
113
- ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h
114
-
115
- RM = rm -f
116
- RM_RF = $(RUBY) -run -e rm -- -rf
117
- RMDIRS = rmdir -p
118
- MAKEDIRS = mkdir -p
119
- INSTALL = /usr/bin/install -c
120
- INSTALL_PROG = $(INSTALL) -m 0755
121
- INSTALL_DATA = $(INSTALL) -m 644
122
- COPY = cp
123
- TOUCH = exit >
124
-
125
- #### End of system configuration section. ####
126
-
127
- preload =
128
- libpath = . $(libdir) /Users/denis/Documents/labtiva/sqlite_web_vfs/ext/sqlite_web_vfs/upstream/lib
129
- LIBPATH = -L. -L$(libdir) -L/Users/denis/Documents/labtiva/sqlite_web_vfs/ext/sqlite_web_vfs/upstream/lib
130
- DEFFILE =
131
-
132
- CLEANFILES = mkmf.log
133
- DISTCLEANFILES =
134
- DISTCLEANDIRS =
135
-
136
- extout =
137
- extout_prefix =
138
- target_prefix = /sqlite_web_vfs
139
- LOCAL_LIBS =
140
- LIBS = $(LIBRUBYARG_SHARED) -lcurl -lsqlite3 -lsqlite3
141
- ORIG_SRCS = _wrap_web_vfs.cc shim.c
142
- SRCS = $(ORIG_SRCS)
143
- OBJS = _wrap_web_vfs.o shim.o
144
- HDRS = $(srcdir)/readerwriterqueue.h
145
- LOCAL_HDRS =
146
- TARGET = sqlite_web_vfs
147
- TARGET_NAME = sqlite_web_vfs
148
- TARGET_ENTRY = Init_$(TARGET_NAME)
149
- DLLIB = $(TARGET).bundle
150
- EXTSTATIC =
151
- STATIC_LIB =
152
-
153
- TIMESTAMP_DIR = .
154
- BINDIR = $(bindir)
155
- RUBYCOMMONDIR = $(sitedir)$(target_prefix)
156
- RUBYLIBDIR = $(sitelibdir)$(target_prefix)
157
- RUBYARCHDIR = $(sitearchdir)$(target_prefix)
158
- HDRDIR = $(rubyhdrdir)/ruby$(target_prefix)
159
- ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)
160
- TARGET_SO_DIR =
161
- TARGET_SO = $(TARGET_SO_DIR)$(DLLIB)
162
- CLEANLIBS = $(TARGET_SO)
163
- CLEANOBJS = *.o *.bak
164
-
165
- all: $(DLLIB)
166
- static: $(STATIC_LIB)
167
- .PHONY: all install static install-so install-rb
168
- .PHONY: clean clean-so clean-static clean-rb
169
-
170
- clean-static::
171
- clean-rb-default::
172
- clean-rb::
173
- clean-so::
174
- clean: clean-so clean-static clean-rb-default clean-rb
175
- -$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
176
-
177
- distclean-rb-default::
178
- distclean-rb::
179
- distclean-so::
180
- distclean-static::
181
- distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb
182
- -$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
183
- -$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
184
- -$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true
185
-
186
- realclean: distclean
187
- install: install-so install-rb
188
-
189
- install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.-.sqlite_web_vfs.time
190
- $(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
191
- clean-static::
192
- -$(Q)$(RM) $(STATIC_LIB)
193
- install-rb: pre-install-rb do-install-rb install-rb-default
194
- install-rb-default: pre-install-rb-default do-install-rb-default
195
- pre-install-rb: Makefile
196
- pre-install-rb-default: Makefile
197
- do-install-rb:
198
- do-install-rb-default:
199
- pre-install-rb-default:
200
- @$(NULLCMD)
201
- $(TIMESTAMP_DIR)/.sitearchdir.-.sqlite_web_vfs.time:
202
- $(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)
203
- $(Q) $(TOUCH) $@
204
-
205
- site-install: site-install-so site-install-rb
206
- site-install-so: install-so
207
- site-install-rb: install-rb
208
-
209
- .SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S
210
-
211
- .cc.o:
212
- $(ECHO) compiling $(<)
213
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
214
-
215
- .cc.S:
216
- $(ECHO) translating $(<)
217
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
218
-
219
- .mm.o:
220
- $(ECHO) compiling $(<)
221
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
222
-
223
- .mm.S:
224
- $(ECHO) translating $(<)
225
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
226
-
227
- .cxx.o:
228
- $(ECHO) compiling $(<)
229
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
230
-
231
- .cxx.S:
232
- $(ECHO) translating $(<)
233
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
234
-
235
- .cpp.o:
236
- $(ECHO) compiling $(<)
237
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
238
-
239
- .cpp.S:
240
- $(ECHO) translating $(<)
241
- $(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
242
-
243
- .c.o:
244
- $(ECHO) compiling $(<)
245
- $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
246
-
247
- .c.S:
248
- $(ECHO) translating $(<)
249
- $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
250
-
251
- .m.o:
252
- $(ECHO) compiling $(<)
253
- $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
254
-
255
- .m.S:
256
- $(ECHO) translating $(<)
257
- $(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
258
-
259
- $(TARGET_SO): $(OBJS) Makefile
260
- $(ECHO) linking shared-object sqlite_web_vfs/$(DLLIB)
261
- -$(Q)$(RM) $(@)
262
- $(Q) $(LDSHAREDXX) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
263
- $(Q) $(POSTLINK)
264
-
265
-
266
-
267
- $(OBJS): $(HDRS) $(ruby_headers)
Binary file
Binary file
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'uri'
4
- require_relative '../spec_helper'
5
- require 'sqlite_web_vfs'
6
-
7
- RSpec.describe SQLiteWebVFS do
8
- let(:chinook_url) { 'https://github.com/lerocha/chinook-database/raw/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite' }
9
- let(:encoded_url) { URI.encode_www_form_component(chinook_url) }
10
- let(:web_uri) { "file:/__web__?vfs=web&mode=ro&immutable=1&web_url=#{encoded_url}" }
11
-
12
- it 'loads and queries remote DB via sqlite3 gem' do
13
- begin
14
- require 'sqlite3'
15
- rescue LoadError
16
- skip 'sqlite3 gem not available'
17
- end
18
- db = SQLite3::Database.new(':memory:')
19
- SQLiteWebVFS::Loader.load(db)
20
- db.execute('ATTACH DATABASE ? AS remote', [web_uri])
21
- count = db.get_first_value('SELECT COUNT(*) FROM remote.Album')
22
- expect(count).to be_a(Integer)
23
- ensure
24
- db&.close
25
- end
26
-
27
- it 'loads and queries remote DB via sqlite3-ffi gem' do
28
- begin
29
- begin
30
- require 'sqlite3-ffi'
31
- rescue LoadError
32
- require 'sqlite3/ffi'
33
- end
34
- rescue LoadError
35
- skip 'sqlite3-ffi gem not available'
36
- end
37
- db = SQLite3::Database.new(':memory:')
38
- SQLiteWebVFS::Loader.load(db)
39
- db.execute('ATTACH DATABASE ? AS remote', [web_uri])
40
- count = db.execute('SELECT COUNT(*) FROM remote.Album').first.first
41
- expect(count).to be_a(Integer)
42
- ensure
43
- db&.close
44
- end
45
- end