# typed: true
# DO NOT EDIT MANUALLY
# This is an autogenerated file for types exported from the `sqlite3` gem.
# Please instead update this file by running `bin/tapioca gem sqlite3`.
module SQLite3
class << self
# source://sqlite3//lib/sqlite3/version.rb#16
def const_missing(name); end
def libversion; end
def sqlcipher?; end
def threadsafe; end
# Was sqlite3 compiled with thread safety on?
#
# @return [Boolean]
#
# source://sqlite3//lib/sqlite3.rb#14
def threadsafe?; end
end
end
class SQLite3::AbortException < ::SQLite3::Exception; end
class SQLite3::AuthorizationException < ::SQLite3::Exception; end
class SQLite3::Backup
def initialize(_arg0, _arg1, _arg2, _arg3); end
def finish; end
def pagecount; end
def remaining; end
def step(_arg0); end
end
class SQLite3::Blob < ::String; end
class SQLite3::BusyException < ::SQLite3::Exception; end
class SQLite3::CantOpenException < ::SQLite3::Exception; end
module SQLite3::Constants; end
module SQLite3::Constants::ColumnType; end
# source://sqlite3//lib/sqlite3/constants.rb#16
SQLite3::Constants::ColumnType::BLOB = T.let(T.unsafe(nil), Integer)
# source://sqlite3//lib/sqlite3/constants.rb#14
SQLite3::Constants::ColumnType::FLOAT = T.let(T.unsafe(nil), Integer)
# source://sqlite3//lib/sqlite3/constants.rb#13
SQLite3::Constants::ColumnType::INTEGER = T.let(T.unsafe(nil), Integer)
# source://sqlite3//lib/sqlite3/constants.rb#17
SQLite3::Constants::ColumnType::NULL = T.let(T.unsafe(nil), Integer)
# source://sqlite3//lib/sqlite3/constants.rb#15
SQLite3::Constants::ColumnType::TEXT = T.let(T.unsafe(nil), Integer)
module SQLite3::Constants::ErrorCode; end
# Callback routine requested an abort
#
# source://sqlite3//lib/sqlite3/constants.rb#25
SQLite3::Constants::ErrorCode::ABORT = T.let(T.unsafe(nil), Integer)
# Authorization denied
#
# source://sqlite3//lib/sqlite3/constants.rb#44
SQLite3::Constants::ErrorCode::AUTH = T.let(T.unsafe(nil), Integer)
# The database file is locked
#
# source://sqlite3//lib/sqlite3/constants.rb#26
SQLite3::Constants::ErrorCode::BUSY = T.let(T.unsafe(nil), Integer)
# Unable to open the database file
#
# source://sqlite3//lib/sqlite3/constants.rb#35
SQLite3::Constants::ErrorCode::CANTOPEN = T.let(T.unsafe(nil), Integer)
# Abort due to constraint violation
#
# source://sqlite3//lib/sqlite3/constants.rb#40
SQLite3::Constants::ErrorCode::CONSTRAINT = T.let(T.unsafe(nil), Integer)
# The database disk image is malformed
#
# source://sqlite3//lib/sqlite3/constants.rb#32
SQLite3::Constants::ErrorCode::CORRUPT = T.let(T.unsafe(nil), Integer)
# sqlite_step() has finished executing
#
# source://sqlite3//lib/sqlite3/constants.rb#47
SQLite3::Constants::ErrorCode::DONE = T.let(T.unsafe(nil), Integer)
# (Internal Only) Database table is empty
#
# source://sqlite3//lib/sqlite3/constants.rb#37
SQLite3::Constants::ErrorCode::EMPTY = T.let(T.unsafe(nil), Integer)
# SQL error or missing database
#
# source://sqlite3//lib/sqlite3/constants.rb#22
SQLite3::Constants::ErrorCode::ERROR = T.let(T.unsafe(nil), Integer)
# Insertion failed because database is full
#
# source://sqlite3//lib/sqlite3/constants.rb#34
SQLite3::Constants::ErrorCode::FULL = T.let(T.unsafe(nil), Integer)
# An internal logic error in SQLite
#
# source://sqlite3//lib/sqlite3/constants.rb#23
SQLite3::Constants::ErrorCode::INTERNAL = T.let(T.unsafe(nil), Integer)
# Operation terminated by sqlite_interrupt()
#
# source://sqlite3//lib/sqlite3/constants.rb#30
SQLite3::Constants::ErrorCode::INTERRUPT = T.let(T.unsafe(nil), Integer)
# Some kind of disk I/O error occurred
#
# source://sqlite3//lib/sqlite3/constants.rb#31
SQLite3::Constants::ErrorCode::IOERR = T.let(T.unsafe(nil), Integer)
# A table in the database is locked
#
# source://sqlite3//lib/sqlite3/constants.rb#27
SQLite3::Constants::ErrorCode::LOCKED = T.let(T.unsafe(nil), Integer)
# Data type mismatch
#
# source://sqlite3//lib/sqlite3/constants.rb#41
SQLite3::Constants::ErrorCode::MISMATCH = T.let(T.unsafe(nil), Integer)
# Library used incorrectly
#
# source://sqlite3//lib/sqlite3/constants.rb#42
SQLite3::Constants::ErrorCode::MISUSE = T.let(T.unsafe(nil), Integer)
# Uses OS features not supported on host
#
# source://sqlite3//lib/sqlite3/constants.rb#43
SQLite3::Constants::ErrorCode::NOLFS = T.let(T.unsafe(nil), Integer)
# A malloc() failed
#
# source://sqlite3//lib/sqlite3/constants.rb#28
SQLite3::Constants::ErrorCode::NOMEM = T.let(T.unsafe(nil), Integer)
# (Internal Only) Table or record not found
#
# source://sqlite3//lib/sqlite3/constants.rb#33
SQLite3::Constants::ErrorCode::NOTFOUND = T.let(T.unsafe(nil), Integer)
# Successful result
#
# source://sqlite3//lib/sqlite3/constants.rb#21
SQLite3::Constants::ErrorCode::OK = T.let(T.unsafe(nil), Integer)
# Access permission denied
#
# source://sqlite3//lib/sqlite3/constants.rb#24
SQLite3::Constants::ErrorCode::PERM = T.let(T.unsafe(nil), Integer)
# Database lock protocol error
#
# source://sqlite3//lib/sqlite3/constants.rb#36
SQLite3::Constants::ErrorCode::PROTOCOL = T.let(T.unsafe(nil), Integer)
# Attempt to write a readonly database
#
# source://sqlite3//lib/sqlite3/constants.rb#29
SQLite3::Constants::ErrorCode::READONLY = T.let(T.unsafe(nil), Integer)
# sqlite_step() has another row ready
#
# source://sqlite3//lib/sqlite3/constants.rb#46
SQLite3::Constants::ErrorCode::ROW = T.let(T.unsafe(nil), Integer)
# The database schema changed
#
# source://sqlite3//lib/sqlite3/constants.rb#38
SQLite3::Constants::ErrorCode::SCHEMA = T.let(T.unsafe(nil), Integer)
# Too much data for one row of a table
#
# source://sqlite3//lib/sqlite3/constants.rb#39
SQLite3::Constants::ErrorCode::TOOBIG = T.let(T.unsafe(nil), Integer)
module SQLite3::Constants::Open; end
SQLite3::Constants::Open::AUTOPROXY = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::CREATE = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::DELETEONCLOSE = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::EXCLUSIVE = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::FULLMUTEX = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::MAIN_DB = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::MAIN_JOURNAL = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::MASTER_JOURNAL = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::MEMORY = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::NOMUTEX = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::PRIVATECACHE = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::READONLY = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::READWRITE = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::SHAREDCACHE = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::SUBJOURNAL = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::TEMP_DB = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::TEMP_JOURNAL = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::TRANSIENT_DB = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::URI = T.let(T.unsafe(nil), Integer)
SQLite3::Constants::Open::WAL = T.let(T.unsafe(nil), Integer)
module SQLite3::Constants::TextRep; end
# source://sqlite3//lib/sqlite3/constants.rb#8
SQLite3::Constants::TextRep::ANY = T.let(T.unsafe(nil), Integer)
# source://sqlite3//lib/sqlite3/constants.rb#9
SQLite3::Constants::TextRep::DETERMINISTIC = T.let(T.unsafe(nil), Integer)
# source://sqlite3//lib/sqlite3/constants.rb#7
SQLite3::Constants::TextRep::UTF16 = T.let(T.unsafe(nil), Integer)
# source://sqlite3//lib/sqlite3/constants.rb#6
SQLite3::Constants::TextRep::UTF16BE = T.let(T.unsafe(nil), Integer)
# source://sqlite3//lib/sqlite3/constants.rb#5
SQLite3::Constants::TextRep::UTF16LE = T.let(T.unsafe(nil), Integer)
# source://sqlite3//lib/sqlite3/constants.rb#4
SQLite3::Constants::TextRep::UTF8 = T.let(T.unsafe(nil), Integer)
class SQLite3::ConstraintException < ::SQLite3::Exception; end
class SQLite3::CorruptException < ::SQLite3::Exception; end
# The Database class encapsulates a single connection to a SQLite3 database.
# Its usage is very straightforward:
#
# require 'sqlite3'
#
# SQLite3::Database.new( "data.db" ) do |db|
# db.execute( "select * from table" ) do |row|
# p row
# end
# end
#
# It wraps the lower-level methods provides by the selected driver, and
# includes the Pragmas module for access to various pragma convenience
# methods.
#
# The Database class provides type translation services as well, by which
# the SQLite3 data types (which are all represented as strings) may be
# converted into their corresponding types (as defined in the schemas
# for their tables). This translation only occurs when querying data from
# the database--insertions and updates are all still typeless.
#
# Furthermore, the Database class has been designed to work well with the
# ArrayFields module from Ara Howard. If you require the ArrayFields
# module before performing a query, and if you have not enabled results as
# hashes, then the results will all be indexible by field name.
class SQLite3::Database
include ::SQLite3::Pragmas
# call-seq: SQLite3::Database.new(file, options = {})
#
# Create a new Database object that opens the given file. If utf16
# is +true+, the filename is interpreted as a UTF-16 encoded string.
#
# By default, the new database will return result rows as arrays
# (#results_as_hash) and has type translation disabled (#type_translation=).
#
# @return [Database] a new instance of Database
#
# source://sqlite3//lib/sqlite3/database.rb#65
def initialize(file, options = T.unsafe(nil), zvfs = T.unsafe(nil)); end
# Installs (or removes) a block that will be invoked for every access
# to the database. If the block returns 0 (or +nil+), the statement
# is allowed to proceed. Returning 1 causes an authorization error to
# occur, and returning 2 causes the access to be silently denied.
#
# source://sqlite3//lib/sqlite3/database.rb#142
def authorizer(&block); end
def authorizer=(_arg0); end
def busy_handler(*_arg0); end
def busy_timeout(_arg0); end
def busy_timeout=(_arg0); end
def changes; end
def close; end
def closed?; end
def collation(_arg0, _arg1); end
# Returns the value of attribute collations.
#
# source://sqlite3//lib/sqlite3/database.rb#36
def collations; end
# Commits the current transaction. If there is no current transaction,
# this will cause an error to be raised. This returns +true+, in order
# to allow it to be used in idioms like
# abort? and rollback or commit.
#
# source://sqlite3//lib/sqlite3/database.rb#654
def commit; end
def complete?(_arg0); end
# Creates a new aggregate function for use in SQL statements. Aggregate
# functions are functions that apply over every row in the result set,
# instead of over just a single row. (A very common aggregate function
# is the "count" function, for determining the number of rows that match
# a query.)
#
# The new function will be added as +name+, with the given +arity+. (For
# variable arity functions, use -1 for the arity.)
#
# The +step+ parameter must be a proc object that accepts as its first
# parameter a FunctionProxy instance (representing the function
# invocation), with any subsequent parameters (up to the function's arity).
# The +step+ callback will be invoked once for each row of the result set.
#
# The +finalize+ parameter must be a +proc+ object that accepts only a
# single parameter, the FunctionProxy instance representing the current
# function invocation. It should invoke FunctionProxy#result= to
# store the result of the function.
#
# Example:
#
# db.create_aggregate( "lengths", 1 ) do
# step do |func, value|
# func[ :total ] ||= 0
# func[ :total ] += ( value ? value.length : 0 )
# end
#
# finalize do |func|
# func.result = func[ :total ] || 0
# end
# end
#
# puts db.get_first_value( "select lengths(name) from table" )
#
# See also #create_aggregate_handler for a more object-oriented approach to
# aggregate functions.
#
# source://sqlite3//lib/sqlite3/database.rb#445
def create_aggregate(name, arity, step = T.unsafe(nil), finalize = T.unsafe(nil), text_rep = T.unsafe(nil), &block); end
# This is another approach to creating an aggregate function (see
# #create_aggregate). Instead of explicitly specifying the name,
# callbacks, arity, and type, you specify a factory object
# (the "handler") that knows how to obtain all of that information. The
# handler should respond to the following messages:
#
# +arity+:: corresponds to the +arity+ parameter of #create_aggregate. This
# message is optional, and if the handler does not respond to it,
# the function will have an arity of -1.
# +name+:: this is the name of the function. The handler _must_ implement
# this message.
# +new+:: this must be implemented by the handler. It should return a new
# instance of the object that will handle a specific invocation of
# the function.
#
# The handler instance (the object returned by the +new+ message, described
# above), must respond to the following messages:
#
# +step+:: this is the method that will be called for each step of the
# aggregate function's evaluation. It should implement the same
# signature as the +step+ callback for #create_aggregate.
# +finalize+:: this is the method that will be called to finalize the
# aggregate function's evaluation. It should implement the
# same signature as the +finalize+ callback for
# #create_aggregate.
#
# Example:
#
# class LengthsAggregateHandler
# def self.arity; 1; end
# def self.name; 'lengths'; end
#
# def initialize
# @total = 0
# end
#
# def step( ctx, name )
# @total += ( name ? name.length : 0 )
# end
#
# def finalize( ctx )
# ctx.result = @total
# end
# end
#
# db.create_aggregate_handler( LengthsAggregateHandler )
# puts db.get_first_value( "select lengths(name) from A" )
#
# source://sqlite3//lib/sqlite3/database.rb#543
def create_aggregate_handler(handler); end
# Creates a new function for use in SQL statements. It will be added as
# +name+, with the given +arity+. (For variable arity functions, use
# -1 for the arity.)
#
# The block should accept at least one parameter--the FunctionProxy
# instance that wraps this function invocation--and any other
# arguments it needs (up to its arity).
#
# The block does not return a value directly. Instead, it will invoke
# the FunctionProxy#result= method on the +func+ parameter and
# indicate the return value that way.
#
# Example:
#
# db.create_function( "maim", 1 ) do |func, value|
# if value.nil?
# func.result = nil
# else
# func.result = value.split(//).sort.join
# end
# end
#
# puts db.get_first_value( "select maim(name) from table" )
#
# source://sqlite3//lib/sqlite3/database.rb#400
def create_function(name, arity, text_rep = T.unsafe(nil), &block); end
# Define an aggregate function named +name+ using a object template
# object +aggregator+. +aggregator+ must respond to +step+ and +finalize+.
# +step+ will be called with row information and +finalize+ must return the
# return value for the aggregator function.
#
# _API Change:_ +aggregator+ must also implement +clone+. The provided
# +aggregator+ object will serve as template that is cloned to provide the
# individual instances of the aggregate function. Regular ruby objects
# already provide a suitable +clone+.
# The functions arity is the arity of the +step+ method.
#
# source://sqlite3//lib/sqlite3/database.rb#580
def define_aggregator(name, aggregator); end
def define_function(_arg0); end
def define_function_with_flags(_arg0, _arg1); end
def enable_load_extension(_arg0); end
def encoding; end
def errcode; end
def errmsg; end
# Executes the given SQL statement. If additional parameters are given,
# they are treated as bind variables, and are bound to the placeholders in
# the query.
#
# Note that if any of the values passed to this are hashes, then the
# key/value pairs are each bound separately, with the key being used as
# the name of the placeholder to bind the value to.
#
# The block is optional. If given, it will be invoked for each row returned
# by the query. Otherwise, any results are accumulated into an array and
# returned wholesale.
#
# See also #execute2, #query, and #execute_batch for additional ways of
# executing statements.
#
# source://sqlite3//lib/sqlite3/database.rb#183
def execute(sql, bind_vars = T.unsafe(nil), *args, &block); end
# Executes the given SQL statement, exactly as with #execute. However, the
# first row returned (either via the block, or in the returned array) is
# always the names of the columns. Subsequent rows correspond to the data
# from the result set.
#
# Thus, even if the query itself returns no rows, this method will always
# return at least one row--the names of the columns.
#
# See also #execute, #query, and #execute_batch for additional ways of
# executing statements.
#
# source://sqlite3//lib/sqlite3/database.rb#222
def execute2(sql, *bind_vars); end
# Executes all SQL statements in the given string. By contrast, the other
# means of executing queries will only execute the first statement in the
# string, ignoring all subsequent statements. This will execute each one
# in turn. The same bind parameters, if given, will be applied to each
# statement.
#
# This always returns +nil+, making it unsuitable for queries that return
# rows.
#
# See also #execute_batch2 for additional ways of
# executing statements.
#
# source://sqlite3//lib/sqlite3/database.rb#246
def execute_batch(sql, bind_vars = T.unsafe(nil), *args); end
# Executes all SQL statements in the given string. By contrast, the other
# means of executing queries will only execute the first statement in the
# string, ignoring all subsequent statements. This will execute each one
# in turn. Bind parameters cannot be passed to #execute_batch2.
#
# If a query is made, all values will be returned as strings.
# If no query is made, an empty array will be returned.
#
# Because all values except for 'NULL' are returned as strings,
# a block can be passed to parse the values accordingly.
#
# See also #execute_batch for additional ways of
# executing statements.
#
# source://sqlite3//lib/sqlite3/database.rb#303
def execute_batch2(sql, &block); end
def extended_result_codes=(_arg0); end
# Returns the filename for the database named +db_name+. +db_name+ defaults
# to "main". Main return `nil` or an empty string if the database is
# temporary or in-memory.
#
# source://sqlite3//lib/sqlite3/database.rb#165
def filename(db_name = T.unsafe(nil)); end
# A convenience method for obtaining the first row of a result set, and
# discarding all others. It is otherwise identical to #execute.
#
# See also #get_first_value.
#
# source://sqlite3//lib/sqlite3/database.rb#357
def get_first_row(sql, *bind_vars); end
# A convenience method for obtaining the first value of the first row of a
# result set, and discarding all other values and rows. It is otherwise
# identical to #execute.
#
# See also #get_first_row.
#
# source://sqlite3//lib/sqlite3/database.rb#366
def get_first_value(sql, *bind_vars); end
def interrupt; end
def last_insert_row_id; end
def load_extension(_arg0); end
# Returns a Statement object representing the given SQL. This does not
# execute the statement; it merely prepares the statement for execution.
#
# The Statement can then be executed using Statement#execute.
#
# source://sqlite3//lib/sqlite3/database.rb#151
def prepare(sql); end
# This is a convenience method for creating a statement, binding
# parameters to it, and calling execute:
#
# result = db.query( "select * from foo where a=?", [5])
# # is the same as
# result = db.prepare( "select * from foo where a=?" ).execute( 5 )
#
# You must be sure to call +close+ on the ResultSet instance that is
# returned, or you could have problems with locks on the table. If called
# with a block, +close+ will be invoked implicitly when the block
# terminates.
#
# source://sqlite3//lib/sqlite3/database.rb#325
def query(sql, bind_vars = T.unsafe(nil), *args); end
# Returns +true+ if the database has been open in readonly mode
# A helper to check before performing any operation
#
# @return [Boolean]
#
# source://sqlite3//lib/sqlite3/database.rb#670
def readonly?; end
# A boolean that indicates whether rows in result sets should be returned
# as hashes or not. By default, rows are returned as arrays.
#
# source://sqlite3//lib/sqlite3/database.rb#55
def results_as_hash; end
# A boolean that indicates whether rows in result sets should be returned
# as hashes or not. By default, rows are returned as arrays.
#
# source://sqlite3//lib/sqlite3/database.rb#55
def results_as_hash=(_arg0); end
# Rolls the current transaction back. If there is no current transaction,
# this will cause an error to be raised. This returns +true+, in order
# to allow it to be used in idioms like
# abort? and rollback or commit.
#
# source://sqlite3//lib/sqlite3/database.rb#663
def rollback; end
def total_changes; end
def trace(*_arg0); end
# Begins a new transaction. Note that nested transactions are not allowed
# by SQLite, so attempting to nest a transaction will result in a runtime
# exception.
#
# The +mode+ parameter may be either :deferred (the default),
# :immediate, or :exclusive.
#
# If a block is given, the database instance is yielded to it, and the
# transaction is committed when the block terminates. If the block
# raises an exception, a rollback will be performed instead. Note that if
# a block is given, #commit and #rollback should never be called
# explicitly or you'll get an error when the block terminates.
#
# If a block is not given, it is the caller's responsibility to end the
# transaction explicitly, either by calling #commit, or by calling
# #rollback.
#
# source://sqlite3//lib/sqlite3/database.rb#632
def transaction(mode = T.unsafe(nil)); end
def transaction_active?; end
# Translates a +row+ of data from the database with the given +types+
#
# source://sqlite3//lib/sqlite3/database.rb#721
def translate_from_db(types, row); end
# Return the type translator employed by this database instance. Each
# database instance has its own type translator; this allows for different
# type handlers to be installed in each instance without affecting other
# instances. Furthermore, the translators are instantiated lazily, so that
# if a database does not use type translation, it will not be burdened by
# the overhead of a useless type translator. (See the Translator class.)
#
# source://sqlite3//lib/sqlite3/database.rb#134
def translator; end
# source://sqlite3//lib/sqlite3/database.rb#126
def type_translation; end
# source://sqlite3//lib/sqlite3/database.rb#117
def type_translation=(value); end
private
def db_filename(_arg0); end
def define_aggregator2(_arg0, _arg1); end
def disable_quirk_mode; end
def exec_batch(_arg0, _arg1); end
# source://sqlite3//lib/sqlite3/database.rb#729
def make_type_translator(should_translate); end
def open16(_arg0); end
def open_v2(_arg0, _arg1, _arg2); end
class << self
def open(*_arg0); end
# Quotes the given string, making it safe to use in an SQL statement.
# It replaces all instances of the single-quote character with two
# single-quote characters. The modified string is returned.
#
# source://sqlite3//lib/sqlite3/database.rb#47
def quote(string); end
end
end
# A helper class for dealing with custom functions (see #create_function,
# #create_aggregate, and #create_aggregate_handler). It encapsulates the
# opaque function object that represents the current invocation. It also
# provides more convenient access to the API functions that operate on
# the function object.
#
# This class will almost _always_ be instantiated indirectly, by working
# with the create methods mentioned above.
class SQLite3::Database::FunctionProxy
# Create a new FunctionProxy that encapsulates the given +func+ object.
# If context is non-nil, the functions context will be set to that. If
# it is non-nil, it must quack like a Hash. If it is nil, then none of
# the context functions will be available.
#
# @return [FunctionProxy] a new instance of FunctionProxy
#
# source://sqlite3//lib/sqlite3/database.rb#689
def initialize; end
# Returns the value with the given key from the context. This is only
# available to aggregate functions.
#
# source://sqlite3//lib/sqlite3/database.rb#709
def [](key); end
# Sets the value with the given key in the context. This is only
# available to aggregate functions.
#
# source://sqlite3//lib/sqlite3/database.rb#715
def []=(key, value); end
# (Only available to aggregate functions.) Returns the number of rows
# that the aggregate has processed so far. This will include the current
# row, and so will always return at least 1.
#
# source://sqlite3//lib/sqlite3/database.rb#703
def count; end
# Returns the value of attribute result.
#
# source://sqlite3//lib/sqlite3/database.rb#683
def result; end
# Sets the attribute result
#
# @param value the value to set the attribute result to.
#
# source://sqlite3//lib/sqlite3/database.rb#683
def result=(_arg0); end
# Set the result of the function to the given error message.
# The function will then return that error.
#
# source://sqlite3//lib/sqlite3/database.rb#696
def set_error(error); end
end
# source://sqlite3//lib/sqlite3/database.rb#727
SQLite3::Database::NULL_TRANSLATOR = T.let(T.unsafe(nil), Proc)
class SQLite3::EmptyException < ::SQLite3::Exception; end
class SQLite3::Exception < ::StandardError
# A convenience for accessing the error code for this exception.
#
# source://sqlite3//lib/sqlite3/errors.rb#6
def code; end
end
class SQLite3::FormatException < ::SQLite3::Exception; end
class SQLite3::FullException < ::SQLite3::Exception; end
class SQLite3::IOException < ::SQLite3::Exception; end
class SQLite3::InternalException < ::SQLite3::Exception; end
class SQLite3::InterruptException < ::SQLite3::Exception; end
class SQLite3::LockedException < ::SQLite3::Exception; end
class SQLite3::MemoryException < ::SQLite3::Exception; end
class SQLite3::MismatchException < ::SQLite3::Exception; end
class SQLite3::MisuseException < ::SQLite3::Exception; end
class SQLite3::NotADatabaseException < ::SQLite3::Exception; end
class SQLite3::NotFoundException < ::SQLite3::Exception; end
class SQLite3::PermissionException < ::SQLite3::Exception; end
# This module is intended for inclusion solely by the Database class. It
# defines convenience methods for the various pragmas supported by SQLite3.
#
# For a detailed description of these pragmas, see the SQLite3 documentation
# at http://sqlite.org/pragma.html.
module SQLite3::Pragmas
# source://sqlite3//lib/sqlite3/pragmas.rb#104
def application_id; end
# source://sqlite3//lib/sqlite3/pragmas.rb#108
def application_id=(integer); end
# source://sqlite3//lib/sqlite3/pragmas.rb#112
def auto_vacuum; end
# source://sqlite3//lib/sqlite3/pragmas.rb#116
def auto_vacuum=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#120
def automatic_index; end
# source://sqlite3//lib/sqlite3/pragmas.rb#124
def automatic_index=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#128
def busy_timeout; end
# source://sqlite3//lib/sqlite3/pragmas.rb#132
def busy_timeout=(milliseconds); end
# source://sqlite3//lib/sqlite3/pragmas.rb#136
def cache_size; end
# source://sqlite3//lib/sqlite3/pragmas.rb#140
def cache_size=(size); end
# source://sqlite3//lib/sqlite3/pragmas.rb#144
def cache_spill; end
# source://sqlite3//lib/sqlite3/pragmas.rb#148
def cache_spill=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#152
def case_sensitive_like=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#156
def cell_size_check; end
# source://sqlite3//lib/sqlite3/pragmas.rb#160
def cell_size_check=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#164
def checkpoint_fullfsync; end
# source://sqlite3//lib/sqlite3/pragmas.rb#168
def checkpoint_fullfsync=(mode); end
# :yields: row
#
# source://sqlite3//lib/sqlite3/pragmas.rb#172
def collation_list(&block); end
# :yields: row
#
# source://sqlite3//lib/sqlite3/pragmas.rb#176
def compile_options(&block); end
# source://sqlite3//lib/sqlite3/pragmas.rb#180
def count_changes; end
# source://sqlite3//lib/sqlite3/pragmas.rb#184
def count_changes=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#188
def data_version; end
# :yields: row
#
# source://sqlite3//lib/sqlite3/pragmas.rb#192
def database_list(&block); end
# source://sqlite3//lib/sqlite3/pragmas.rb#196
def default_cache_size; end
# source://sqlite3//lib/sqlite3/pragmas.rb#200
def default_cache_size=(size); end
# source://sqlite3//lib/sqlite3/pragmas.rb#204
def default_synchronous; end
# source://sqlite3//lib/sqlite3/pragmas.rb#208
def default_synchronous=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#212
def default_temp_store; end
# source://sqlite3//lib/sqlite3/pragmas.rb#216
def default_temp_store=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#220
def defer_foreign_keys; end
# source://sqlite3//lib/sqlite3/pragmas.rb#224
def defer_foreign_keys=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#228
def encoding; end
# source://sqlite3//lib/sqlite3/pragmas.rb#232
def encoding=(mode); end
# :yields: row
#
# source://sqlite3//lib/sqlite3/pragmas.rb#236
def foreign_key_check(*table, &block); end
# :yields: row
#
# source://sqlite3//lib/sqlite3/pragmas.rb#240
def foreign_key_list(table, &block); end
# source://sqlite3//lib/sqlite3/pragmas.rb#244
def foreign_keys; end
# source://sqlite3//lib/sqlite3/pragmas.rb#248
def foreign_keys=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#252
def freelist_count; end
# source://sqlite3//lib/sqlite3/pragmas.rb#256
def full_column_names; end
# source://sqlite3//lib/sqlite3/pragmas.rb#260
def full_column_names=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#264
def fullfsync; end
# source://sqlite3//lib/sqlite3/pragmas.rb#268
def fullfsync=(mode); end
# Returns +true+ or +false+ depending on the value of the named pragma.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#13
def get_boolean_pragma(name); end
# Return the value of the given pragma.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#55
def get_enum_pragma(name); end
# Returns the value of the given pragma as an integer.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#72
def get_int_pragma(name); end
# Requests the given pragma (and parameters), and if the block is given,
# each row of the result set will be yielded to it. Otherwise, the results
# are returned as an array.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#45
def get_query_pragma(name, *params, &block); end
# source://sqlite3//lib/sqlite3/pragmas.rb#272
def ignore_check_constraints=(mode); end
# :yields: row
#
# source://sqlite3//lib/sqlite3/pragmas.rb#276
def incremental_vacuum(pages, &block); end
# :yields: row
#
# source://sqlite3//lib/sqlite3/pragmas.rb#280
def index_info(index, &block); end
# :yields: row
#
# source://sqlite3//lib/sqlite3/pragmas.rb#284
def index_list(table, &block); end
# :yields: row
#
# source://sqlite3//lib/sqlite3/pragmas.rb#288
def index_xinfo(index, &block); end
# :yields: row
#
# source://sqlite3//lib/sqlite3/pragmas.rb#292
def integrity_check(*num_errors, &block); end
# source://sqlite3//lib/sqlite3/pragmas.rb#296
def journal_mode; end
# source://sqlite3//lib/sqlite3/pragmas.rb#300
def journal_mode=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#304
def journal_size_limit; end
# source://sqlite3//lib/sqlite3/pragmas.rb#308
def journal_size_limit=(size); end
# source://sqlite3//lib/sqlite3/pragmas.rb#312
def legacy_file_format; end
# source://sqlite3//lib/sqlite3/pragmas.rb#316
def legacy_file_format=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#320
def locking_mode; end
# source://sqlite3//lib/sqlite3/pragmas.rb#324
def locking_mode=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#328
def max_page_count; end
# source://sqlite3//lib/sqlite3/pragmas.rb#332
def max_page_count=(size); end
# source://sqlite3//lib/sqlite3/pragmas.rb#336
def mmap_size; end
# source://sqlite3//lib/sqlite3/pragmas.rb#340
def mmap_size=(size); end
# source://sqlite3//lib/sqlite3/pragmas.rb#344
def page_count; end
# source://sqlite3//lib/sqlite3/pragmas.rb#348
def page_size; end
# source://sqlite3//lib/sqlite3/pragmas.rb#352
def page_size=(size); end
# source://sqlite3//lib/sqlite3/pragmas.rb#356
def parser_trace=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#360
def query_only; end
# source://sqlite3//lib/sqlite3/pragmas.rb#364
def query_only=(mode); end
# :yields: row
#
# source://sqlite3//lib/sqlite3/pragmas.rb#368
def quick_check(*num_errors, &block); end
# source://sqlite3//lib/sqlite3/pragmas.rb#372
def read_uncommitted; end
# source://sqlite3//lib/sqlite3/pragmas.rb#376
def read_uncommitted=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#380
def recursive_triggers; end
# source://sqlite3//lib/sqlite3/pragmas.rb#384
def recursive_triggers=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#388
def reverse_unordered_selects; end
# source://sqlite3//lib/sqlite3/pragmas.rb#392
def reverse_unordered_selects=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#396
def schema_cookie; end
# source://sqlite3//lib/sqlite3/pragmas.rb#400
def schema_cookie=(cookie); end
# source://sqlite3//lib/sqlite3/pragmas.rb#404
def schema_version; end
# source://sqlite3//lib/sqlite3/pragmas.rb#408
def schema_version=(version); end
# source://sqlite3//lib/sqlite3/pragmas.rb#412
def secure_delete; end
# source://sqlite3//lib/sqlite3/pragmas.rb#416
def secure_delete=(mode); end
# Sets the given pragma to the given boolean value. The value itself
# may be +true+ or +false+, or any other commonly used string or
# integer that represents truth.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#20
def set_boolean_pragma(name, mode); end
# Set the value of the given pragma to +mode+. The +mode+ parameter must
# conform to one of the values in the given +enum+ array. Each entry in
# the array is another array comprised of elements in the enumeration that
# have duplicate values. See #synchronous, #default_synchronous,
# #temp_store, and #default_temp_store for usage examples.
#
# @raise [Exception]
#
# source://sqlite3//lib/sqlite3/pragmas.rb#64
def set_enum_pragma(name, mode, enums); end
# Set the value of the given pragma to the integer value of the +value+
# parameter.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#78
def set_int_pragma(name, value); end
# source://sqlite3//lib/sqlite3/pragmas.rb#420
def short_column_names; end
# source://sqlite3//lib/sqlite3/pragmas.rb#424
def short_column_names=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#428
def shrink_memory; end
# source://sqlite3//lib/sqlite3/pragmas.rb#432
def soft_heap_limit; end
# source://sqlite3//lib/sqlite3/pragmas.rb#436
def soft_heap_limit=(mode); end
# :yields: row
#
# source://sqlite3//lib/sqlite3/pragmas.rb#440
def stats(&block); end
# source://sqlite3//lib/sqlite3/pragmas.rb#444
def synchronous; end
# source://sqlite3//lib/sqlite3/pragmas.rb#448
def synchronous=(mode); end
# Returns information about +table+. Yields each row of table information
# if a block is provided.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#527
def table_info(table); end
# source://sqlite3//lib/sqlite3/pragmas.rb#452
def temp_store; end
# source://sqlite3//lib/sqlite3/pragmas.rb#456
def temp_store=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#460
def threads; end
# source://sqlite3//lib/sqlite3/pragmas.rb#464
def threads=(count); end
# source://sqlite3//lib/sqlite3/pragmas.rb#468
def user_cookie; end
# source://sqlite3//lib/sqlite3/pragmas.rb#472
def user_cookie=(cookie); end
# source://sqlite3//lib/sqlite3/pragmas.rb#476
def user_version; end
# source://sqlite3//lib/sqlite3/pragmas.rb#480
def user_version=(version); end
# source://sqlite3//lib/sqlite3/pragmas.rb#484
def vdbe_addoptrace=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#488
def vdbe_debug=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#492
def vdbe_listing=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#496
def vdbe_trace; end
# source://sqlite3//lib/sqlite3/pragmas.rb#500
def vdbe_trace=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#504
def wal_autocheckpoint; end
# source://sqlite3//lib/sqlite3/pragmas.rb#508
def wal_autocheckpoint=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#512
def wal_checkpoint; end
# source://sqlite3//lib/sqlite3/pragmas.rb#516
def wal_checkpoint=(mode); end
# source://sqlite3//lib/sqlite3/pragmas.rb#520
def writable_schema=(mode); end
private
# Since SQLite 3.3.8, the table_info pragma has returned the default
# value of the row as a quoted SQL value. This method essentially
# unquotes those values.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#583
def tweak_default(hash); end
# Compares two version strings
#
# source://sqlite3//lib/sqlite3/pragmas.rb#567
def version_compare(v1, v2); end
end
# The enumeration of valid auto vacuum modes.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#89
SQLite3::Pragmas::AUTO_VACUUM_MODES = T.let(T.unsafe(nil), Array)
# The list of valid encodings.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#99
SQLite3::Pragmas::ENCODINGS = T.let(T.unsafe(nil), Array)
# The list of valid journaling modes.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#92
SQLite3::Pragmas::JOURNAL_MODES = T.let(T.unsafe(nil), Array)
# The list of valid locking modes.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#96
SQLite3::Pragmas::LOCKING_MODES = T.let(T.unsafe(nil), Array)
# The enumeration of valid synchronous modes.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#83
SQLite3::Pragmas::SYNCHRONOUS_MODES = T.let(T.unsafe(nil), Array)
# The enumeration of valid temp store modes.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#86
SQLite3::Pragmas::TEMP_STORE_MODES = T.let(T.unsafe(nil), Array)
# The list of valid WAL checkpoints.
#
# source://sqlite3//lib/sqlite3/pragmas.rb#102
SQLite3::Pragmas::WAL_CHECKPOINTS = T.let(T.unsafe(nil), Array)
class SQLite3::ProtocolException < ::SQLite3::Exception; end
class SQLite3::RangeException < ::SQLite3::Exception; end
class SQLite3::ReadOnlyException < ::SQLite3::Exception; end
# The ResultSet object encapsulates the enumerability of a query's output.
# It is a simple cursor over the data that the query returns. It will
# very rarely (if ever) be instantiated directly. Instead, clients should
# obtain a ResultSet instance via Statement#execute.
class SQLite3::ResultSet
include ::Enumerable
# Create a new ResultSet attached to the given database, using the
# given sql text.
#
# @return [ResultSet] a new instance of ResultSet
#
# source://sqlite3//lib/sqlite3/resultset.rb#72
def initialize(db, stmt); end
# Closes the statement that spawned this result set.
# Use with caution! Closing a result set will automatically
# close any other result sets that were spawned from the same statement.
#
# source://sqlite3//lib/sqlite3/resultset.rb#149
def close; end
# Queries whether the underlying statement has been closed or not.
#
# @return [Boolean]
#
# source://sqlite3//lib/sqlite3/resultset.rb#154
def closed?; end
# Returns the names of the columns returned by this result set.
#
# source://sqlite3//lib/sqlite3/resultset.rb#164
def columns; end
# Required by the Enumerable mixin. Provides an internal iterator over the
# rows of the result set.
#
# source://sqlite3//lib/sqlite3/resultset.rb#132
def each; end
# Provides an internal iterator over the rows of the result set where
# each row is yielded as a hash.
#
# source://sqlite3//lib/sqlite3/resultset.rb#140
def each_hash; end
# Query whether the cursor has reached the end of the result set or not.
#
# @return [Boolean]
#
# source://sqlite3//lib/sqlite3/resultset.rb#86
def eof?; end
# Obtain the next row from the cursor. If there are no more rows to be
# had, this will return +nil+. If type translation is active on the
# corresponding database, the values in the row will be translated
# according to their types.
#
# The returned value will be an array, unless Database#results_as_hash has
# been set to +true+, in which case the returned value will be a hash.
#
# For arrays, the column names are accessible via the +fields+ property,
# and the column types are accessible via the +types+ property.
#
# For hashes, the column names are the keys of the hash, and the column
# types are accessible via the +types+ property.
#
# source://sqlite3//lib/sqlite3/resultset.rb#103
def next; end
# Return the next row as a hash
#
# source://sqlite3//lib/sqlite3/resultset.rb#169
def next_hash; end
# Reset the cursor, so that a result set which has reached end-of-file
# can be rewound and reiterated.
#
# source://sqlite3//lib/sqlite3/resultset.rb#79
def reset(*bind_params); end
# Returns the types of the columns returned by this result set.
#
# source://sqlite3//lib/sqlite3/resultset.rb#159
def types; end
end
class SQLite3::ResultSet::ArrayWithTypes < ::Array
# Returns the value of attribute types.
#
# source://sqlite3//lib/sqlite3/resultset.rb#14
def types; end
# Sets the attribute types
#
# @param value the value to set the attribute types to.
#
# source://sqlite3//lib/sqlite3/resultset.rb#14
def types=(_arg0); end
end
class SQLite3::ResultSet::ArrayWithTypesAndFields < ::Array
# source://sqlite3//lib/sqlite3/resultset.rb#30
def fields; end
# Sets the attribute fields
#
# @param value the value to set the attribute fields to.
#
# source://sqlite3//lib/sqlite3/resultset.rb#19
def fields=(_arg0); end
# source://sqlite3//lib/sqlite3/resultset.rb#21
def types; end
# Sets the attribute types
#
# @param value the value to set the attribute types to.
#
# source://sqlite3//lib/sqlite3/resultset.rb#18
def types=(_arg0); end
end
# The class of which we return an object in case we want a Hash as
# result.
class SQLite3::ResultSet::HashWithTypesAndFields < ::Hash
# source://sqlite3//lib/sqlite3/resultset.rb#64
def [](key); end
# source://sqlite3//lib/sqlite3/resultset.rb#55
def fields; end
# Sets the attribute fields
#
# @param value the value to set the attribute fields to.
#
# source://sqlite3//lib/sqlite3/resultset.rb#44
def fields=(_arg0); end
# source://sqlite3//lib/sqlite3/resultset.rb#46
def types; end
# source://sqlite3//lib/sqlite3/resultset.rb#43
def types=(_arg0); end
end
class SQLite3::SQLException < ::SQLite3::Exception; end
SQLite3::SQLITE_LOADED_VERSION = T.let(T.unsafe(nil), String)
SQLite3::SQLITE_VERSION = T.let(T.unsafe(nil), String)
SQLite3::SQLITE_VERSION_NUMBER = T.let(T.unsafe(nil), Integer)
class SQLite3::SchemaChangedException < ::SQLite3::Exception; end
# A statement represents a prepared-but-unexecuted SQL query. It will rarely
# (if ever) be instantiated directly by a client, and is most often obtained
# via the Database#prepare method.
class SQLite3::Statement
include ::Enumerable
def initialize(_arg0, _arg1); end
# Returns true if the statement is currently active, meaning it has an
# open result set.
#
# @return [Boolean]
#
# source://sqlite3//lib/sqlite3/statement.rb#94
def active?; end
def bind_param(_arg0, _arg1); end
def bind_parameter_count; end
# Binds the given variables to the corresponding placeholders in the SQL
# text.
#
# See Database#execute for a description of the valid placeholder
# syntaxes.
#
# Example:
#
# stmt = db.prepare( "select * from table where a=? and b=?" )
# stmt.bind_params( 15, "hello" )
#
# See also #execute, #bind_param, Statement#bind_param, and
# Statement#bind_params.
#
# source://sqlite3//lib/sqlite3/statement.rb#35
def bind_params(*bind_vars); end
def clear_bindings!; end
def close; end
def closed?; end
def column_count; end
def column_decltype(_arg0); end
def column_name(_arg0); end
# Return an array of the column names for this statement. Note that this
# may execute the statement in order to obtain the metadata; this makes it
# a (potentially) expensive operation.
#
# source://sqlite3//lib/sqlite3/statement.rb#101
def columns; end
def done?; end
# source://sqlite3//lib/sqlite3/statement.rb#106
def each; end
# Execute the statement. This creates a new ResultSet object for the
# statement's virtual machine. If a block was given, the new ResultSet will
# be yielded to it; otherwise, the ResultSet will be returned.
#
# Any parameters will be bound to the statement using #bind_params.
#
# Example:
#
# stmt = db.prepare( "select * from table" )
# stmt.execute do |result|
# ...
# end
#
# See also #bind_params, #execute!.
#
# @yield [@results]
#
# source://sqlite3//lib/sqlite3/statement.rb#61
def execute(*bind_vars); end
# Execute the statement. If no block was given, this returns an array of
# rows returned by executing the statement. Otherwise, each row will be
# yielded to the block.
#
# Any parameters will be bound to the statement using #bind_params.
#
# Example:
#
# stmt = db.prepare( "select * from table" )
# stmt.execute! do |row|
# ...
# end
#
# See also #bind_params, #execute.
#
# source://sqlite3//lib/sqlite3/statement.rb#87
def execute!(*bind_vars, &block); end
# Performs a sanity check to ensure that the statement is not
# closed. If it is, an exception is raised.
#
# source://sqlite3//lib/sqlite3/statement.rb#125
def must_be_open!; end
# This is any text that followed the first valid SQL statement in the text
# with which the statement was initialized. If there was no trailing text,
# this will be the empty string.
#
# source://sqlite3//lib/sqlite3/statement.rb#20
def remainder; end
def reset!; end
def step; end
# Return an array of the data types for each column in this statement. Note
# that this may execute the statement in order to obtain the metadata; this
# makes it a (potentially) expensive operation.
#
# source://sqlite3//lib/sqlite3/statement.rb#117
def types; end
private
# A convenience method for obtaining the metadata about the query. Note
# that this will actually execute the SQL, which means it can be a
# (potentially) expensive operation.
#
# source://sqlite3//lib/sqlite3/statement.rb#135
def get_metadata; end
end
class SQLite3::TooBigException < ::SQLite3::Exception; end
# The Translator class encapsulates the logic and callbacks necessary for
# converting string data to a value of some specified type. Every Database
# instance may have a Translator instance, in order to assist in type
# translation (Database#type_translation).
#
# Further, applications may define their own custom type translation logic
# by registering translator blocks with the corresponding database's
# translator instance (Database#translator).
class SQLite3::Translator
# Create a new Translator instance. It will be preinitialized with default
# translators for most SQL data types.
#
# @return [Translator] a new instance of Translator
#
# source://sqlite3//lib/sqlite3/translator.rb#18
def initialize; end
# Add a new translator block, which will be invoked to process type
# translations to the given type. The type should be an SQL datatype, and
# may include parentheses (i.e., "VARCHAR(30)"). However, any parenthetical
# information is stripped off and discarded, so type translation decisions
# are made solely on the "base" type name.
#
# The translator block itself should accept two parameters, "type" and
# "value". In this case, the "type" is the full type name (including
# parentheses), so the block itself may include logic for changing how a
# type is translated based on the additional data. The "value" parameter
# is the (string) data to convert.
#
# The block should return the translated value.
#
# source://sqlite3//lib/sqlite3/translator.rb#37
def add_translator(type, &block); end
# Translate the given string value to a value of the given type. In the
# absence of an installed translator block for the given type, the value
# itself is always returned. Further, +nil+ values are never translated,
# and are always passed straight through regardless of the type parameter.
#
# source://sqlite3//lib/sqlite3/translator.rb#49
def translate(type, value); end
private
# Register the default translators for the current Translator instance.
# This includes translators for most major SQL data types.
#
# source://sqlite3//lib/sqlite3/translator.rb#73
def register_default_translators; end
# A convenience method for working with type names. This returns the "base"
# type name, without any parenthetical data.
#
# source://sqlite3//lib/sqlite3/translator.rb#62
def type_name(type); end
end
class SQLite3::UnsupportedException < ::SQLite3::Exception; end
# source://sqlite3//lib/sqlite3/version.rb#3
SQLite3::VERSION = T.let(T.unsafe(nil), String)
class SQLite3::Value
# @return [Value] a new instance of Value
#
# source://sqlite3//lib/sqlite3/value.rb#8
def initialize(db, handle); end
# Returns the value of attribute handle.
#
# source://sqlite3//lib/sqlite3/value.rb#6
def handle; end
# source://sqlite3//lib/sqlite3/value.rb#21
def length(utf16 = T.unsafe(nil)); end
# @return [Boolean]
#
# source://sqlite3//lib/sqlite3/value.rb#13
def null?; end
# source://sqlite3//lib/sqlite3/value.rb#17
def to_blob; end
# source://sqlite3//lib/sqlite3/value.rb#29
def to_f; end
# source://sqlite3//lib/sqlite3/value.rb#33
def to_i; end
# source://sqlite3//lib/sqlite3/value.rb#37
def to_int64; end
# source://sqlite3//lib/sqlite3/value.rb#41
def to_s(utf16 = T.unsafe(nil)); end
# source://sqlite3//lib/sqlite3/value.rb#45
def type; end
end
module SQLite3::VersionProxy; end
# source://sqlite3//lib/sqlite3/version.rb#9
SQLite3::VersionProxy::BUILD = T.let(T.unsafe(nil), T.untyped)
# source://sqlite3//lib/sqlite3/version.rb#6
SQLite3::VersionProxy::MAJOR = T.let(T.unsafe(nil), Integer)
# source://sqlite3//lib/sqlite3/version.rb#7
SQLite3::VersionProxy::MINOR = T.let(T.unsafe(nil), Integer)
# source://sqlite3//lib/sqlite3/version.rb#11
SQLite3::VersionProxy::STRING = T.let(T.unsafe(nil), String)
# source://sqlite3//lib/sqlite3/version.rb#8
SQLite3::VersionProxy::TINY = T.let(T.unsafe(nil), Integer)
# source://sqlite3//lib/sqlite3/version.rb#13
SQLite3::VersionProxy::VERSION = T.let(T.unsafe(nil), String)
class String
include ::Comparable
# source://sqlite3//lib/sqlite3/statement.rb#5
def to_blob; end
end