public final class StartTransactionMessageTypeV1_0 extends StartTransactionMessageType
This message has the following fields :
Zone | Format | Length | Description |
---|---|---|---|
USERID | STRING | The name of the user starting the transaction. Can be the zero-length string, but if not, it must be a name that appears in some tuple of the USER relvar. | |
AUTHBYCLIENT | INTEGER | 1 | 1 if the client has authenticated the user, 0 otherwise. |
AUTHALGORITHM | STRING | The name of the signing algorithm used to compute SIGNATURE. Can be the zero-length string. | |
SIGNATURELENGTH | INTEGER | 2 | The number of bytes in SIGNATURE. Can be zero, in which case the SIGNATURE field is omitted from the message. |
SIGNATURE | BYTES | The signature as computed by the signature algorithm identified by AUTHALGORITHM, using the user's private key corresponding to the public key that is registered for the user in the USERCERTIFICATE relvar, and applied to the USERID field. |
SIRA_PRISE 1.2 introduced two new fields in this message type : a readonly flag and an autocommit flag. The default assumed by 1.2 servers for these fields when sent this message type is 'false' in both occasions, meaning that 1.2 servers getting this request from a 1.1 client, will start an update transaction with no autocommit, which is the behaviour previously displayed by 1.1 servers.
MESSAGETYPEID
Modifier and Type | Method and Description |
---|---|
StartTransactionMessage |
message(java.lang.String userID,
boolean userAuthenticatedByClient,
java.lang.String signatureAlgorithm,
byte[] signature,
boolean readOnlyTransaction,
boolean autoCommit,
DDLCapture captureDDL,
SnapShotIsolationMode snapShotIsolationMode)
Factory method for getting a StartTransactionMessage of this MessageType's version, holding the given data
|
message, message, message
public StartTransactionMessage message(java.lang.String userID, boolean userAuthenticatedByClient, java.lang.String signatureAlgorithm, byte[] signature, boolean readOnlyTransaction, boolean autoCommit, DDLCapture captureDDL, SnapShotIsolationMode snapShotIsolationMode)
StartTransactionMessageType
message
in class StartTransactionMessageType
userID
- The identification of the user owning the new transactionuserAuthenticatedByClient
- indicates whether the user owning the new transaction has been authenticated by the clientsignatureAlgorithm
- name of the user authentication algorithm to be used by the server if the decides that it will do user authentication itselfsignature
- The signature to be verified by the server if the decides that it will do user authentication itselfreadOnlyTransaction
- flag indicating whether or not the new transaction is a read-only one, i.e. whether it will or will not attempt updates to the database. Must be false if this message is sent to a server prior to 1.2autoCommit
- flag indicating whether each individual statement is automatically committed (meaning, for a read-only transaction, that locks will immediately be released when the statement completes)captureDDL
- flag indicating whether any DDL executed in this transaction should be captured by the server in a script. If set, a script file will be created by the server holding all the DDL executed in this transaction. For anonymous transactions, the file will be written in the server's user.home directory, and will be given the name of the internal transaction ID, followed by "DDL.SPS". For non-anonymous transactions, a directory will be created in the server's user.home directory, named after the user owning the transaction, and the script file will be written in that directory.snapShotIsolationMode
- The snapshot isolation mode that this readonly transaction is to run under (snapshot isolation does not apply to update transactions. Update transactions always run in SnapShotIsolatinMode.OFF).