Class: Sequel::Postgres::PGStringArray

Inherits:
PGArray show all
Defined in:
lib/sequel/extensions/pg_array.rb

Overview

PGArray subclass for handling char/varchar/text arrays.

Constant Summary collapse

CHAR =
'char'.freeze
VARCHAR =
'varchar'.freeze
TEXT =
'text'.freeze

Constants inherited from PGArray

Sequel::Postgres::PGArray::ARRAY, Sequel::Postgres::PGArray::BACKSLASH, Sequel::Postgres::PGArray::CLOSE_BRACE, Sequel::Postgres::PGArray::CLOSE_BRACKET, Sequel::Postgres::PGArray::COMMA, Sequel::Postgres::PGArray::DOUBLE_COLON, Sequel::Postgres::PGArray::EMPTY_BRACKET, Sequel::Postgres::PGArray::EMPTY_STRING, Sequel::Postgres::PGArray::NULL, Sequel::Postgres::PGArray::OPEN_BRACE, Sequel::Postgres::PGArray::OPEN_BRACKET, Sequel::Postgres::PGArray::QUOTE

Instance Method Summary collapse

Methods inherited from PGArray

#initialize, #op, parse, #sql_literal_append

Methods inherited from Array

#case, #pg_array, #sql_expr, #sql_negate, #sql_or, #sql_string_join, #sql_value_list, #~

Constructor Details

This class inherits a constructor from Sequel::Postgres::PGArray

Instance Method Details

#array_typeObject

By default, use a text array. If char is given without a size, use varchar instead, as otherwise Postgres assumes length of 1, which is likely to cause data loss.



419
420
421
422
423
424
425
426
427
428
# File 'lib/sequel/extensions/pg_array.rb', line 419

def array_type
  case (c = super)
  when nil 
    TEXT
  when CHAR, :char
    VARCHAR
  else
    c
  end
end