sqlite3 1.4.4 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sqlite3 might be problematic. Click here for more details.

data/README.rdoc DELETED
@@ -1,118 +0,0 @@
1
- = SQLite3/Ruby Interface
2
-
3
- * https://github.com/sparklemotion/sqlite3-ruby
4
- * http://groups.google.com/group/sqlite3-ruby
5
- * http://rubygems.org/gems/sqlite3
6
- * http://www.rubydoc.info/gems/sqlite3/frames
7
-
8
- {<img src="https://github.com/sparklemotion/sqlite3-ruby/actions/workflows/sqlite3-ruby.yml/badge.svg" alt="Build Status" />}[https://github.com/sparklemotion/sqlite3-ruby/actions/workflows/sqlite3-ruby.yml]
9
-
10
- == DESCRIPTION
11
-
12
- This module allows Ruby programs to interface with the SQLite3
13
- database engine (http://www.sqlite.org). You must have the
14
- SQLite engine installed in order to build this module.
15
-
16
- Note that this module is only compatible with SQLite 3.6.16 or newer.
17
-
18
- == SYNOPSIS
19
-
20
- require "sqlite3"
21
-
22
- # Open a database
23
- db = SQLite3::Database.new "test.db"
24
-
25
- # Create a table
26
- rows = db.execute <<-SQL
27
- create table numbers (
28
- name varchar(30),
29
- val int
30
- );
31
- SQL
32
-
33
- # Execute a few inserts
34
- {
35
- "one" => 1,
36
- "two" => 2,
37
- }.each do |pair|
38
- db.execute "insert into numbers values ( ?, ? )", pair
39
- end
40
-
41
- # Find a few rows
42
- db.execute( "select * from numbers" ) do |row|
43
- p row
44
- end
45
-
46
- # Create another table with multiple columns
47
-
48
- db.execute <<-SQL
49
- create table students (
50
- name varchar(50),
51
- email varchar(50),
52
- grade varchar(5),
53
- blog varchar(50)
54
- );
55
- SQL
56
-
57
- # Execute inserts with parameter markers
58
- db.execute("INSERT INTO students (name, email, grade, blog)
59
- VALUES (?, ?, ?, ?)", ["Jane", "me@janedoe.com", "A", "http://blog.janedoe.com"])
60
-
61
- db.execute( "select * from students" ) do |row|
62
- p row
63
- end
64
-
65
-
66
- == Compilation and Installation
67
-
68
- Install SQLite3, enabling the option SQLITE_ENABLE_COLUMN_METADATA (see
69
- {www.sqlite.org/compile.html}[https://www.sqlite.org/compile.html] for details).
70
-
71
- Then do the following:
72
-
73
- ruby setup.rb config
74
- ruby setup.rb setup
75
- ruby setup.rb install
76
-
77
- Alternatively, you can download and install the RubyGem package for
78
- SQLite3/Ruby (you must have RubyGems and SQLite3 installed, first):
79
-
80
- gem install sqlite3
81
-
82
- If you have sqlite3 installed in a non-standard location, you can specify the location of the include and lib files by doing:
83
-
84
- gem install sqlite3 -- --with-sqlite3-include=/opt/local/include \
85
- --with-sqlite3-lib=/opt/local/lib
86
-
87
- = SUPPORT!!!
88
-
89
- == OMG! Something has gone wrong! Where do I get help?
90
-
91
- The best place to get help is from the
92
- {sqlite3-ruby mailing list}[http://groups.google.com/group/sqlite3-ruby] which
93
- can be found here:
94
-
95
- * http://groups.google.com/group/sqlite3-ruby
96
-
97
- == I've found a bug! Where do I file it?
98
-
99
- Uh oh. After contacting the mailing list, you've found that you've actually
100
- discovered a bug. You can file the bug at the
101
- {github issues page}[https://github.com/sparklemotion/sqlite3-ruby/issues]
102
- which can be found here:
103
-
104
- * https://github.com/sparklemotion/sqlite3-ruby/issues
105
-
106
- == Usage
107
-
108
- For help figuring out the SQLite3/Ruby interface, check out the
109
- SYNOPSIS as well as the RDoc. It includes examples of
110
- usage. If you have any questions that you feel should be addressed in the
111
- FAQ, please send them to {the mailing list}[http://groups.google.com/group/sqlite3-ruby]
112
-
113
- == Source Code
114
-
115
- The source repository is accessible via git:
116
-
117
- git clone git://github.com/sparklemotion/sqlite3-ruby.git
118
-
data/Rakefile DELETED
@@ -1,8 +0,0 @@
1
- #
2
- # NOTE: Keep this file clean.
3
- # Add your customizations inside tasks directory.
4
- # Thank You.
5
- #
6
-
7
-
8
- # vim: syntax=ruby
data/appveyor.yml DELETED
@@ -1,36 +0,0 @@
1
- ---
2
- version: "{build}"
3
- branches:
4
- only:
5
- - master
6
- - 1-3-stable
7
- clone_depth: 10
8
- install:
9
- - SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
10
- - ruby --version
11
- - gem --version
12
- - gem install bundler --quiet --no-ri --no-rdoc
13
- - bundler --version
14
- - bundle install
15
- build_script:
16
- - rake native gem
17
- test_script:
18
- - rake test
19
- artifacts:
20
- - path: pkg\*.gem
21
-
22
- environment:
23
- matrix:
24
- - ruby_version: "193"
25
- - ruby_version: "200"
26
- - ruby_version: "200-x64"
27
- - ruby_version: "21"
28
- - ruby_version: "21-x64"
29
- - ruby_version: "22"
30
- - ruby_version: "22-x64"
31
- - ruby_version: "23"
32
- - ruby_version: "23-x64"
33
- - ruby_version: "24"
34
- - ruby_version: "24-x64"
35
- - ruby_version: "25"
36
- - ruby_version: "25-x64"
data/rakelib/faq.rake DELETED
@@ -1,9 +0,0 @@
1
- # Generate FAQ
2
- desc "Generate the FAQ document"
3
- task :faq => ['faq/faq.html']
4
-
5
- file 'faq/faq.html' => ['faq/faq.rb', 'faq/faq.yml'] do
6
- cd 'faq' do
7
- ruby "faq.rb > faq.html"
8
- end
9
- end
data/rakelib/gem.rake DELETED
@@ -1,40 +0,0 @@
1
- begin
2
- require 'hoe'
3
- rescue LoadError
4
- # try with rubygems?
5
- require 'rubygems'
6
- require 'hoe'
7
- end
8
-
9
- Hoe.plugin :debugging, :doofus, :git, :minitest, :bundler, :gemspec
10
-
11
- HOE = Hoe.spec 'sqlite3' do
12
- developer 'Jamis Buck', 'jamis@37signals.com'
13
- developer 'Luis Lavena', 'luislavena@gmail.com'
14
- developer 'Aaron Patterson', 'aaron@tenderlovemaking.com'
15
-
16
- license "BSD-3-Clause"
17
-
18
- self.readme_file = 'README.rdoc'
19
- self.history_file = 'CHANGELOG.rdoc'
20
- self.extra_rdoc_files = FileList['*.rdoc', 'ext/**/*.c']
21
-
22
- require_ruby_version ">= 1.8.7"
23
- require_rubygems_version ">= 1.3.5"
24
-
25
- spec_extras[:extensions] = ["ext/sqlite3/extconf.rb"]
26
- spec_extras[:metadata] = {'msys2_mingw_dependencies' => 'sqlite3'}
27
-
28
- extra_dev_deps << ['rake-compiler', "~> 1.0"]
29
- extra_dev_deps << ['rake-compiler-dock', "~> 0.6.0"]
30
- extra_dev_deps << ["mini_portile2", "~> 2.0"]
31
- extra_dev_deps << ["minitest", "~> 5.0"]
32
- extra_dev_deps << ["hoe-bundler", "~> 1.0"]
33
- extra_dev_deps << ["hoe-gemspec", "~> 1.0"]
34
-
35
- clean_globs.push('**/test.db')
36
- end
37
-
38
- Hoe.add_include_dirs '.'
39
-
40
- # vim: syntax=ruby
data/rakelib/native.rake DELETED
@@ -1,59 +0,0 @@
1
- # use rake-compiler for building the extension
2
- require 'rake/extensiontask'
3
- require 'rake/extensioncompiler'
4
-
5
- # NOTE: version used by cross compilation of Windows native extension
6
- # It do not affect compilation under other operating systems
7
- # The version indicated is the minimum DLL suggested for correct functionality
8
- BINARY_VERSION = "3.8.11.1"
9
- URL_VERSION = "3081101"
10
- URL_PATH = "/2015"
11
-
12
- task :devkit do
13
- begin
14
- require "devkit"
15
- rescue LoadError => e
16
- abort "Failed to activate RubyInstaller's DevKit required for compilation."
17
- end
18
- end
19
-
20
- # build sqlite3_native C extension
21
- RUBY_EXTENSION = Rake::ExtensionTask.new('sqlite3_native', HOE.spec) do |ext|
22
- # where to locate the extension
23
- ext.ext_dir = 'ext/sqlite3'
24
-
25
- # where native extension will be copied (matches makefile)
26
- ext.lib_dir = "lib/sqlite3"
27
-
28
- # clean binary folders always
29
- CLEAN.include("#{ext.lib_dir}/?.?")
30
-
31
- # automatically add build options to avoid need of manual input
32
- if RUBY_PLATFORM =~ /mswin|mingw/ then
33
- # define target for extension (supporting fat binaries)
34
- RUBY_VERSION =~ /(\d+\.\d+)/
35
- ext.lib_dir = "lib/sqlite3/#{$1}"
36
- else
37
-
38
- # detect cross-compiler available
39
- begin
40
- Rake::ExtensionCompiler.mingw_host
41
- ext.cross_compile = true
42
- ext.cross_platform = ['i386-mswin32-60', 'i386-mingw32', 'x64-mingw32']
43
- ext.cross_compiling do |spec|
44
- # The fat binary gem doesn't depend on the sqlite3 package, since it bundles the library.
45
- spec.metadata.delete('msys2_mingw_dependencies')
46
- end
47
- rescue RuntimeError
48
- # noop
49
- end
50
- end
51
- end
52
-
53
- # ensure things are compiled prior testing
54
- if RUBY_PLATFORM =~ /mingw/ then
55
- task :test => ["compile:msys2"]
56
- else
57
- task :test => [:compile]
58
- end
59
- # vim: syntax=ruby
@@ -1,108 +0,0 @@
1
- require "rake/clean"
2
- require "rake/extensioncompiler"
3
- require "mini_portile2"
4
-
5
- CLOBBER.include("ports")
6
-
7
- directory "ports"
8
-
9
- def define_sqlite_task(platform, host)
10
- recipe = MiniPortile.new "sqlite3", BINARY_VERSION
11
- recipe.files = ["http://sqlite.org#{URL_PATH}/sqlite-autoconf-#{URL_VERSION}.tar.gz"]
12
- recipe.host = host
13
-
14
- desc "Compile sqlite3 for #{platform} (#{host})"
15
- task "ports:sqlite3:#{platform}" => ["ports"] do |t|
16
- checkpoint = "ports/.#{recipe.name}-#{recipe.version}-#{recipe.host}.installed"
17
-
18
- unless File.exist?(checkpoint)
19
- cflags = "-O2 -DSQLITE_ENABLE_COLUMN_METADATA"
20
- cflags << " -fPIC" if recipe.host && recipe.host.include?("x86_64")
21
- recipe.configure_options << "CFLAGS='#{cflags}'"
22
- recipe.cook
23
- touch checkpoint
24
- end
25
- end
26
-
27
- recipe
28
- end
29
-
30
- # native sqlite3 compilation
31
- recipe = define_sqlite_task(RUBY_PLATFORM, RbConfig::CONFIG["host"])
32
-
33
- # force compilation of sqlite3 when working natively under MinGW
34
- if RUBY_PLATFORM =~ /mingw/
35
- RUBY_EXTENSION.config_options << "--with-opt-dir=#{recipe.path}"
36
-
37
- # also prepend DevKit into compilation phase
38
- Rake::Task["compile"].prerequisites.unshift "devkit", "ports:sqlite3:#{RUBY_PLATFORM}"
39
- Rake::Task["native"].prerequisites.unshift "devkit", "ports:sqlite3:#{RUBY_PLATFORM}"
40
-
41
- namespace "compile" do
42
- desc "Build using MSYS2 sqlite package"
43
- task :msys2 do
44
- RUBY_EXTENSION.config_options.pop
45
- t = Rake::Task["compile"]
46
- t.prerequisites.clear
47
- t.prerequisites << "devkit" << "compile:#{RUBY_PLATFORM}"
48
- t.invoke
49
- end
50
- end
51
- end
52
-
53
- # trick to test local compilation of sqlite3
54
- if ENV["USE_MINI_PORTILE"] == "true"
55
- # fake recipe so we can build a directory to it
56
- recipe = MiniPortile.new "sqlite3", BINARY_VERSION
57
- recipe.host = RbConfig::CONFIG["host"]
58
-
59
- RUBY_EXTENSION.config_options << "--with-opt-dir=#{recipe.path}"
60
-
61
- # compile sqlite3 first
62
- Rake::Task["compile"].prerequisites.unshift "ports:sqlite3:#{RUBY_PLATFORM}"
63
- end
64
-
65
- # iterate over all cross-compilation platforms and define the proper
66
- # sqlite3 recipe for it.
67
- if RUBY_EXTENSION.cross_compile
68
- config_path = File.expand_path("~/.rake-compiler/config.yml")
69
- if File.exist?(config_path)
70
- # obtains platforms from rake-compiler's config.yml
71
- config_file = YAML.load_file(config_path)
72
-
73
- Array(RUBY_EXTENSION.cross_platform).each do |platform|
74
- # obtain platform from rbconfig file
75
- config_key = config_file.keys.sort.find { |key|
76
- key.start_with?("rbconfig-#{platform}-")
77
- }
78
- rbfile = config_file[config_key]
79
-
80
- # skip if rbconfig cannot be read
81
- next unless File.exist?(rbfile)
82
-
83
- host = IO.read(rbfile).match(/CONFIG\["CC"\] = "(.*)"/)[1].sub(/\-gcc/, '')
84
- recipe = define_sqlite_task(platform, host)
85
-
86
- RUBY_EXTENSION.cross_config_options << {
87
- platform => "--with-opt-dir=#{recipe.path}"
88
- }
89
-
90
- # pre-compile sqlite3 port when cross-compiling
91
- task :cross => "ports:sqlite3:#{platform}"
92
- end
93
- else
94
- warn "rake-compiler configuration doesn't exist, but is required for ports"
95
- end
96
- end
97
-
98
- task :cross do
99
- ["CC", "CXX", "LDFLAGS", "CPPFLAGS", "RUBYOPT"].each do |var|
100
- ENV.delete(var)
101
- end
102
- end
103
-
104
- desc "Build windows binary gems per rake-compiler-dock."
105
- task "gem:windows" do
106
- require "rake_compiler_dock"
107
- RakeCompilerDock.sh "bundle && rake cross native gem MAKE='nice make -j`nproc`'"
108
- end