Class: PostgresPR::DataRow
- Inherits:
-
Message
- Object
- Utils::ReadBuffer
- Message
- PostgresPR::DataRow
show all
- Defined in:
- lib/postgres-pr/message.rb
Constant Summary
Constants inherited
from Message
Message::MsgTypeMap
Instance Method Summary
collapse
Methods inherited from Message
#buffer, create, dump, fields, read, register_message_type
Instance Method Details
#dump ⇒ Object
286
287
288
289
290
291
292
293
294
295
|
# File 'lib/postgres-pr/message.rb', line 286
def dump
sz = @columns.inject(2) {|sum, col| sum + 4 + (col ? col.size : 0)}
super(sz) do |buffer|
buffer.write_int16_network(@columns.size)
@columns.each {|col|
buffer.write_int32_network(col ? col.size : -1)
buffer.write(col) if col
}
end
end
|
#parse(buffer) ⇒ Object
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
|
# File 'lib/postgres-pr/message.rb', line 297
def parse(buffer)
super do
columns = []
n_cols = buffer.read_int16_network
while n_cols > 0
len = buffer.read_int32_network
if len == -1
columns << nil
else
columns << buffer.read(len)
end
n_cols -= 1
end
@columns = columns
end
end
|