Method: SQLite3::Database#load_extension

Defined in:
lib/sqlite3/database.rb

#load_extension(extension_specifier) ⇒ Object

call-seq:

load_extension(extension_specifier) -> self

Loads an SQLite extension library from the named file. Extension loading must be enabled using #enable_load_extension prior to using this method.

See also: Database@SQLite+Extensions

Parameters
  • extension_specifier: (String | _ExtensionSpecifier) If a String, it is the filesystem path to the sqlite extension file. If an object that responds to #to_path, the return value of that method is used as the filesystem path to the sqlite extension file.

Example

Using a filesystem path:

db.load_extension("/path/to/my_extension.so")
Example

Using the sqlean gem:

db.load_extension(SQLean::VSV)


729
730
731
732
733
734
735
736
# File 'lib/sqlite3/database.rb', line 729

def load_extension(extension_specifier)
  if extension_specifier.respond_to?(:to_path)
    extension_specifier = extension_specifier.to_path
  elsif !extension_specifier.is_a?(String)
    raise TypeError, "extension_specifier #{extension_specifier.inspect} is not a String or a valid extension specifier object"
  end
  load_extension_internal(extension_specifier)
end