Class: Sequel::JDBC::Postgres::Dataset

Inherits:
Dataset show all
Includes:
Postgres::DatasetMethods
Defined in:
lib/sequel/adapters/jdbc/postgresql.rb

Overview

Dataset subclass used for datasets that connect to PostgreSQL via JDBC.

Constant Summary collapse

APOS =
Dataset::APOS
PG_ARRAY_METHOD =
TYPE_TRANSLATOR_INSTANCE.method(:pg_array)
PG_OBJECT_METHOD =
TYPE_TRANSLATOR_INSTANCE.method(:pg_object)

Constants included from Postgres::DatasetMethods

Postgres::DatasetMethods::ACCESS_EXCLUSIVE, Postgres::DatasetMethods::ACCESS_SHARE, Postgres::DatasetMethods::APOS_RE, Postgres::DatasetMethods::AS, Postgres::DatasetMethods::BLOB_RE, Postgres::DatasetMethods::BOOL_FALSE, Postgres::DatasetMethods::BOOL_TRUE, Postgres::DatasetMethods::COMMA, Postgres::DatasetMethods::COMMA_SEPARATOR, Postgres::DatasetMethods::CRLF, Postgres::DatasetMethods::DELETE_CLAUSE_METHODS, Postgres::DatasetMethods::DELETE_CLAUSE_METHODS_91, Postgres::DatasetMethods::DOUBLE_APOS, Postgres::DatasetMethods::EMPTY_STRING, Postgres::DatasetMethods::EXCLUSIVE, Postgres::DatasetMethods::EXPLAIN, Postgres::DatasetMethods::EXPLAIN_ANALYZE, Postgres::DatasetMethods::FOR_SHARE, Postgres::DatasetMethods::FROM, Postgres::DatasetMethods::INSERT_CLAUSE_METHODS, Postgres::DatasetMethods::INSERT_CLAUSE_METHODS_91, Postgres::DatasetMethods::LOCK, Postgres::DatasetMethods::NULL, Postgres::DatasetMethods::PAREN_CLOSE, Postgres::DatasetMethods::PAREN_OPEN, Postgres::DatasetMethods::PG_TIMESTAMP_FORMAT, Postgres::DatasetMethods::QUERY_PLAN, Postgres::DatasetMethods::ROW_EXCLUSIVE, Postgres::DatasetMethods::ROW_SHARE, Postgres::DatasetMethods::SELECT_CLAUSE_METHODS, Postgres::DatasetMethods::SELECT_CLAUSE_METHODS_84, Postgres::DatasetMethods::SHARE, Postgres::DatasetMethods::SHARE_ROW_EXCLUSIVE, Postgres::DatasetMethods::SHARE_UPDATE_EXCLUSIVE, Postgres::DatasetMethods::SPACE, Postgres::DatasetMethods::SQL_WITH_RECURSIVE, Postgres::DatasetMethods::UPDATE_CLAUSE_METHODS, Postgres::DatasetMethods::UPDATE_CLAUSE_METHODS_91, Postgres::DatasetMethods::WINDOW, Postgres::DatasetMethods::XOR_OP

Constants inherited from Dataset

