Class: PostgresPR::Parse
Constant Summary
Constants inherited from Message
Instance Method Summary collapse
- #dump ⇒ Object
-
#initialize(query, stmt_name = "", parameter_oids = []) ⇒ Parse
constructor
A new instance of Parse.
- #parse(buffer) ⇒ Object
Methods inherited from Message
create, dump, fields, read, register_message_type
Constructor Details
#initialize(query, stmt_name = "", parameter_oids = []) ⇒ Parse
Returns a new instance of Parse.
371 372 373 |
# File 'lib/postgres-pr/message.rb', line 371 def initialize(query, stmt_name="", parameter_oids=[]) @query, @stmt_name, @parameter_oids = query, stmt_name, parameter_oids end |
Instance Method Details
#dump ⇒ Object
375 376 377 378 379 380 381 382 383 |
# File 'lib/postgres-pr/message.rb', line 375 def dump sz = @stmt_name.size + 1 + @query.size + 1 + 2 + (4 * @parameter_oids.size) super(sz) do |buffer| buffer.write_cstring(@stmt_name) buffer.write_cstring(@query) buffer.write_int16_network(@parameter_oids.size) @parameter_oids.each {|oid| buffer.write_int32_network(oid) } end end |
#parse(buffer) ⇒ Object
385 386 387 388 389 390 391 392 393 394 395 |
# File 'lib/postgres-pr/message.rb', line 385 def parse(buffer) super do @stmt_name = buffer.read_cstring @query = buffer.read_cstring n_oids = buffer.read_int16_network @parameter_oids = (1..n_oids).collect { # TODO: zero means unspecified. map to nil? buffer.read_int32_network } end end |