Module: Torque::PostgreSQL::Adapter
- Defined in:
- lib/torque/postgresql/adapter.rb,
lib/torque/postgresql/adapter/oid/box.rb,
lib/torque/postgresql/adapter/quoting.rb,
lib/torque/postgresql/adapter/oid/enum.rb,
lib/torque/postgresql/adapter/oid/line.rb,
lib/torque/postgresql/adapter/oid/array.rb,
lib/torque/postgresql/adapter/oid/ltree.rb,
lib/torque/postgresql/adapter/oid/range.rb,
lib/torque/postgresql/adapter/oid/circle.rb,
lib/torque/postgresql/adapter/oid/lquery.rb,
lib/torque/postgresql/adapter/oid/struct.rb,
lib/torque/postgresql/adapter/oid/segment.rb,
lib/torque/postgresql/adapter/oid/enum_set.rb,
lib/torque/postgresql/adapter/oid/interval.rb,
lib/torque/postgresql/adapter/oid/composite.rb,
lib/torque/postgresql/adapter/schema_dumper.rb,
lib/torque/postgresql/adapter/oid/struct_set.rb,
lib/torque/postgresql/adapter/oid/struct_list.rb,
lib/torque/postgresql/adapter/schema_creation.rb,
lib/torque/postgresql/adapter/schema_overrides.rb,
lib/torque/postgresql/adapter/schema_statements.rb,
lib/torque/postgresql/adapter/schema_definitions.rb,
lib/torque/postgresql/adapter/database_statements.rb,
lib/torque/postgresql/adapter/inheritance_statements.rb
Defined Under Namespace
Modules: ColumnMethods, DatabaseStatements, Definition, InheritanceStatements, OID, Quoting, SchemaCreation, SchemaDumper, SchemaOverrides, SchemaStatements, TableDefinition Classes: CompositeTypeDefinition, DeduplicatableArray
Constant Summary
Constants included from InheritanceStatements
InheritanceStatements::SYNC_FEATURES, InheritanceStatements::SYNC_MARKER
Constants included from DatabaseStatements
DatabaseStatements::EXTENDED_DATABASE_TYPES
Constants included from Quoting
Quoting::Column, Quoting::ColumnDefinition, Quoting::Name, Quoting::QUOTED_TYPE_NAMES, Quoting::Utils
Instance Method Summary collapse
-
#build_insert_sql(insert) ⇒ Object
Allow filtered bulk insert by adding the where clause.
-
#version ⇒ Object
Get the current PostgreSQL version as a Gem Version.
Methods included from SchemaOverrides
#drop_table, #quote_table_name
Methods included from SchemaStatements
#add_composite_column, #add_enum_values, #add_search_language, #add_search_vector, #assume_migrated_upto_version, #change_composite_column, #change_composite_type, #create_composite_type, #create_table, #data_source_sql, #drop_type, #enum_values, #insert_versions_sql, #primary_key, #quoted_scope, #remove_composite_column, #rename_composite_column, #rename_type, #table_options, #type_to_sql, #valid_column_definition_options, #valid_table_definition_options
Methods included from InheritanceStatements
Methods included from DatabaseStatements
#column_definitions, #composite_column_types, #composite_types, #dump_mode!, #extended_types, #filter_by_schema, #inherited_tables, #initialize_type_map, #list_versioned_commands, #load_additional_types, #schema_exists?, #schemas_blacklist, #schemas_search_path_sanitized, #schemas_whitelist, #torque_load_additional_types, #torque_load_additional_types?, #type_exists?, #user_defined_schemas, #user_defined_schemas_sql, #user_defined_types, #valid_type?
Methods included from Quoting
#lookup_cast_type_for_column, #quote_default_expression, #quote_identifier_name, #quote_type_name
Instance Method Details
#build_insert_sql(insert) ⇒ Object
Allow filtered bulk insert by adding the where clause. This method is
only used by InsertAll, so it somewhat safe to override it
38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/torque/postgresql/adapter.rb', line 38 def build_insert_sql(insert) super.tap do |sql| if insert.update_duplicates? && insert.where_condition? if insert.returning sql.sub!(' RETURNING ', " WHERE #{insert.where} RETURNING ") else sql << " WHERE #{insert.where}" end end end end |
#version ⇒ Object
Get the current PostgreSQL version as a Gem Version.
30 31 32 33 34 |
# File 'lib/torque/postgresql/adapter.rb', line 30 def version @version ||= Gem::Version.new( select_value('SELECT version()').match(/#{Adapter::ADAPTER_NAME} ([\d\.]+)/)[1] ) end |