amalgalite 0.2.4 → 0.4.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.
Files changed (49) hide show
  1. data/HISTORY +30 -5
  2. data/bin/amalgalite-pack-into-db +155 -0
  3. data/examples/a.rb +9 -0
  4. data/examples/blob.rb +105 -0
  5. data/examples/bootstrap.rb +36 -0
  6. data/examples/filestore.db +0 -0
  7. data/examples/gem-db.rb +94 -0
  8. data/examples/requires.rb +54 -0
  9. data/examples/schema-info.rb +34 -0
  10. data/ext/amalgalite3.c +40 -31
  11. data/ext/amalgalite3_blob.c +7 -12
  12. data/ext/amalgalite3_constants.c +41 -4
  13. data/ext/amalgalite3_database.c +55 -5
  14. data/ext/amalgalite3_requires_bootstrap.c +204 -0
  15. data/ext/amalgalite3_statement.c +3 -4
  16. data/ext/extconf.rb +2 -0
  17. data/ext/gen_constants.rb +15 -4
  18. data/ext/sqlite3.c +68652 -59046
  19. data/ext/sqlite3.h +2613 -1939
  20. data/ext/sqlite3ext.h +13 -3
  21. data/gemspec.rb +0 -1
  22. data/lib/amalgalite.rb +22 -18
  23. data/lib/amalgalite/core_ext/kernel/require.rb +2 -2
  24. data/lib/amalgalite/database.rb +15 -6
  25. data/lib/amalgalite/index.rb +19 -3
  26. data/lib/amalgalite/requires.rb +37 -0
  27. data/lib/amalgalite/schema.rb +26 -5
  28. data/lib/amalgalite/sqlite3.rb +2 -0
  29. data/lib/amalgalite/sqlite3/constants.rb +51 -14
  30. data/lib/amalgalite/sqlite3/database/status.rb +69 -0
  31. data/lib/amalgalite/sqlite3/status.rb +61 -0
  32. data/lib/amalgalite/statement.rb +1 -1
  33. data/lib/amalgalite/table.rb +5 -5
  34. data/lib/amalgalite/type_map.rb +3 -0
  35. data/lib/amalgalite/version.rb +2 -2
  36. data/spec/blob_spec.rb +1 -1
  37. data/spec/boolean_spec.rb +0 -3
  38. data/spec/database_spec.rb +11 -3
  39. data/spec/schema_spec.rb +14 -0
  40. data/spec/sqlite3/constants_spec.rb +44 -4
  41. data/spec/sqlite3/database_status_spec.rb +36 -0
  42. data/spec/sqlite3/status_spec.rb +18 -0
  43. data/spec/sqlite3/version_spec.rb +3 -3
  44. data/spec/sqlite3_spec.rb +0 -12
  45. data/tasks/announce.rake +2 -1
  46. data/tasks/config.rb +2 -1
  47. data/tasks/distribution.rake +7 -0
  48. data/tasks/rubyforge.rake +14 -6
  49. metadata +53 -36
@@ -0,0 +1,61 @@
1
+ require 'amalgalite3'
2
+ require 'amalgalite/sqlite3/constants'
3
+ module Amalgalite::SQLite3
4
+
5
+ #
6
+ # A Stat represents a single Status code and its current highwater mark.
7
+ #
8
+ # Some stats may not have a current or a highwater value, in those cases
9
+ # the associated _has_current?_ or _has_highwater?_ method returns false and the
10
+ # _current_ or _highwater_ method also returns +nil+.
11
+ #
12
+ class Stat
13
+ attr_reader :name
14
+ attr_reader :code
15
+
16
+ def initialize( name )
17
+ @name = name
18
+ @code = ::Amalgalite::SQLite3::Constants::Status.value_from_name( name )
19
+ @current = nil
20
+ @highwater = nil
21
+ end
22
+
23
+ def current
24
+ update!
25
+ return @current
26
+ end
27
+
28
+ def highwater
29
+ update!
30
+ return @highwater
31
+ end
32
+
33
+ #
34
+ # reset the given stat's highwater mark. This will also populate the
35
+ # _@current_ and _@highwater_ instance variables
36
+ #
37
+ def reset!
38
+ update!( true )
39
+ end
40
+ end
41
+
42
+ #
43
+ # Top level Status object holding all the Stat objects indicating the Status
44
+ # of the SQLite3 C library.
45
+ #
46
+ class Status
47
+ ::Amalgalite::SQLite3::Constants::Status.constants.each do |const_name|
48
+ method_name = const_name.downcase
49
+ module_eval( <<-code, __FILE__, __LINE__ )
50
+ def #{method_name}
51
+ @#{method_name} ||= Amalgalite::SQLite3::Stat.new( '#{method_name}' )
52
+ end
53
+ code
54
+ end
55
+ end
56
+
57
+ # return the status object for the sqlite database
58
+ def self.status
59
+ @status ||= Status.new
60
+ end
61
+ end
@@ -347,7 +347,7 @@ module Amalgalite
347
347
  #
