amalgalite 0.11.0-x86-mingw32 → 0.12.0-x86-mingw32
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.
- data/HISTORY +17 -3
- data/ext/amalgalite/amalgalite3.c +10 -0
- data/ext/amalgalite/amalgalite3_database.c +4 -3
- data/ext/amalgalite/amalgalite3_requires_bootstrap.c +1 -1
- data/ext/amalgalite/amalgalite3_statement.c +15 -5
- data/ext/amalgalite/sqlite3.c +7247 -3690
- data/ext/amalgalite/sqlite3.h +226 -108
- data/gemspec.rb +2 -0
- data/lib/amalgalite/1.8/amalgalite3.so +0 -0
- data/lib/amalgalite/1.9/amalgalite3.so +0 -0
- data/lib/amalgalite/database.rb +4 -0
- data/lib/amalgalite/schema.rb +11 -4
- data/lib/amalgalite/statement.rb +1 -1
- data/lib/amalgalite/version.rb +1 -1
- data/spec/database_spec.rb +27 -5
- data/spec/function_spec.rb +6 -3
- data/spec/schema_spec.rb +32 -15
- data/spec/sqlite3/status_spec.rb +5 -1
- data/spec/sqlite3/version_spec.rb +5 -5
- data/tasks/extension.rake +53 -0
- metadata +121 -82
- data/examples/gems.db +0 -0
data/gemspec.rb
CHANGED
@@ -26,6 +26,8 @@ Amalgalite::GEM_SPEC = Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_development_dependency("configuration", "~> 0.0.5")
|
27
27
|
spec.add_development_dependency("rspec", "~> 1.2.2")
|
28
28
|
spec.add_development_dependency("rake-compiler", "~> 0.5.0")
|
29
|
+
spec.add_development_dependency('archive-tar-minitar', "~> 0.5.2")
|
30
|
+
spec.add_development_dependency('rcov', "~> 0.8.1.2.0")
|
29
31
|
|
30
32
|
if ext_conf = Configuration.for_if_exist?("extension") then
|
31
33
|
spec.extensions << ext_conf.configs
|
Binary file
|
Binary file
|
data/lib/amalgalite/database.rb
CHANGED
data/lib/amalgalite/schema.rb
CHANGED
@@ -17,6 +17,7 @@ module Amalgalite
|
|
17
17
|
|
18
18
|
attr_reader :catalog
|
19
19
|
attr_reader :schema
|
20
|
+
attr_reader :schema_version
|
20
21
|
attr_writer :dirty
|
21
22
|
attr_reader :db
|
22
23
|
|
@@ -27,21 +28,27 @@ module Amalgalite
|
|
27
28
|
@db = db
|
28
29
|
@catalog = catalog
|
29
30
|
@schema = schema
|
31
|
+
@schema_version = nil
|
30
32
|
@tables = {}
|
31
33
|
@views = {}
|
32
|
-
@dirty = true
|
33
34
|
load_schema!
|
34
35
|
end
|
35
36
|
|
36
|
-
def dirty?()
|
37
|
-
|
37
|
+
def dirty?()
|
38
|
+
return (@schema_version != self.current_version)
|
39
|
+
end
|
40
|
+
|
41
|
+
def current_version
|
42
|
+
@db.first_value_from("PRAGMA schema_version")
|
43
|
+
end
|
38
44
|
|
39
45
|
#
|
40
46
|
# load the schema from the database
|
41
47
|
def load_schema!
|
42
48
|
load_tables
|
43
49
|
load_views
|
44
|
-
@
|
50
|
+
@schema_version = self.current_version
|
51
|
+
nil
|
45
52
|
end
|
46
53
|
|
47
54
|
##
|
data/lib/amalgalite/statement.rb
CHANGED
@@ -322,7 +322,7 @@ module Amalgalite
|
|
322
322
|
# column. The origin column is the original database.table.column the value
|
323
323
|
# comes from.
|
324
324
|
#
|
325
|
-
# The full meta information from
|
325
|
+
# The full meta information from the origin column is also obtained for help
|
326
326
|
# in doing type conversion.
|
327
327
|
#
|
328
328
|
# As iteration over the row meta informatio happens, record if the special
|
data/lib/amalgalite/version.rb
CHANGED
data/spec/database_spec.rb
CHANGED
@@ -352,26 +352,48 @@ describe Amalgalite::Database do
|
|
352
352
|
|
353
353
|
it "can interrupt another thread that is also running in this database" do
|
354
354
|
executions = 0
|
355
|
+
control_queue = Queue.new
|
355
356
|
other = Thread.new( @iso_db ) do |db|
|
357
|
+
looping_sent = false
|
358
|
+
c = 0
|
356
359
|
loop do
|
357
360
|
begin
|
358
|
-
db.execute("select count(
|
361
|
+
db.execute("select count(*) from subcountry")
|
359
362
|
executions += 1
|
363
|
+
if not looping_sent then
|
364
|
+
control_queue.enq :looping
|
365
|
+
looping_sent = true
|
366
|
+
end
|
367
|
+
if c > 20000 then
|
368
|
+
break
|
369
|
+
end
|
370
|
+
c += 1
|
360
371
|
rescue => e
|
361
|
-
Thread.current[:
|
372
|
+
Thread.current[:loop_count] = c
|
373
|
+
Thread.current[:had_error] = e.dup
|
374
|
+
control_queue.enq :boom
|
362
375
|
break
|
363
376
|
end
|
364
377
|
end
|
365
378
|
end
|
366
379
|
|
367
380
|
rudeness = Thread.new( @iso_db ) do |db|
|
368
|
-
|
369
|
-
|
381
|
+
sent = control_queue.deq
|
382
|
+
count = 0
|
383
|
+
loop do
|
384
|
+
@iso_db.interrupt!
|
385
|
+
break unless control_queue.empty?
|
386
|
+
if count > 20000 then
|
387
|
+
break
|
388
|
+
end
|
389
|
+
count += 1
|
390
|
+
end
|
370
391
|
end
|
371
392
|
|
372
393
|
rudeness.join
|
394
|
+
other.join
|
373
395
|
|
374
|
-
|
396
|
+
#$stdout.puts " looped #{other[:loop_count]} times"
|
375
397
|
other[:had_error].should be_an_instance_of( ::Amalgalite::SQLite3::Error )
|
376
398
|
other[:had_error].message.should =~ / interrupted/
|
377
399
|
end
|
data/spec/function_spec.rb
CHANGED
@@ -2,6 +2,8 @@ require 'rubygems'
|
|
2
2
|
require 'spec'
|
3
3
|
|
4
4
|
$: << File.expand_path(File.join(File.dirname(__FILE__),"..","lib"))
|
5
|
+
|
6
|
+
require File.expand_path(File.join(File.dirname(__FILE__),"spec_helper.rb"))
|
5
7
|
require 'amalgalite'
|
6
8
|
require 'amalgalite/database'
|
7
9
|
|
@@ -67,10 +69,11 @@ describe "Scalar SQL Functions" do
|
|
67
69
|
|
68
70
|
it "does not allow outrageous arity" do
|
69
71
|
class FunctionTest3 < ::Amalgalite::Function
|
70
|
-
def
|
71
|
-
|
72
|
+
def initialize
|
73
|
+
super( 'ftest3', 128)
|
74
|
+
end
|
72
75
|
end
|
73
|
-
lambda { @iso_db.
|
76
|
+
lambda { @iso_db.define_function("ftest3", FunctionTest3.new) }.should raise_error( ::Amalgalite::SQLite3::Error, /SQLITE_ERROR .* Library used incorrectly/ )
|
74
77
|
end
|
75
78
|
|
76
79
|
it "raises an error if the function returns a complex Ruby object" do
|
data/spec/schema_spec.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'spec'
|
3
3
|
|
4
|
+
require File.expand_path( File.join( File.dirname(__FILE__), 'spec_helper'))
|
4
5
|
$: << File.expand_path(File.join(File.dirname(__FILE__),"..","lib"))
|
5
6
|
require 'amalgalite'
|
6
7
|
require 'amalgalite/schema'
|
@@ -24,28 +25,21 @@ describe Amalgalite::Schema do
|
|
24
25
|
schema.tables.size.should eql(2)
|
25
26
|
end
|
26
27
|
|
27
|
-
it "lazily loads new table schema" do
|
28
|
-
@iso_db.schema.tables.size.should eql(2)
|
29
|
-
sql = "CREATE TABLE t1 ( a, b, c )"
|
30
|
-
@iso_db.execute( sql )
|
31
|
-
@iso_db.schema.tables.size.should eql(2)
|
32
|
-
@iso_db.schema.dirty!
|
33
|
-
@iso_db.schema.tables['t1'].column_names.should eql(%w[ a b c ])
|
34
|
-
@iso_db.schema.tables.size.should eql(3)
|
35
|
-
end
|
36
|
-
|
37
28
|
it "loads the views in the database" do
|
29
|
+
s = @iso_db.schema
|
38
30
|
sql = "CREATE VIEW v1 AS SELECT c.name, c.two_letter, s.name, s.subdivision FROM country AS c JOIN subcountry AS s ON c.two_letter = s.country"
|
39
31
|
@iso_db.execute( sql )
|
32
|
+
s.dirty?.should == true
|
40
33
|
@iso_db.schema.load_views
|
41
34
|
@iso_db.schema.views.size.should eql(1)
|
42
35
|
@iso_db.schema.views["v1"].sql.should eql(sql)
|
43
36
|
end
|
44
37
|
|
45
38
|
it "removes quotes from around default values in columns" do
|
39
|
+
s = @iso_db.schema
|
46
40
|
sql = "CREATE TABLE t1( d1 default 't' )"
|
47
41
|
@iso_db.execute( sql )
|
48
|
-
|
42
|
+
s.dirty?.should == true
|
49
43
|
tt = @iso_db.schema.tables['t1']
|
50
44
|
tt.columns['d1'].default_value.should == "t"
|
51
45
|
end
|
@@ -73,16 +67,16 @@ describe Amalgalite::Schema do
|
|
73
67
|
end
|
74
68
|
|
75
69
|
it "knows the primary key of a table even without an explicity unique index" do
|
70
|
+
s = @iso_db.schema
|
76
71
|
sql = "CREATE TABLE u( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , other text )"
|
77
72
|
@iso_db.execute( sql )
|
78
|
-
|
73
|
+
s.dirty?.should == true
|
79
74
|
ut = @iso_db.schema.tables['u']
|
80
75
|
ut.primary_key.should == [ ut.columns['id'] ]
|
81
76
|
end
|
82
77
|
|
83
78
|
it "knows the primary key of a temporary table" do
|
84
79
|
@iso_db.execute "CREATE TEMPORARY TABLE tt( a, b INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, c )"
|
85
|
-
@iso_db.schema.dirty!
|
86
80
|
tt = @iso_db.schema.load_table( 'tt' )
|
87
81
|
tt.primary_key.should == [ tt.columns['b'] ]
|
88
82
|
|
@@ -90,8 +84,9 @@ describe Amalgalite::Schema do
|
|
90
84
|
|
91
85
|
it "knows what the primary key of a table is when it is a multiple column primary key" do
|
92
86
|
sql = "CREATE TABLE m ( id1, id2, PRIMARY KEY (id2, id1) )"
|
87
|
+
s = @iso_db.schema
|
93
88
|
@iso_db.execute( sql )
|
94
|
-
|
89
|
+
s.dirty?.should == true
|
95
90
|
mt = @iso_db.schema.tables['m']
|
96
91
|
mt.primary_key.should == [ mt.columns['id2'], mt.columns['id1'] ]
|
97
92
|
end
|
@@ -110,9 +105,31 @@ describe Amalgalite::Schema do
|
|
110
105
|
subc.indexes['subcountry_country'].columns.first.should eql(@iso_db.schema.tables['subcountry'].columns['country'])
|
111
106
|
end
|
112
107
|
|
108
|
+
it "knows the schema is dirty when a table is created" do
|
109
|
+
s = @iso_db.schema
|
110
|
+
c = s.tables['country']
|
111
|
+
s.dirty?.should == false
|
112
|
+
@iso_db.execute( "create table x1( a, b )" )
|
113
|
+
s.dirty?.should == true
|
114
|
+
end
|
115
|
+
|
116
|
+
it "knows the schema is dirty when a table is dropped" do
|
117
|
+
s = @iso_db.schema
|
118
|
+
c = s.tables['country']
|
119
|
+
@iso_db.execute( "create table x1( a, b )" )
|
120
|
+
s.dirty?.should == true
|
121
|
+
|
122
|
+
@iso_db.schema.load_schema!
|
123
|
+
s = @iso_db.schema
|
124
|
+
|
125
|
+
s.dirty?.should == false
|
126
|
+
@iso_db.execute("drop table x1")
|
127
|
+
s.dirty?.should == true
|
128
|
+
end
|
129
|
+
|
130
|
+
|
113
131
|
it "can load the schema of a temporary table" do
|
114
132
|
@iso_db.execute "CREATE TEMPORARY TABLE tt( a, b, c )"
|
115
|
-
@iso_db.schema.dirty!
|
116
133
|
@iso_db.schema.tables['tt'].should be_nil
|
117
134
|
@iso_db.schema.load_table('tt').should_not be_nil
|
118
135
|
@iso_db.schema.tables['tt'].should be_temporary
|
data/spec/sqlite3/status_spec.rb
CHANGED
@@ -10,8 +10,12 @@ describe "Amalgalite::SQLite3::Status" do
|
|
10
10
|
|
11
11
|
it "can reset the highwater value" do
|
12
12
|
before = Amalgalite::SQLite3.status.memory_used.highwater
|
13
|
+
before.should > 0
|
14
|
+
|
15
|
+
current = Amalgalite::SQLite3.status.memory_used.current
|
13
16
|
Amalgalite::SQLite3.status.memory_used.reset!
|
14
|
-
Amalgalite::SQLite3.status.memory_used.highwater.should
|
17
|
+
Amalgalite::SQLite3.status.memory_used.highwater.should == current
|
18
|
+
|
15
19
|
after = Amalgalite::SQLite3.status.memory_used.highwater
|
16
20
|
after.should_not eql(before)
|
17
21
|
end
|
@@ -7,16 +7,16 @@ describe "Amalgalite::SQLite3::Version" do
|
|
7
7
|
Amalgalite::SQLite3::Version.to_s.should =~ /\d\.\d\.\d/
|
8
8
|
Amalgalite::SQLite3::Version.runtime_version.should =~ /\d\.\d\.\d/
|
9
9
|
|
10
|
-
Amalgalite::SQLite3::Version.to_i.should eql(
|
11
|
-
Amalgalite::SQLite3::Version.runtime_version_number.should eql(
|
10
|
+
Amalgalite::SQLite3::Version.to_i.should eql(3006019)
|
11
|
+
Amalgalite::SQLite3::Version.runtime_version_number.should eql(3006019)
|
12
12
|
|
13
13
|
Amalgalite::SQLite3::Version::MAJOR.should eql(3)
|
14
14
|
Amalgalite::SQLite3::Version::MINOR.should eql(6)
|
15
|
-
Amalgalite::SQLite3::Version::RELEASE.should eql(
|
15
|
+
Amalgalite::SQLite3::Version::RELEASE.should eql(19)
|
16
16
|
Amalgalite::SQLite3::Version.to_a.should have(3).items
|
17
17
|
|
18
|
-
Amalgalite::SQLite3::Version.compiled_version.should == "3.6.
|
19
|
-
Amalgalite::SQLite3::Version.compiled_version_number.should ==
|
18
|
+
Amalgalite::SQLite3::Version.compiled_version.should == "3.6.19"
|
19
|
+
Amalgalite::SQLite3::Version.compiled_version_number.should == 3006019
|
20
20
|
Amalgalite::SQLite3::Version.compiled_matches_runtime?.should == true
|
21
21
|
end
|
22
22
|
end
|
data/tasks/extension.rake
CHANGED
@@ -91,6 +91,59 @@ if ext_config = Configuration.for_if_exist?('extension') then
|
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
+
desc "List the sqlite api calls that are not implemented"
|
95
|
+
task :todo do
|
96
|
+
|
97
|
+
not_implementing = %w[
|
98
|
+
sqlite3_exec
|
99
|
+
sqlite3_open
|
100
|
+
sqlite3_os_end
|
101
|
+
sqlite3_os_init
|
102
|
+
sqlite3_malloc
|
103
|
+
sqlite3_realloc
|
104
|
+
sqlite3_free
|
105
|
+
sqlite3_get_table
|
106
|
+
sqlite3_free_table
|
107
|
+
sqlite3_key
|
108
|
+
sqlite3_rekey
|
109
|
+
sqlite3_next_stmt
|
110
|
+
sqlite3_release_memory
|
111
|
+
sqlite3_sleep
|
112
|
+
sqlite3_snprintf
|
113
|
+
sqlite3_vmprintf
|
114
|
+
sqlite3_strnicmp
|
115
|
+
sqlite3_test_control
|
116
|
+
sqlite3_unlock_notify
|
117
|
+
sqlite3_vfs_find
|
118
|
+
sqlite3_vfs_register
|
119
|
+
sqlite3_vfs_unregister
|
120
|
+
]
|
121
|
+
|
122
|
+
sqlite_h = File.join( *%w[ ext amalgalite sqlite3.h ] )
|
123
|
+
api_todo = {}
|
124
|
+
IO.readlines( sqlite_h ).each do |line|
|
125
|
+
if line =~ /\ASQLITE_API/ then
|
126
|
+
if line !~ /SQLITE_DEPRECATED/ and line !~ /SQLITE_EXPERIMENTAL/ then
|
127
|
+
if md = line.match( /(sqlite3_[^(\s]+)\(/ ) then
|
128
|
+
next if not_implementing.include?(md.captures[0])
|
129
|
+
api_todo[md.captures[0]] = true
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
Dir.glob("ext/amalgalite/amalgalite*.c").each do |am_file|
|
136
|
+
IO.readlines( am_file ).each do |am_line|
|
137
|
+
if md = am_line.match( /(sqlite3_[^(\s]+)\(/ ) then
|
138
|
+
api_todo.delete( md.captures[0] )
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
puts "#{api_todo.keys.size} functions to still implement"
|
144
|
+
puts api_todo.keys.sort.join("\n")
|
145
|
+
end
|
146
|
+
|
94
147
|
task :clobber do
|
95
148
|
ext_config.configs.each do |extension|
|
96
149
|
path = Pathname.new(extension)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amalgalite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- Jeremy Hinegardner
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-10-30 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -62,7 +62,45 @@ dependencies:
|
|
62
62
|
- !ruby/object:Gem::Version
|
63
63
|
version: 0.5.0
|
64
64
|
version:
|
65
|
-
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
name: archive-tar-minitar
|
67
|
+
type: :development
|
68
|
+
version_requirement:
|
69
|
+
version_requirements: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - ~>
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: 0.5.2
|
74
|
+
version:
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rcov
|
77
|
+
type: :development
|
78
|
+
version_requirement:
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ~>
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: 0.8.1.2.0
|
84
|
+
version:
|
85
|
+
description: |-
|
86
|
+
Amalgalite embeds the SQLite database engine in a ruby extension. There is no
|
87
|
+
need to install SQLite separately.
|
88
|
+
|
89
|
+
Look in the examples/ directory to see
|
90
|
+
|
91
|
+
* general usage
|
92
|
+
* blob io
|
93
|
+
* schema information
|
94
|
+
* custom functions
|
95
|
+
* custom aggregates
|
96
|
+
* requiring ruby code from a database
|
97
|
+
|
98
|
+
Also Scroll through Amalgalite::Database for a quick example, and a general
|
99
|
+
overview of the API.
|
100
|
+
|
101
|
+
Amalgalite adds in the following additional non-default SQLite extension(s):
|
102
|
+
|
103
|
+
* {R*Tree index extension}[http://sqlite.org/rtree.html]
|
66
104
|
email: jeremy@hinegardner.org
|
67
105
|
executables:
|
68
106
|
- amalgalite-pack
|
@@ -72,142 +110,143 @@ extra_rdoc_files:
|
|
72
110
|
- README
|
73
111
|
- HISTORY
|
74
112
|
- LICENSE
|
75
|
-
- lib/amalgalite/
|
113
|
+
- lib/amalgalite/taps/io.rb
|
114
|
+
- lib/amalgalite/taps/console.rb
|
115
|
+
- lib/amalgalite/statement.rb
|
76
116
|
- lib/amalgalite/blob.rb
|
77
|
-
- lib/amalgalite/boolean.rb
|
78
|
-
- lib/amalgalite/busy_timeout.rb
|
79
117
|
- lib/amalgalite/column.rb
|
80
|
-
- lib/amalgalite/
|
81
|
-
- lib/amalgalite/database.rb
|
82
|
-
- lib/amalgalite/function.rb
|
83
|
-
- lib/amalgalite/index.rb
|
84
|
-
- lib/amalgalite/packer.rb
|
85
|
-
- lib/amalgalite/paths.rb
|
86
|
-
- lib/amalgalite/profile_tap.rb
|
87
|
-
- lib/amalgalite/progress_handler.rb
|
88
|
-
- lib/amalgalite/requires.rb
|
89
|
-
- lib/amalgalite/schema.rb
|
118
|
+
- lib/amalgalite/trace_tap.rb
|
90
119
|
- lib/amalgalite/sqlite3/constants.rb
|
91
120
|
- lib/amalgalite/sqlite3/database/function.rb
|
92
121
|
- lib/amalgalite/sqlite3/database/status.rb
|
93
|
-
- lib/amalgalite/sqlite3/status.rb
|
94
122
|
- lib/amalgalite/sqlite3/version.rb
|
95
|
-
- lib/amalgalite/sqlite3.rb
|
96
|
-
- lib/amalgalite/statement.rb
|
123
|
+
- lib/amalgalite/sqlite3/status.rb
|
97
124
|
- lib/amalgalite/table.rb
|
98
|
-
- lib/amalgalite/taps/console.rb
|
99
|
-
- lib/amalgalite/taps/io.rb
|
100
|
-
- lib/amalgalite/taps.rb
|
101
|
-
- lib/amalgalite/trace_tap.rb
|
102
|
-
- lib/amalgalite/type_map.rb
|
103
125
|
- lib/amalgalite/type_maps/default_map.rb
|
104
|
-
- lib/amalgalite/type_maps/storage_map.rb
|
105
126
|
- lib/amalgalite/type_maps/text_map.rb
|
127
|
+
- lib/amalgalite/type_maps/storage_map.rb
|
128
|
+
- lib/amalgalite/type_map.rb
|
129
|
+
- lib/amalgalite/profile_tap.rb
|
130
|
+
- lib/amalgalite/requires.rb
|
131
|
+
- lib/amalgalite/boolean.rb
|
132
|
+
- lib/amalgalite/aggregate.rb
|
133
|
+
- lib/amalgalite/index.rb
|
134
|
+
- lib/amalgalite/sqlite3.rb
|
135
|
+
- lib/amalgalite/taps.rb
|
136
|
+
- lib/amalgalite/paths.rb
|
106
137
|
- lib/amalgalite/version.rb
|
138
|
+
- lib/amalgalite/schema.rb
|
139
|
+
- lib/amalgalite/busy_timeout.rb
|
107
140
|
- lib/amalgalite/view.rb
|
141
|
+
- lib/amalgalite/function.rb
|
142
|
+
- lib/amalgalite/database.rb
|
143
|
+
- lib/amalgalite/progress_handler.rb
|
144
|
+
- lib/amalgalite/packer.rb
|
145
|
+
- lib/amalgalite/core_ext/kernel/require.rb
|
108
146
|
- lib/amalgalite.rb
|
109
147
|
files:
|
110
148
|
- bin/amalgalite-pack
|
111
149
|
- ext/amalgalite/amalgalite3.c
|
112
|
-
- ext/amalgalite/
|
113
|
-
- ext/amalgalite/amalgalite3_constants.c
|
150
|
+
- ext/amalgalite/amalgalite3_statement.c
|
114
151
|
- ext/amalgalite/amalgalite3_database.c
|
115
152
|
- ext/amalgalite/amalgalite3_requires_bootstrap.c
|
116
|
-
- ext/amalgalite/amalgalite3_statement.c
|
117
153
|
- ext/amalgalite/sqlite3.c
|
118
|
-
- ext/amalgalite/
|
154
|
+
- ext/amalgalite/amalgalite3_constants.c
|
155
|
+
- ext/amalgalite/amalgalite3_blob.c
|
119
156
|
- ext/amalgalite/sqlite3.h
|
157
|
+
- ext/amalgalite/amalgalite3.h
|
120
158
|
- ext/amalgalite/sqlite3_options.h
|
121
159
|
- ext/amalgalite/sqlite3ext.h
|
122
|
-
- ext/amalgalite/extconf.rb
|
123
160
|
- ext/amalgalite/gen_constants.rb
|
124
|
-
-
|
161
|
+
- ext/amalgalite/extconf.rb
|
125
162
|
- examples/blob.rb
|
126
|
-
- examples/bootstrap.rb
|
127
|
-
- examples/define_aggregate.rb
|
128
|
-
- examples/define_function.rb
|
129
163
|
- examples/gem-db.rb
|
130
|
-
- examples/
|
131
|
-
- examples/
|
164
|
+
- examples/define_function.rb
|
165
|
+
- examples/define_aggregate.rb
|
132
166
|
- examples/requires.rb
|
167
|
+
- examples/bootstrap.rb
|
133
168
|
- examples/schema-info.rb
|
134
|
-
-
|
169
|
+
- examples/require_me.rb
|
170
|
+
- examples/a.rb
|
171
|
+
- lib/amalgalite/taps/io.rb
|
172
|
+
- lib/amalgalite/taps/console.rb
|
173
|
+
- lib/amalgalite/statement.rb
|
135
174
|
- lib/amalgalite/blob.rb
|
136
|
-
- lib/amalgalite/boolean.rb
|
137
|
-
- lib/amalgalite/busy_timeout.rb
|
138
175
|
- lib/amalgalite/column.rb
|
139
|
-
- lib/amalgalite/
|
140
|
-
- lib/amalgalite/database.rb
|
141
|
-
- lib/amalgalite/function.rb
|
142
|
-
- lib/amalgalite/index.rb
|
143
|
-
- lib/amalgalite/packer.rb
|
144
|
-
- lib/amalgalite/paths.rb
|
145
|
-
- lib/amalgalite/profile_tap.rb
|
146
|
-
- lib/amalgalite/progress_handler.rb
|
147
|
-
- lib/amalgalite/requires.rb
|
148
|
-
- lib/amalgalite/schema.rb
|
176
|
+
- lib/amalgalite/trace_tap.rb
|
149
177
|
- lib/amalgalite/sqlite3/constants.rb
|
150
178
|
- lib/amalgalite/sqlite3/database/function.rb
|
151
179
|
- lib/amalgalite/sqlite3/database/status.rb
|
152
|
-
- lib/amalgalite/sqlite3/status.rb
|
153
180
|
- lib/amalgalite/sqlite3/version.rb
|
154
|
-
- lib/amalgalite/sqlite3.rb
|
155
|
-
- lib/amalgalite/statement.rb
|
181
|
+
- lib/amalgalite/sqlite3/status.rb
|
156
182
|
- lib/amalgalite/table.rb
|
157
|
-
- lib/amalgalite/taps/console.rb
|
158
|
-
- lib/amalgalite/taps/io.rb
|
159
|
-
- lib/amalgalite/taps.rb
|
160
|
-
- lib/amalgalite/trace_tap.rb
|
161
|
-
- lib/amalgalite/type_map.rb
|
162
183
|
- lib/amalgalite/type_maps/default_map.rb
|
163
|
-
- lib/amalgalite/type_maps/storage_map.rb
|
164
184
|
- lib/amalgalite/type_maps/text_map.rb
|
185
|
+
- lib/amalgalite/type_maps/storage_map.rb
|
186
|
+
- lib/amalgalite/type_map.rb
|
187
|
+
- lib/amalgalite/profile_tap.rb
|
188
|
+
- lib/amalgalite/requires.rb
|
189
|
+
- lib/amalgalite/boolean.rb
|
190
|
+
- lib/amalgalite/aggregate.rb
|
191
|
+
- lib/amalgalite/index.rb
|
192
|
+
- lib/amalgalite/sqlite3.rb
|
193
|
+
- lib/amalgalite/taps.rb
|
194
|
+
- lib/amalgalite/paths.rb
|
165
195
|
- lib/amalgalite/version.rb
|
196
|
+
- lib/amalgalite/schema.rb
|
197
|
+
- lib/amalgalite/busy_timeout.rb
|
166
198
|
- lib/amalgalite/view.rb
|
199
|
+
- lib/amalgalite/function.rb
|
200
|
+
- lib/amalgalite/database.rb
|
201
|
+
- lib/amalgalite/progress_handler.rb
|
202
|
+
- lib/amalgalite/packer.rb
|
203
|
+
- lib/amalgalite/core_ext/kernel/require.rb
|
167
204
|
- lib/amalgalite.rb
|
168
|
-
- spec/
|
205
|
+
- spec/requires_spec.rb
|
206
|
+
- spec/sqlite3_spec.rb
|
169
207
|
- spec/amalgalite_spec.rb
|
170
|
-
- spec/blob_spec.rb
|
171
|
-
- spec/boolean_spec.rb
|
172
208
|
- spec/busy_handler.rb
|
173
|
-
- spec/
|
209
|
+
- spec/blob_spec.rb
|
174
210
|
- spec/default_map_spec.rb
|
175
|
-
- spec/function_spec.rb
|
176
|
-
- spec/integeration_spec.rb
|
177
|
-
- spec/packer_spec.rb
|
178
|
-
- spec/paths_spec.rb
|
179
|
-
- spec/progress_handler_spec.rb
|
180
|
-
- spec/requires_spec.rb
|
181
|
-
- spec/rtree_spec.rb
|
182
|
-
- spec/schema_spec.rb
|
183
|
-
- spec/spec_helper.rb
|
184
211
|
- spec/sqlite3/constants_spec.rb
|
185
212
|
- spec/sqlite3/database_status_spec.rb
|
186
|
-
- spec/sqlite3/status_spec.rb
|
187
213
|
- spec/sqlite3/version_spec.rb
|
188
|
-
- spec/
|
189
|
-
- spec/statement_spec.rb
|
214
|
+
- spec/sqlite3/status_spec.rb
|
190
215
|
- spec/storage_map_spec.rb
|
191
|
-
- spec/
|
192
|
-
- spec/
|
216
|
+
- spec/spec_helper.rb
|
217
|
+
- spec/statement_spec.rb
|
193
218
|
- spec/type_map_spec.rb
|
219
|
+
- spec/boolean_spec.rb
|
220
|
+
- spec/text_map_spec.rb
|
221
|
+
- spec/integeration_spec.rb
|
222
|
+
- spec/rtree_spec.rb
|
223
|
+
- spec/paths_spec.rb
|
224
|
+
- spec/aggregate_spec.rb
|
194
225
|
- spec/version_spec.rb
|
226
|
+
- spec/progress_handler_spec.rb
|
227
|
+
- spec/tap_spec.rb
|
228
|
+
- spec/schema_spec.rb
|
229
|
+
- spec/function_spec.rb
|
230
|
+
- spec/packer_spec.rb
|
231
|
+
- spec/database_spec.rb
|
195
232
|
- README
|
196
233
|
- HISTORY
|
197
234
|
- LICENSE
|
198
|
-
- tasks/announce.rake
|
199
235
|
- tasks/distribution.rake
|
200
|
-
- tasks/documentation.rake
|
201
|
-
- tasks/extension.rake
|
202
236
|
- tasks/rspec.rake
|
237
|
+
- tasks/documentation.rake
|
203
238
|
- tasks/rubyforge.rake
|
204
|
-
- tasks/
|
239
|
+
- tasks/announce.rake
|
240
|
+
- tasks/extension.rake
|
205
241
|
- tasks/utils.rb
|
242
|
+
- tasks/config.rb
|
206
243
|
- gemspec.rb
|
207
244
|
- lib/amalgalite/1.8/amalgalite3.so
|
208
245
|
- lib/amalgalite/1.9/amalgalite3.so
|
209
246
|
has_rdoc: true
|
210
247
|
homepage: http://copiousfreetime.rubyforge.org/amalgalite/
|
248
|
+
licenses: []
|
249
|
+
|
211
250
|
post_install_message:
|
212
251
|
rdoc_options:
|
213
252
|
- --main
|
@@ -229,9 +268,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
229
268
|
requirements: []
|
230
269
|
|
231
270
|
rubyforge_project: copiousfreetime
|
232
|
-
rubygems_version: 1.3.
|
271
|
+
rubygems_version: 1.3.5
|
233
272
|
signing_key:
|
234
|
-
specification_version:
|
273
|
+
specification_version: 3
|
235
274
|
summary: Amalgalite embeds the SQLite database engine in a ruby extension
|
236
275
|
test_files: []
|
237
276
|
|