2016-01-28 22:41:12 +00:00
|
|
|
module DB
|
2016-01-29 22:21:48 +00:00
|
|
|
TYPES = [String, Int32, Int64, Float32, Float64, Slice(UInt8)]
|
|
|
|
alias Any = String | Int32 | Int64 | Float32 | Float64 | Slice(UInt8)
|
2016-01-29 19:13:01 +00:00
|
|
|
|
2016-01-28 22:41:12 +00:00
|
|
|
def self.driver_class(name) # : Driver.class
|
|
|
|
@@drivers.not_nil![name]
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.register_driver(name, klass : Driver.class)
|
|
|
|
@@drivers ||= {} of String => Driver.class
|
|
|
|
@@drivers.not_nil![name] = klass
|
|
|
|
end
|
|
|
|
|
2016-01-29 19:13:01 +00:00
|
|
|
def self.open(name, options)
|
|
|
|
Database.new(driver_class(name), options)
|
2016-01-28 22:41:12 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-01-29 19:13:01 +00:00
|
|
|
require "./database"
|
2016-01-28 22:41:12 +00:00
|
|
|
require "./driver"
|
2016-01-28 23:31:35 +00:00
|
|
|
require "./statement"
|
|
|
|
require "./result_set"
|