348
348
  def is_column_rowid?( table_name, column_name )
349
349
  column_schema = @db.schema.tables[table_name].columns[column_name]
350
- if column_schema.primary_key? and column_schema.declared_data_type.upcase == "INTEGER" then
350
+ if column_schema.primary_key? and column_schema.declared_data_type and column_schema.declared_data_type.upcase == "INTEGER" then
351
351
  return true
352
352
  end
353
353
  return false
@@ -17,18 +17,18 @@ module Amalgalite
17
17
  # the original sql that was used to create this table
18
18
  attr_reader :sql
19
19
 
20
- # an array of Index objects holding the meta informationa about the indexes
21
- # on this table
20
+ # hash of Index objects holding the meta informationa about the indexes
21
+ # on this table. The keys of the indexes variable is the index name
22
22
  attr_accessor :indexes
23
23
 
24
- # an array of Column objects holding the meta information about the columns
25
- # in this table
24
+ # a hash of Column objects holding the meta information about the columns
25
+ # in this table. keys are the column names
26
26
  attr_accessor :columns
27
27
 
28
28
  def initialize( name, sql )
29
29
  @name = name
30
30
  @sql = sql
31
- @indexes = []
31
+ @indexes = {}
32
32
  @columns = {}
33
33
  end
34
34
  end
@@ -58,3 +58,6 @@ module Amalgalite
58
58
  module TypeMaps
59
59
  end
60
60
  end
61
+ require 'amalgalite/type_maps/default_map'
62
+ require 'amalgalite/type_maps/storage_map'
63
+ require 'amalgalite/type_maps/text_map'
@@ -8,8 +8,8 @@ module Amalgalite
8
8
  module Version
9
9
 
10
10
  MAJOR = 0
11
- MINOR = 2
12
- BUILD = 4
11
+ MINOR = 4
12
+ BUILD = 0
13
13
 
14
14
  #
15
15
  # return the Version as an array of MAJOR, MINOR, BUILD
data/spec/blob_spec.rb CHANGED
@@ -14,7 +14,7 @@ describe Amalgalite::Blob do
14
14
  CREATE TABLE blobs(
15
15
  id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
16
16
  name VARCHAR(128) NOT NULL UNIQUE,
17
- data BLOB );
17
+ data TEXT );
18
18
  SQL
19
19
  @db.execute( @schema_sql )
20
20
  @junk_file = File.join( File.dirname(__FILE__), "test_output")
data/spec/boolean_spec.rb CHANGED
@@ -1,6 +1,3 @@
1
- require 'rubygems'
2
- require 'spec'
3
-
4
1
  $: << File.expand_path(File.join(File.dirname(__FILE__),"..","lib"))
5
2
  require 'amalgalite'
6
3
  require 'amalgalite/boolean'
@@ -184,11 +184,19 @@ describe Amalgalite::Database do
184
184
  s.string.should =~ /unregistered as profile tap/m
185
185
  end
186
186
 
187
- it "raises an error if a transaction is attempted within a transaction" do
187
+ it "allows nested transactions even if SQLite under the covers does not" do
188
188
  db = Amalgalite::Database.new( SpecInfo.test_db )
189
- db.transaction do |db2|
190
- lambda{ db2.transaction }.should raise_error(Amalgalite::Error)
189
+ r = db.transaction do |db2|
190
+ r2 = db.transaction { 42 }
191
+ r2.should == 42
192
+ r2
191
193
  end
194
+ r.should == 42
195
+ end
196
+
197
+ it "returns the result of the transaction when a block is yielded" do
198
+ db = Amalgalite::Database.new( SpecInfo.test_db )
199
+ (db.transaction { 42 }).should == 42
192
200
  end
