amalgalite 0.2.4 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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