postgres.rb

Path: lib/sequel/adapters/shared/postgres.rb
Last Update: Sat Jul 04 20:22:48 -0600 2009

Methods

Public Instance methods

Apply connection settings for this connection. Currently, turns standard_conforming_strings ON if Postgres.force_standard_strings is true.

[Source]

     # File lib/sequel/adapters/shared/postgres.rb, line 115
115:       def apply_connection_settings
116:         if Postgres.force_standard_strings
117:           sql = "SET standard_conforming_strings = ON"
118:           @db.log_info(sql)
119:           # This setting will only work on PostgreSQL 8.2 or greater
120:           # and we don't know the server version at this point, so
121:           # try it unconditionally and rescue any errors.
122:           execute(sql) rescue nil
123:         end
124:         if cmm = Postgres.client_min_messages
125:           sql = "SET client_min_messages = '#{cmm.to_s.upcase}'"
126:           @db.log_info(sql)
127:           execute(sql)
128:         end
129:       end

Get the last inserted value for the given sequence.

[Source]

     # File lib/sequel/adapters/shared/postgres.rb, line 132
132:       def last_insert_id(sequence)
133:         sql = SELECT_CURRVAL % sequence
134:         @db.log_info(sql)
135:         execute(sql) do |r|
136:           val = single_value(r)
137:           return val.to_i if val
138:         end
139:       end

Get the primary key for the given table.

[Source]

     # File lib/sequel/adapters/shared/postgres.rb, line 142
142:       def primary_key(schema, table)
143:         sql = SELECT_PK[schema, table]
144:         @db.log_info(sql)
145:         execute(sql) do |r|
146:           return single_value(r)
147:         end
148:       end

Get the primary key and sequence for the given table.

[Source]

     # File lib/sequel/adapters/shared/postgres.rb, line 151
151:       def sequence(schema, table)
152:         sql = SELECT_SERIAL_SEQUENCE[schema, table]
153:         @db.log_info(sql)
154:         execute(sql) do |r|
155:           seq = single_value(r)
156:           return seq if seq
157:         end
158:         
159:         sql = SELECT_CUSTOM_SEQUENCE[schema, table]
160:         @db.log_info(sql)
161:         execute(sql) do |r|
162:           return single_value(r)
163:         end
164:       end

[Validate]