193
201
 
194
202
  it "#reload_schema!" do
data/spec/schema_spec.rb CHANGED
@@ -43,4 +43,18 @@ describe Amalgalite::Schema do
43
43
  ct.columns['name'].should_not be_has_default_value
44
44
  ct.columns['id'].should_not be_auto_increment
45
45
  end
46
+
47
+ it "loads the indexes" do
48
+ c = @iso_db.schema.tables['country']
49
+ c.indexes.size.should == 2
50
+ c.indexes['country_name'].columns.size.should == 1
51
+ c.indexes['country_name'].should_not be_unique
52
+ c.indexes['country_name'].sequence_number.should == 0
53
+ c.indexes['country_name'].columns.first.should == @iso_db.schema.tables['country'].columns['name']
54
+ c.indexes['sqlite_autoindex_country_1'].should be_unique
55
+
56
+ subc = @iso_db.schema.tables['subcountry']
57
+ subc.indexes.size.should == 3
58
+ subc.indexes['subcountry_country'].columns.first.should == @iso_db.schema.tables['subcountry'].columns['country']
59
+ end
46
60
  end
@@ -13,13 +13,53 @@ describe Amalgalite::SQLite3::Constants do
13
13
  end
14
14
 
15
15
  it "has ResultCode constants" do
16
- Amalgalite::SQLite3::Constants::ResultCode::OK.should == 0
17
16
  end
18
17
 
19
- it "can return the constant from a number" do
20
- c = Amalgalite::SQLite3::Constants::ResultCode.from_int( 21 )
21
- c.should == "MISUSE"
18
+ describe 'ResultCode' do
19
+ it "has constants" do
20
+ Amalgalite::SQLite3::Constants::ResultCode::OK.should == 0
21
+ end
22
+
23
+ it "can return the constant from a number" do
24
+ c = Amalgalite::SQLite3::Constants::ResultCode.name_from_value( 21 )
25
+ c.should == "MISUSE"
26
+ end
27
+
28
+ it "can return the number from a name" do
29
+ v = Amalgalite::SQLite3::Constants::ResultCode.value_from_name( "MISUSE" )
30
+ v.should == 21
31
+ end
32
+ end
33
+
34
+ describe 'Status' do
35
+ it "has constants" do
36
+ Amalgalite::SQLite3::Constants::Status::MEMORY_USED.should == 0
37
+ end
38
+
39
+ it "can return the constant from a number" do
40
+ c = Amalgalite::SQLite3::Constants::Status.name_from_value( 3 )
41
+ c.should == "SCRATCH_USED"
42
+ end
43
+
44
+ it "can return the number from a name" do
45
+ v = Amalgalite::SQLite3::Constants::Status.value_from_name( "memory_used" )
46
+ v.should == 0
47
+ end
22
48
  end
23
49
 
50
+ describe 'DBStatus' do
51
+ it "has constants" do
52
+ Amalgalite::SQLite3::Constants::DBStatus::LOOKASIDE_USED.should == 0
53
+ end
24
54
 
55
+ it "can return the constant from a number" do
56
+ c = Amalgalite::SQLite3::Constants::DBStatus.name_from_value( 0 )
57
+ c.should == "LOOKASIDE_USED"
58
+ end
59
+
60
+ it "can return the number from a name" do
61
+ v = Amalgalite::SQLite3::Constants::DBStatus.value_from_name( "lookaside_used" )
62
+ v.should == 0
63
+ end
64
+ end
25
65
  end