Dataset::ACTION_METHODS, Dataset::ALL, Dataset::AND_SEPARATOR, Dataset::APOS_RE, Dataset::ARG_BLOCK_ERROR_MSG, Dataset::ARRAY_ACCESS_ERROR_MSG, Dataset::ARRAY_EMPTY, Dataset::AS, Dataset::ASC, Dataset::BOOL_FALSE, Dataset::BOOL_TRUE, Dataset::BRACKET_CLOSE, Dataset::BRACKET_OPEN, Dataset::CASE_ELSE, Dataset::CASE_END, Dataset::CASE_OPEN, Dataset::CASE_THEN, Dataset::CASE_WHEN, Dataset::CAST_OPEN, Dataset::COLUMN_CHANGE_OPTS, Dataset::COLUMN_REF_RE1, Dataset::COLUMN_REF_RE2, Dataset::COLUMN_REF_RE3, Dataset::COMMA, Dataset::COMMA_SEPARATOR, Dataset::CONDITIONED_JOIN_TYPES, Dataset::CONDITION_FALSE, Dataset::CONDITION_TRUE, Dataset::COUNT_FROM_SELF_OPTS, Dataset::COUNT_OF_ALL_AS_COUNT, Dataset::DATASET_ALIAS_BASE_NAME, Dataset::DEFAULT, Dataset::DEFAULT_VALUES, Dataset::DELETE, Dataset::DELETE_CLAUSE_METHODS, Dataset::DESC, Dataset::DISTINCT, Dataset::DOT, Dataset::DOUBLE_APOS, Dataset::DOUBLE_QUOTE, Dataset::EQUAL, Dataset::EXISTS, Dataset::EXTRACT, Dataset::FORMAT_DATE, Dataset::FORMAT_DATE_STANDARD, Dataset::FORMAT_OFFSET, Dataset::FORMAT_TIMESTAMP_RE, Dataset::FORMAT_TIMESTAMP_USEC, Dataset::FORMAT_USEC, Dataset::FOR_UPDATE, Dataset::FRAME_ALL, Dataset::FRAME_ROWS, Dataset::FROM, Dataset::FUNCTION_EMPTY, Dataset::GROUP_BY, Dataset::HAVING, Dataset::IMPORT_ERROR_MSG, Dataset::INSERT, Dataset::INSERT_CLAUSE_METHODS, Dataset::INTO, Dataset::IS_LITERALS, Dataset::IS_OPERATORS, Dataset::JOIN_METHODS, Dataset::LIMIT, Dataset::MUTATION_METHODS, Dataset::NON_SQL_OPTIONS, Dataset::NOTIMPL_MSG, Dataset::NOT_SPACE, Dataset::NULL, Dataset::NULLS_FIRST, Dataset::NULLS_LAST, Dataset::N_ARITY_OPERATORS, Dataset::OFFSET, Dataset::ON, Dataset::ON_PAREN, Dataset::ORDER_BY, Dataset::ORDER_BY_NS, Dataset::OVER, Dataset::PAREN_CLOSE, Dataset::PAREN_OPEN, Dataset::PAREN_SPACE_OPEN, Dataset::PARTITION_BY, Dataset::PREPARED_ARG_PLACEHOLDER, Dataset::PRIVATE_APPEND_METHODS, Dataset::PUBLIC_APPEND_METHODS, Dataset::QUALIFY_KEYS, Dataset::QUERY_METHODS, Dataset::QUESTION_MARK, Dataset::QUESTION_MARK_RE, Dataset::QUOTE, Dataset::QUOTE_RE, Dataset::RETURNING, Dataset::SELECT, Dataset::SELECT_CLAUSE_METHODS, Dataset::SET, Dataset::SPACE, Dataset::SPACE_WITH, Dataset::SQL_WITH, Dataset::STANDARD_TIMESTAMP_FORMAT, Dataset::TILDE, Dataset::TIMESTAMP_FORMAT, Dataset::TWO_ARITY_OPERATORS, Dataset::UNCONDITIONED_JOIN_TYPES, Dataset::UNDERSCORE, Dataset::UPDATE, Dataset::UPDATE_CLAUSE_METHODS, Dataset::USING, Dataset::V190, Dataset::VALUES, Dataset::WHERE, Dataset::WILDCARD

Instance Attribute Summary

Attributes inherited from Dataset

#convert_types

Attributes inherited from Dataset

#db, #identifier_input_method, #identifier_output_method, #opts, #quote_identifiers, #row_proc

Instance Method Summary collapse

Methods included from Postgres::DatasetMethods

#analyze, #complex_expression_sql_append, #explain, #for_share, #full_text_search, #insert, #insert_select, #lock, #multi_insert_sql, #supports_cte_in_subqueries?, #supports_distinct_on?, #supports_modifying_joins?, #supports_returning?, #supports_timestamp_timezones?, #supports_window_functions?, #truncate, #window

Methods inherited from Dataset

#fetch_rows

Methods inherited from Dataset

