amalgalite 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -491,6 +491,10 @@ module Amalgalite
491
491
  #
492
492
  def schema( dbname = "main" )
493
493
  @schema ||= ::Amalgalite::Schema.new( self, dbname )
494
+ if @schema and @schema.dirty?
495
+ reload_schema!( dbname )
496
+ end
497
+ return @schema
494
498
  end
495
499
 
496
500
  ##
@@ -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?() @dirty; end
37
- def dirty!() @dirty = true; end
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
- @dirty = false
50
+ @schema_version = self.current_version
51
+ nil
45
52
  end
46
53
 
47
54
  ##
@@ -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 teh origin column is also obtained for help
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
@@ -8,7 +8,7 @@ module Amalgalite
8
8
  module Version
9
9
 
10
10
  MAJOR = 0
11
- MINOR = 11
11
+ MINOR = 12
12
12
  BUILD = 0
13
13
 
14
14
  #
@@ -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(id) from country")
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[:had_error] = e
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
- sleep 0.05
369
- @iso_db.interrupt!
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
- executions.should > 10
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
@@ -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 name() "ftest3"; end
71
- def arity() 128; end
72
+ def initialize
73
+ super( 'ftest3', 128)
74
+ end
72
75
  end
73
- lambda { @iso_db.define_aggregate("ftest3", FunctionTest3) }.should raise_error( ::Amalgalite::SQLite3::Error, /SQLITE_ERROR .* Library used incorrectly/ )
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
- @iso_db.schema.dirty!
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
- @iso_db.schema.dirty!
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
- @iso_db.schema.dirty!
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
@@ -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 > 0
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(3006017)
11
- Amalgalite::SQLite3::Version.runtime_version_number.should eql(3006017)
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(17)
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.17"
19
- Amalgalite::SQLite3::Version.compiled_version_number.should == 3006017
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.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
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-08-23 00:00:00 -06:00
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
- description: "Amalgalite embeds the SQLite database engine in a ruby extension. There is no need to install SQLite separately. Look in the examples/ directory to see * general usage * blob io * schema information * custom functions * custom aggregates * requiring ruby code from a database Also Scroll through Amalgalite::Database for a quick example, and a general overview of the API. Amalgalite adds in the following additional non-default SQLite extension(s): * {R*Tree index extension}[http://sqlite.org/rtree.html]"
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,140 +110,141 @@ extra_rdoc_files:
72
110
  - README
73
111
  - HISTORY
74
112
  - LICENSE
75
- - lib/amalgalite/aggregate.rb
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/core_ext/kernel/require.rb
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/amalgalite3_blob.c
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/amalgalite3.h
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
- - examples/a.rb
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/gems.db
131
- - examples/require_me.rb
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
- - lib/amalgalite/aggregate.rb
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/core_ext/kernel/require.rb
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/aggregate_spec.rb
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/database_spec.rb
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/sqlite3_spec.rb
189
- - spec/statement_spec.rb
214
+ - spec/sqlite3/status_spec.rb
190
215
  - spec/storage_map_spec.rb
191
- - spec/tap_spec.rb
192
- - spec/text_map_spec.rb
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/config.rb
239
+ - tasks/announce.rake
240
+ - tasks/extension.rake
205
241
  - tasks/utils.rb
242
+ - tasks/config.rb
206
243
  - gemspec.rb
207
244
  has_rdoc: true
208
245
  homepage: http://copiousfreetime.rubyforge.org/amalgalite/
246
+ licenses: []
247
+
209
248
  post_install_message:
210
249
  rdoc_options:
211
250
  - --main
@@ -227,9 +266,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
227
266
  requirements: []
228
267
 
229
268
  rubyforge_project: copiousfreetime
230
- rubygems_version: 1.3.1
269
+ rubygems_version: 1.3.5
231
270
  signing_key:
232
- specification_version: 2
271
+ specification_version: 3
233
272
  summary: Amalgalite embeds the SQLite database engine in a ruby extension
234
273
  test_files: []
235
274