app/server.rb in sqlui-0.1.40 vs app/server.rb in sqlui-0.1.41

- old
+ new

@@ -10,10 +10,15 @@ require_relative 'sqlui' # SQLUI Sinatra server. class Server < Sinatra::Base def self.init_and_run(config, resources_dir) + Mysql2::Client.default_query_options[:as] = :array + Mysql2::Client.default_query_options[:cast_booleans] = true + Mysql2::Client.default_query_options[:database_timezone] = :utc + Mysql2::Client.default_query_options[:cache_rows] = false + set :logging, true set :bind, '0.0.0.0' set :port, config.port set :environment, config.environment set :raise_errors, false @@ -56,10 +61,11 @@ { server: "#{config.name} - #{database.display_name}", list_url_path: config.list_url_path, schemas: DatabaseMetadata.lookup(client, database), table_aliases: database.table_aliases, + joins: database.joins, saved: Dir.glob("#{database.saved_path}/*.sql").to_h do |path| contents = File.read(path) comment_lines = contents.split("\n").take_while do |l| l.start_with?('--') end @@ -162,11 +168,11 @@ result = results[-1] # NOTE: the call to result.field_types must go before any other interaction with the result. Otherwise you will # get a seg fault. Seems to be a bug in Mysql2. if result column_types = MysqlTypes.map_to_google_charts_types(result.field_types) - rows = result.map(&:values) - columns = result.first&.keys || [] + rows = result.to_a + columns = result.fields else column_types = [] rows = [] columns = [] end