@@ -0,0 +1,36 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper.rb"))
2
+ require 'amalgalite/sqlite3'
3
+ require 'rbconfig'
4
+
5
+ describe "Amalgalite::SQLite3::Database::Status" do
6
+ before(:each) do
7
+ @db = Amalgalite::Database.new( "lookaside-test.db" )
8
+ @db.execute(" create table t(a, b)")
9
+ 20.times do |x|
10
+ @db.execute("insert into t(a, b) values (?,?);", x, x+1)
11
+ end
12
+ end
13
+
14
+ after(:each) do
15
+ @db.close
16
+ FileUtils.rm_f "lookaside-test.db"
17
+ end
18
+
19
+
20
+ it "knows how much lookaside memory it has used" do
21
+ @db.api.status.lookaside_used.highwater.should > 0
22
+ @db.api.status.lookaside_used.current.should >= 0
23
+ end
24
+
25
+ it "can reset the highwater value" do
26
+ stat = @db.api.status.lookaside_used
27
+ before = stat.highwater
28
+ before.should > 0
29
+
30
+ stat.reset!
31
+ after = stat.highwater
32
+
33
+ after.should == 0
34
+ after.should_not == before
35
+ end
36
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), "..", "spec_helper.rb"))
2
+ require 'amalgalite/sqlite3'
3
+ require 'rbconfig'
4
+
5
+ describe "Amalgalite::SQLite3::Status" do
6
+ it "knows how much memory it has used" do
7
+ Amalgalite::SQLite3.status.memory_used.current.should >= 0
8
+ Amalgalite::SQLite3.status.memory_used.highwater.should >= 0
9
+ end
10
+
11
+ it "can reset the highwater value" do
12
+ before = Amalgalite::SQLite3.status.memory_used.highwater
13
+ Amalgalite::SQLite3.status.memory_used.reset!
14
+ Amalgalite::SQLite3.status.memory_used.highwater.should > 0
15
+ after = Amalgalite::SQLite3.status.memory_used.highwater
16
+ after.should_not == before
17
+ end
18
+ end
@@ -5,10 +5,10 @@ describe "Amalgalite::SQLite3::Version" do
5
5
  it "should have the sqlite3 version" do
6
6
  Amalgalite::SQLite3::VERSION.should =~ /\d\.\d\.\d/
7
7
  Amalgalite::SQLite3::Version.to_s.should =~ /\d\.\d\.\d/
8
- Amalgalite::SQLite3::Version.to_i.should == 3005009
8
+ Amalgalite::SQLite3::Version.to_i.should == 3006002
9
9
  Amalgalite::SQLite3::Version::MAJOR.should == 3
10
- Amalgalite::SQLite3::Version::MINOR.should == 5
11
- Amalgalite::SQLite3::Version::RELEASE.should == 9
10
+ Amalgalite::SQLite3::Version::MINOR.should == 6
11
+ Amalgalite::SQLite3::Version::RELEASE.should == 2
12
12
  Amalgalite::SQLite3::Version.to_a.should have(3).items
13
13
  end
14
14
  end
data/spec/sqlite3_spec.rb CHANGED
@@ -17,18 +17,6 @@ describe "Amalgalite::SQLite3" do
17
17
  Amalgalite::SQLite3.complete?("SELECT * FROM sometable WHERE ", :utf16 => true).should == false
18
18
  end
19
19
 
20
- it "knows how much memory it has used" do
21
- Amalgalite::SQLite3.memory_used.should >= 0
22
- end
23
-
24
- it "knows the maximum amount of memory it has used so far" do
25
- Amalgalite::SQLite3.memory_highwater_mark.should >= 0
26
- end
27
-
28
- it "can reset it maximum memory usage counter" do
29
- Amalgalite::SQLite3.memory_highwater_mark_reset!.should >= 0
30
- end
31
-
32
20
  it "can produce random data" do
33
21
  Amalgalite::SQLite3.randomness( 42 ).size.should == 42
34
22
  end
data/tasks/announce.rake CHANGED
@@ -17,6 +17,8 @@ namespace :announce do
17
17
  mail.puts
18
18
  mail.puts info[:title]
19
19
  mail.puts
20
+ mail.puts " gem install #{Amalgalite::GEM_SPEC.name}"
21
+ mail.puts
20
22
  mail.puts info[:urls]
21
23
  mail.puts
22
24
  mail.puts info[:description]
@@ -25,7 +27,6 @@ namespace :announce do
25
27
  mail.puts
26
28
  mail.puts info[:release_notes]
27
29
  mail.puts
28
- mail.puts info[:urls]
29
30
  end
30
31
  puts "Created the following as email.txt:"
31
32
  puts "-" * 72