#<<, #==, #[], #[]=, #add_graph_aliases, #aliased_expression_sql_append, #all, #and, #array_sql_append, #avg, #bind, #boolean_constant_sql_append, #call, #case_expression_sql_append, #cast_sql_append, clause_methods, #clone, #column_all_sql_append, #columns, #columns!, #complex_expression_sql_append, #constant_sql_append, #count, def_append_methods, def_mutation_method, #def_mutation_method, #delete, #delete_sql, #distinct, #each, #each_page, #each_server, #empty?, #eql?, #except, #exclude, #exclude_having, #exclude_where, #exists, #fetch_rows, #filter, #first, #first_source, #first_source_alias, #first_source_table, #for_update, #from, #from_self, #function_sql_append, #get, #graph, #grep, #group, #group_and_count, #group_by, #group_cube, #group_rollup, #hash, #having, #import, #initialize, #insert, #insert_multiple, #insert_sql, #inspect, #intersect, #interval, introspect_all_columns, #invert, #join, #join_clause_sql_append, #join_on_clause_sql_append, #join_table, #join_using_clause_sql_append, #last, #limit, #literal_append, #lock_style, #map, #max, #min, #multi_insert, #multi_insert_sql, #naked, #naked!, #negative_boolean_constant_sql_append, #nullify, #nullify!, #or, #order, #order_append, #order_by, #order_more, #order_prepend, #ordered_expression_sql_append, #paginate, #placeholder_literal_string_sql_append, #print, #provides_accurate_rows_matched?, #qualified_identifier_sql_append, #qualify, #qualify_to, #qualify_to_first_source, #query, #quote_identifier_append, #quote_identifiers?, #quote_schema_table_append, #quoted_identifier_append, #range, #recursive_cte_requires_column_aliases?, #requires_placeholder_type_specifiers?, #requires_sql_standard_datetimes?, #returning, #reverse, #reverse_order, #row_number_column, #schema_and_table, #select, #select_all, #select_append, #select_group, #select_hash, #select_hash_groups, #select_map, #select_more, #select_order_map, #select_remove, #select_sql, #server, #set, #set_defaults, #set_graph_aliases, #set_overrides, #single_record, #single_value, #split_alias, #sql, #subscript_sql_append, #sum, #supports_cte?, #supports_cte_in_subqueries?, #supports_distinct_on?, #supports_group_cube?, #supports_group_rollup?, #supports_insert_select?, #supports_intersect_except?, #supports_intersect_except_all?, #supports_is_true?, #supports_join_using?, #supports_modifying_joins?, #supports_multiple_column_in?, #supports_ordered_distinct_on?, #supports_returning?, #supports_select_all_and_column?, #supports_timestamp_timezones?, #supports_timestamp_usecs?, #supports_where_true?, #supports_window_functions?, #to_csv, #to_dot, #to_hash, #to_hash_groups, #truncate, #truncate_sql, #unbind, #unfiltered, #ungraphed, #ungrouped, #union, #unlimited, #unordered, #unused_table_alias, #update, #update_sql, #where, #window_function_sql_append, #window_sql_append, #with, #with_recursive, #with_sql, #with_sql_delete

Methods included from Metaprogramming

#meta_def

Methods included from SQL::StringMethods

#ilike, #like

Methods included from SQL::OrderMethods

#asc, #desc

Methods included from SQL::NumericMethods

#+

Methods included from SQL::ComplexExpressionMethods

#extract, #sql_boolean, #sql_number, #sql_string

Methods included from SQL::CastMethods

#cast, #cast_numeric, #cast_string

Methods included from SQL::BooleanMethods

#~

Methods included from SQL::AliasMethods

#as

Constructor Details

This class inherits a constructor from Sequel::Dataset

Instance Method Details

#convert_type_proc(v) ⇒ Object

Handle PostgreSQL array and object types. Object types are just turned into strings, similarly to how the native adapter treats the types.



79
80
81
82
83
84
85
86
87
88
# File 'lib/sequel/adapters/jdbc/postgresql.rb', line 79

def convert_type_proc(v)
  case v
  when Java::OrgPostgresqlJdbc4::Jdbc4Array
    PG_ARRAY_METHOD
  when Java::OrgPostgresqlUtil::PGobject
    PG_OBJECT_METHOD
  else
    super
  end
end

#literal_string_append(sql, v) ⇒ Object

Literalize strings similar to the native postgres adapter



98
99
100
# File 'lib/sequel/adapters/jdbc/postgresql.rb', line 98

def literal_string_append(sql, v)
  sql << APOS << db.synchronize{|c| c.escape_string(v)} << APOS
end

#prepare(*args) ⇒ Object

Add the shared PostgreSQL prepared statement methods



91
92
93
94
95
# File 'lib/sequel/adapters/jdbc/postgresql.rb', line 91

def prepare(*args)
  ps = super
  ps.extend(::Sequel::Postgres::DatasetMethods::PreparedStatementMethods)
  ps
end