-
Notifications
You must be signed in to change notification settings - Fork 34
PhpOrient Protocols Binary Operations Command
Domenico Lupinetti edited this page Jan 1, 2015
·
4 revisions
COMMAND_OP
Executes remote commands:
Request:
- (mode:byte)(class-name:string)(command-payload-length:int)(command-payload)
Response:
- synchronous commands: [(sync-result-type:byte)[(sync-result-content:?)]]+
- asynchronous commands: [(async-result-type:byte)[(async-result-content:?)]*](pre-fetched-record-size.md)[(pre-fetched-record)]*+
Where the request:
- mode can be 'a' for asynchronous mode and 's' for synchronous mode
-
class-name is the class name of the command implementation. There are short form for the most
common commands:
- 'q' ) stands for query as idempotent command. It's like passing com.orientechnologies.orient.core.sql.query.OSQLSynchQuery
- 'c' ) stands for command as non-idempotent command (insert, update, etc). It's like passing com.orientechnologies.orient.core.sql.OCommandSQL
- 's' ) stands for script. It's like passing com.orientechnologies.orient.core.command.script.OCommandScript . Script commands by using any supported server-side scripting like Javascript command. Since v1.0.
- 'any other values' ) is the class name. The command will be created via reflection using the default constructor and invoking the fromStream() method against it
- command-payload is the command's serialized payload (see Network-Binary-Protocol-Commands)
Response is different for synchronous and asynchronous request:
- synchronous:
-
sync-result-type can be:
- 'n', means null result
- 'r', means single record returned
- 'l', collection of records. The format is:
- an integer to indicate the collection size
- all the records one by one
- 'a', serialized result, a byte[] is sent
- sync-result-content, can only be a record
- pre-fetched-record-size, as the number of pre-fetched records not directly part of the result set but joined to it by fetching
- pre-fetched-record as the pre-fetched record content
- asynchronous:
-
async-result-type can be:
- 0: no records remain to be fetched
- 1: a record is returned as a resultset
- 2: a record is returned as pre-fetched to be loaded in client's cache only. It's not part of the result set but the client knows that it's available for later access
- async-result-content, can only be a record
- Class name: Command
- Namespace: PhpOrient\Protocols\Binary\Operations
- Parent class: PhpOrient\Protocols\Binary\Abstracts\Operation
protected integer $opCode
- Visibility: protected
protected string $_mod_byte = 's'
- Visibility: protected
public string $command = \PhpOrient\Protocols\Common\Constants::QUERY_SYNC
- Visibility: public
public string $query = ''
- Visibility: public
public integer $limit = 20
- Visibility: public
public string $fetch_plan = '*:0'
- Visibility: public
protected \PhpOrient\Protocols\Binary\OrientSocket $_socket
- Visibility: protected
protected array $_writeStack = array()
Stack of elements to compile
- Visibility: protected
protected string $_input_buffer
- Visibility: protected
protected string $_output_buffer
- Visibility: protected
protected \PhpOrient\Protocols\Binary\SocketTransport $_transport
- Visibility: protected
public \Closure $_callback
- Visibility: public
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_write()
- Visibility: protected
- This method is abstract.
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_read()
- Visibility: protected
- This method is abstract.
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
null|void PhpOrient\Protocols\Binary\Abstracts\Operation::_checkConditions(\PhpOrient\Protocols\Binary\SocketTransport $transport)
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
- $transport PhpOrient\Protocols\Binary\SocketTransport
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::__construct(\PhpOrient\Protocols\Binary\SocketTransport $_transport)
- Visibility: public
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
- $_transport PhpOrient\Protocols\Binary\SocketTransport
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_writeHeader()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_readHeader()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
\PhpOrient\Protocols\Binary\Abstracts\Operation PhpOrient\Protocols\Binary\Abstracts\Operation::prepare()
- Visibility: public
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
\PhpOrient\Protocols\Binary\Abstracts\Operation PhpOrient\Protocols\Binary\Abstracts\Operation::send()
- Visibility: public
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_dump_streams()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::getResponse()
- Visibility: public
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_writeByte(integer $value)
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
- $value integer
integer PhpOrient\Protocols\Binary\Abstracts\Operation::_readByte()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_writeChar(string $value)
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
- $value string
integer PhpOrient\Protocols\Binary\Abstracts\Operation::_readChar()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_writeBoolean(boolean $value)
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
- $value boolean
boolean PhpOrient\Protocols\Binary\Abstracts\Operation::_readBoolean()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_writeShort(integer $value)
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
- $value integer
integer PhpOrient\Protocols\Binary\Abstracts\Operation::_readShort()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_writeInt(integer $value)
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
- $value integer
integer PhpOrient\Protocols\Binary\Abstracts\Operation::_readInt()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_writeLong(integer $value)
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
- $value integer
integer PhpOrient\Protocols\Binary\Abstracts\Operation::_readLong()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_writeString(string $value)
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
- $value string
string|null PhpOrient\Protocols\Binary\Abstracts\Operation::_readString()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_writeBytes(string $value)
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
- $value string
string|null PhpOrient\Protocols\Binary\Abstracts\Operation::_readBytes()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
\PhpOrient\Exceptions\PhpOrientException PhpOrient\Protocols\Binary\Abstracts\Operation::_readError()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
mixed PhpOrient\Protocols\Binary\Abstracts\Operation::_readSerialized()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
array PhpOrient\Protocols\Binary\Abstracts\Operation::_readRecord()
record with its content.
In case of null record then -2 as short is passed.
In case of RID -3 is passes as short and then the RID: (-3:short)(cluster-id:short)(cluster-position:long).
In case of record: (0:short)(record-type:byte)(cluster-id:short) (cluster-position:long)(record-version:int)(record-content:bytes)
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
array<mixed,\PhpOrient\Protocols\Binary\Data\Record> PhpOrient\Protocols\Binary\Abstracts\Operation::_read_prefetch_record()
- Visibility: protected
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
array|null PhpOrient\Protocols\Binary\Abstracts\Operation::_read_sync()
- Visibility: public
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
\PhpOrient\Protocols\Common\ConfigurableInterface PhpOrient\Protocols\Common\ConfigurableInterface::configure(array $options)
- Visibility: public
- This method is defined by PhpOrient\Protocols\Common\ConfigurableInterface
- $options array
The options for the object.
static PhpOrient\Protocols\Binary\Abstracts\Operation::fromConfig(array $options)
- Visibility: public
- This method is static.
- This method is defined by PhpOrient\Protocols\Binary\Abstracts\Operation
- $options array
The options for the newly created class instance.