data/tasks/config.rb CHANGED
@@ -28,13 +28,14 @@ Configuration.for('packaging') {
28
28
  files {
29
29
  bin FileList["bin/*"]
30
30
  ext FileList["ext/*.{c,h,rb}"]
31
+ examples FileList["examples/*"]
31
32
  lib FileList["lib/**/*.rb"]
32
33
  test FileList["spec/**/*.rb", "test/**/*.rb"]
33
34
  data FileList["data/**/*"]
34
35
  tasks FileList["tasks/**/*.r{ake,b}"]
35
36
  rdoc FileList[proj_conf.readme, proj_conf.history,
36
37
  proj_conf.license] + lib + FileList["ext/amalgalite3*.c"]
37
- all bin + ext + lib + test + data + rdoc + tasks
38
+ all bin + ext + examples + lib + test + data + rdoc + tasks
38
39
  }
39
40
 
40
41
  puts "ext files = #{files.ext}"
@@ -34,5 +34,12 @@ if pkg_config = Configuration.for_if_exist?("packaging") then
34
34
  desc "reinstall gem"
35
35
  task :reinstall => [:uninstall, :repackage, :install]
36
36
 
37
+ desc "distribute copiously"
38
+ task :copious => [:package] do
39
+ Rake::SshFilePublisher.new('jeremy@copiousfreetime.org',
40
+ '/var/www/vhosts/www.copiousfreetime.org/htdocs/gems/gems',
41
+ 'pkg',"#{Amalgalite::GEM_SPEC.full_name}.gem").upload
42
+ sh "ssh jeremy@copiousfreetime.org rake -f /var/www/vhosts/www.copiousfreetime.org/htdocs/gems/Rakefile"
43
+ end
37
44
  end
38
45
  end
data/tasks/rubyforge.rake CHANGED
@@ -15,17 +15,19 @@ if rf_conf = Configuration.for_if_exist?("rubyforge") then
15
15
 
16
16
  rubyforge = RubyForge.new
17
17
 
18
+ config = {}
19
+ config["release_notes"] = proj_conf.description
20
+ config["release_changes"] = Utils.release_notes_from(proj_conf.history)[Amalgalite::VERSION]
21
+ config["Prefomatted"] = true
22
+
23
+ rubyforge.configure config
24
+
18
25
  # make sure this release doesn't already exist
19
26
  releases = rubyforge.autoconfig['release_ids']
20
27
  if releases.has_key?(Amalgalite::GEM_SPEC.name) and releases[Amalgalite::GEM_SPEC.name][Amalgalite::VERSION] then
21
28
  abort("Release #{Amalgalite::VERSION} already exists! Unable to release.")
22
29
  end
23
30
 
24
- config = rubyforge.userconfig
25
- config["release_notes"] = proj_conf.description
26
- config["release_changes"] = Utils.release_notes_from(proj_conf.history)[Amalgalite::VERSION]
27
- config["Prefomatted"] = true
28
-
29
31
  puts "Uploading to rubyforge..."
30
32
  files = FileList[File.join("pkg","#{Amalgalite::GEM_SPEC.name}-#{Amalgalite::VERSION}*.*")].to_a
31
33
  rubyforge.login
@@ -38,9 +40,15 @@ if rf_conf = Configuration.for_if_exist?("rubyforge") then
38
40
  desc "Post news of #{proj_conf.name} to #{rf_conf.project} on rubyforge"
39
41
  task :rubyforge do
40
42
  info = Utils.announcement
43
+
44
+ puts "Subject : #{info[:subject]}"
45
+ msg = "#{info[:title]}\n\n#{info[:urls]}\n\n#{info[:release_notes]}"
46
+ puts msg
47
+
41
48
  rubyforge = RubyForge.new
49
+ rubyforge.configure
42
50
  rubyforge.login
43
- rubyforge.post_news(rf_conf.project, info[:subject], "#{info[:title]}\n\n#{info[:urls]}\n\n#{info[:release_notes]}")
51
+ rubyforge.post_news(rf_conf.project, info[:subject], msg )
44
52
  puts "Posted to rubyforge"
45
53
  end
46
54
 
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.2.4
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Hinegardner
@@ -9,11 +9,12 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-07-13 00:00:00 -06:00
12
+ date: 2008-09-15 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: configuration
17
+ type: :runtime
17
18
  version_requirement:
18
19
  version_requirements: !ruby/object:Gem::Requirement
19
20
  requirements:
@@ -23,6 +24,7 @@ dependencies:
23
24
  version:
24
25
  - !ruby/object:Gem::Dependency
25
26
  name: arrayfields
27
+ type: :runtime
26
28
  version_requirement:
27
29
  version_requirements: !ruby/object:Gem::Requirement
28
30
  requirements:
@@ -32,50 +34,55 @@ dependencies:
32
34
  version:
33
35
  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 Also Scroll through Amalgalite::Database for a quick example, and a general overview of the API.
34
36
  email: jeremy@hinegardner.org
35
- executables: []
36
-
37
+ executables:
38
+ - amalgalite-pack-into-db
37
39
  extensions:
38
40
  - ext/extconf.rb
39
41
  extra_rdoc_files:
40
42
  - README
41
43
  - HISTORY
42
44
  - LICENSE
43
- - lib/amalgalite/sqlite3/constants.rb
44
- - lib/amalgalite/sqlite3/version.rb
45
- - lib/amalgalite/taps/console.rb
46
- - lib/amalgalite/taps/io.rb
47
- - lib/amalgalite/type_maps/default_map.rb
48
- - lib/amalgalite/type_maps/storage_map.rb
49
- - lib/amalgalite/type_maps/text_map.rb
50
- - lib/amalgalite/statement.rb
51
45
  - lib/amalgalite/blob.rb
52
- - lib/amalgalite/version.rb
53
46
  - lib/amalgalite/boolean.rb
54
47
  - lib/amalgalite/column.rb
48
+ - lib/amalgalite/core_ext/kernel/require.rb
55
49
  - lib/amalgalite/database.rb
56
50
  - lib/amalgalite/index.rb
57
51
  - lib/amalgalite/paths.rb
58
52
  - lib/amalgalite/profile_tap.rb
53
+ - lib/amalgalite/requires.rb
59
54
  - lib/amalgalite/schema.rb
55
+ - lib/amalgalite/sqlite3/constants.rb
56
+ - lib/amalgalite/sqlite3/database/status.rb
57
+ - lib/amalgalite/sqlite3/status.rb
58
+ - lib/amalgalite/sqlite3/version.rb
60
59
  - lib/amalgalite/sqlite3.rb
61
- - lib/amalgalite/core_ext/kernel/require.rb
62
- - lib/amalgalite/requires.rb
60
+ - lib/amalgalite/statement.rb
63
61
  - lib/amalgalite/table.rb
62
+ - lib/amalgalite/taps/console.rb
63
+ - lib/amalgalite/taps/io.rb
64
64
  - lib/amalgalite/taps.rb
65
65
  - lib/amalgalite/trace_tap.rb
66
66
  - lib/amalgalite/type_map.rb
67
+ - lib/amalgalite/type_maps/default_map.rb
68
+ - lib/amalgalite/type_maps/storage_map.rb
69
+ - lib/amalgalite/type_maps/text_map.rb
70
+ - lib/amalgalite/version.rb
67
71
  - lib/amalgalite/view.rb
68
72
  - lib/amalgalite.rb
69
- - ext/amalgalite3_blob.c
70
73
  - ext/amalgalite3.c
74
+ - ext/amalgalite3_blob.c
71
75
  - ext/amalgalite3_constants.c
72
76
  - ext/amalgalite3_database.c
77
+ - ext/amalgalite3_requires_bootstrap.c
73
78
  - ext/amalgalite3_statement.c
74
79
  files:
75
- - ext/amalgalite3_blob.c
80
+ - bin/amalgalite-pack-into-db
76
81
  - ext/amalgalite3.c
82
+ - ext/amalgalite3_blob.c
77
83
  - ext/amalgalite3_constants.c
78
84
  - ext/amalgalite3_database.c
85
+ - ext/amalgalite3_requires_bootstrap.c
79
86
  - ext/amalgalite3_statement.c
80
87
  - ext/sqlite3.c
81
88
  - ext/amalgalite3.h
@@ -84,44 +91,55 @@ files:
84
91
  - ext/sqlite3ext.h
85
92
  - ext/extconf.rb
86
93
  - ext/gen_constants.rb
87
- - lib/amalgalite/sqlite3/constants.rb
88
- - lib/amalgalite/sqlite3/version.rb
89
- - lib/amalgalite/taps/console.rb
90
- - lib/amalgalite/taps/io.rb
91
- - lib/amalgalite/type_maps/default_map.rb
92
- - lib/amalgalite/type_maps/storage_map.rb
93
- - lib/amalgalite/type_maps/text_map.rb
94
- - lib/amalgalite/statement.rb
94
+ - examples/a.rb
95
+ - examples/blob.rb
96
+ - examples/bootstrap.rb
97
+ - examples/filestore.db
98
+ - examples/gem-db.rb
99
+ - examples/requires.rb
100
+ - examples/schema-info.rb
95
101
  - lib/amalgalite/blob.rb
96
- - lib/amalgalite/version.rb
97
102
  - lib/amalgalite/boolean.rb
98
103
  - lib/amalgalite/column.rb
104
+ - lib/amalgalite/core_ext/kernel/require.rb
99
105
  - lib/amalgalite/database.rb
100
106
  - lib/amalgalite/index.rb
101
107
  - lib/amalgalite/paths.rb
102
108
  - lib/amalgalite/profile_tap.rb
109
+ - lib/amalgalite/requires.rb
103
110
  - lib/amalgalite/schema.rb
111
+ - lib/amalgalite/sqlite3/constants.rb
112
+ - lib/amalgalite/sqlite3/database/status.rb
113
+ - lib/amalgalite/sqlite3/status.rb
114
+ - lib/amalgalite/sqlite3/version.rb
104
115
  - lib/amalgalite/sqlite3.rb
105
- - lib/amalgalite/core_ext/kernel/require.rb
106
- - lib/amalgalite/requires.rb
116
+ - lib/amalgalite/statement.rb
107
117
  - lib/amalgalite/table.rb
118
+ - lib/amalgalite/taps/console.rb
119
+ - lib/amalgalite/taps/io.rb
108
120
  - lib/amalgalite/taps.rb
109
121
  - lib/amalgalite/trace_tap.rb
110
122
  - lib/amalgalite/type_map.rb
123
+ - lib/amalgalite/type_maps/default_map.rb
124
+ - lib/amalgalite/type_maps/storage_map.rb
125
+ - lib/amalgalite/type_maps/text_map.rb
126
+ - lib/amalgalite/version.rb
111
127
  - lib/amalgalite/view.rb
112
128
  - lib/amalgalite.rb
113
- - spec/sqlite3/constants_spec.rb
114
- - spec/sqlite3/version_spec.rb
115
- - spec/integeration_spec.rb
116
129
  - spec/amalgalite_spec.rb
117
130
  - spec/blob_spec.rb
118
- - spec/sqlite3_spec.rb
119
131
  - spec/boolean_spec.rb
120
132
  - spec/database_spec.rb
121
133
  - spec/default_map_spec.rb
134
+ - spec/integeration_spec.rb
122
135
  - spec/paths_spec.rb
123
136
  - spec/schema_spec.rb
124
137
  - spec/spec_helper.rb
138
+ - spec/sqlite3/constants_spec.rb
139
+ - spec/sqlite3/database_status_spec.rb
140
+ - spec/sqlite3/status_spec.rb
141
+ - spec/sqlite3/version_spec.rb
142
+ - spec/sqlite3_spec.rb
125
143
  - spec/statement_spec.rb
126
144
  - spec/storage_map_spec.rb
127
145
  - spec/tap_spec.rb
@@ -131,10 +149,10 @@ files:
131
149
  - README
132
150
  - HISTORY
133
151
  - LICENSE
134
- - tasks/distribution.rake
135
152
  - tasks/announce.rake
136
- - tasks/extension.rake
153
+ - tasks/distribution.rake
137
154
  - tasks/documentation.rake
155
+ - tasks/extension.rake
138
156
  - tasks/rspec.rake
139
157
  - tasks/rubyforge.rake
140
158
  - tasks/config.rb
@@ -150,7 +168,6 @@ rdoc_options:
150
168
  - README
151
169
  require_paths:
152
170
  - lib
153
- - ext
154
171
  required_ruby_version: !ruby/object:Gem::Requirement
155
172
  requirements:
156
173
  - - ">="
@@ -166,7 +183,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
183
  requirements: []
167
184
 
168
185
  rubyforge_project: copiousfreetime
169
- rubygems_version: 1.0.1
186
+ rubygems_version: 1.2.0
170
187
  signing_key:
171
188
  specification_version: 2
172
189
  summary: Amalgalite embeds the SQLite database engine in a ruby extension