def initialize( filename, mode = "w+", opts = {})
@open = false
@profile_tap = nil
@trace_tap = nil
@type_map = ::Amalgalite::TypeMaps::DefaultMap.new
@functions = Hash.new
@aggregates = Hash.new
@utf16 = false
unless VALID_MODES.keys.include?( mode )
raise InvalidModeError, "#{mode} is invalid, must be one of #{VALID_MODES.keys.join(', ')}"
end
if not File.exist?( filename ) and opts[:utf16] then
raise NotImplementedError, "Currently Amalgalite has not implemented utf16 support"
else
@api = Amalgalite::SQLite3::Database.open( filename, VALID_MODES[mode] )
end
@open = true
end