module OrientdbBinary::DatabaseOperations::Query

Public Instance Methods

command(text, params={}) click to toggle source

def script(text)

class_name = 'com.orientechnologies.orient.core.sql.OCommandSQL'

end

# File lib/orientdb_binary/database_operations/query.rb, line 19
def command(text, params={})
  class_name = 'com.orientechnologies.orient.core.sql.OCommandSQL'
  fetch_plan = nil
  serialized_params = OrientdbBinary::Parser::Serializer.new.serialize_document({params: params})
  q = OrientdbBinary::Protocols::SqlCommandPayload.new text: text, serialized_params: serialized_params,
                                                      fetch_plan: fetch_plan,
                                                      class_name: class_name
  _command(q.to_binary_s, class_name)
end
query(text, params, fetch_plan="*:0") click to toggle source
# File lib/orientdb_binary/database_operations/query.rb, line 6
def query(text, params, fetch_plan="*:0")
  class_name = 'com.orientechnologies.orient.core.sql.query.OSQLSynchQuery'
  serialized_params = OrientdbBinary::Parser::Serializer.new.serialize_document({params: params})
  q = OrientdbBinary::Protocols::SqlCommandPayload.new text: text, serialized_params: serialized_params,
                                                      fetch_plan: fetch_plan,
                                                      class_name: class_name
  _command(q.to_binary_s, class_name)
end

Private Instance Methods

_command(binary_query, class_name) click to toggle source
# File lib/orientdb_binary/database_operations/query.rb, line 30
def _command(binary_query, class_name)
  mode = 's'.ord
  OrientdbBinary::Protocols::Command.new(
                                          session: session, mode: mode,
                                          command_payload_length: binary_query.length,
                                          command_payload: binary_query
                                        ).process(socket)
end