Get desktop application:
View/edit binary Protocol Buffers messages
1. Primary Key: (C_W_ID, C_D_ID, C_ID) 2. (C_W_ID, C_D_ID) Foreign Key, references (D_W_ID, D_ID)
96,000 unique IDs 3,000 are populated per district
20 unique IDs
2*W unique IDs
variable text, size 16
fixed text, size 2
variable text, size 16
variable text, size 20
variable text, size 20
variable text, size 20
fixed text, size 2
fixed text, size 9
variable text, size 16
date and time
fixed text, size 2 "GC"=good, "BC"=bad
signed numeric (12,2)
signed numeric (4,4)
signed numeric (12,2)
signed numeric (12,2) //year till date payment
numeric(4)
numeric(4)
variable text, size 500 Miscellaneous information
Primary Key: W_ID num = W, Warehouses are populated
variable text, size 10
variable text, size 20
variable text, size 20
variable text, size 20
fixed text, size 2
fixed text, size 9
signed numeric (4,4) Sales tax
signed numeric (12,2) Year to date balance
20 unique IDs 10 are populated per warehouse
D_W_ID Foreign Key, references W_ID Primary Key: (D_W_ID, D_ID)
variable text, size 10
variable text, size 20
variable text, size 20
variable text, size 20
fixed text, size 2
fixed text, size 9
signed numeric (4,4) Sales tax
signed numeric (12,2) Year to date balance
10,000,000 unique IDs Next available Order number
Primary Key: none (H_C_W_ID, H_C_D_ID, H _C_ID) Foreign Key, references (C_W_ID, C_D_ID, C_ID) (H_W_ID, H _D_ID) Foreign Key, references (D_W_ID, D_ID) Comment: Rows in the History table do not have a primary key as, with in the context of the benchmark, there is no need to uniquely identify a row within this table. Note: The TPC-C application does not have to be capable of utilizing the in creased range of C_ID values beyond 6,000.
96,000 unique IDs 3,000 are populated per district
20 unique IDs
2*W unique IDs
20 unique IDs 10 are populated per warehouse
2*W, Warehouses are populated
date and time
signed numeric (6, 2)
variable text, size 24, Miscellaneous information
HashedRWSet encapsulates hashed representation of a private read-write set for KV or Document data model
Primary Key: I_ID
Image ID associated to Item
Brand information
KVMetadataEntry captures a 'name'ed entry in the metadata of a key/key-hash.
Used in: ,
KVMetadataWrite captures all the entries in the metadata associated with a key
Used in:
KVMetadataWriteHash captures all the upserts to the metadata associated with a key hash
Used in:
KVRWSet encapsulates the read-write set for a chaincode that operates upon a KV or Document data model This structure is used for both the public data and the private data
KVRead captures a read operation performed during transaction simulation A 'nil' version indicates a non-existing key read by the transaction
Used in: , ,
KVReadHash is similar to the KVRead in spirit. However, it captures the hash of the key instead of the key itself version is kept as is for now. However, if the version also needs to be privacy-protected, it would need to be the hash of the version and hence of 'bytes' type
Used in:
KVWrite captures a write (update/delete) operation performed during transaction simulation
Used in:
KVWriteHash is similar to the KVWrite. It captures a write (update/delete) operation performed during transaction simulation
Used in:
Primary Key: (NO_W_ID, NO_D_ID, NO_O_ID) (NO_W_ID, NO_D_ID, NO_O_ID) Foreign Key, references (O_W_ID, O_D_ID, O_ID)
Primary Key: (O_W_ID, O_D_ID, O_ID) (O_W_ID, O_D_ID, O_C_ID) Foreign Key, references (C_W_ID, C_D_ID, C_ID)
date and time
Count of Order-Lines
Primary Key: (OL_W_ID, OL_D_ID, OL_O_ID, OL_NUMBER) (OL_W_ID, OL_D_ID, OL_O_ID) Foreign Key, references (O_W_ID, O_D_ID, O_ID) (OL_SUPPLY_W_ID, OL_I_ID) Foreign Key, references (S_W_ID, S_I_ID)
date and time, or nil
QueryReads encapsulates the KVReads for the items read by a transaction as a result of a query execution
Used in:
QueryReadsMerkleSummary encapsulates the Merkle-tree hashes for the QueryReads This allows to reduce the size of RWSet in the presence of query results by storing certain hashes instead of actual results. maxDegree field refers to the maximum number of children in the tree at any level maxLevel field contains the lowest level which has lesser nodes than maxDegree (starting from leaf level)
Used in:
RangeQueryInfo encapsulates the details of a range query performed by a transaction during simulation. This helps protect transactions from phantom reads by varifying during validation whether any new items got committed within the given range between transaction simuation and validation (in addition to regular checks for updates/deletes of the existing items). readInfo field contains either the KVReads (for the items read by the range query) or a merkle-tree hash if the KVReads exceeds a pre-configured numbers
Used in:
Primary Key: (S_W_ID, S_I_ID) S_W_ID Foreign Key, references W_ID S_I_ID Foreign Key, references I_ID
100,000 populated per warehouse
TransactionPayload binds a proposal to its action. The type field in the header dictates the type of action to be applied to the ledger.
The header of the proposal action, which is the proposal header
The payload of the action as defined by the type in the header For chaincode, it's the bytes of ChaincodeActionPayload
Using nonce to assure signature is different for each transaction
User digest, generate when this field is empty
Version encapsulates the version of a Key A version of a committed key is maintained as the height of the transaction that committed the key. The height is represenetd as a tuple <blockNum, txNum> where the txNum is the position of the transaction (starting with 0) within block
Used in:
Primary Key: W_ID num = W, Warehouses are populated
variable text, size 10
variable text, size 20
variable text, size 20
variable text, size 20
fixed text, size 2
fixed text, size 9
signed numeric (4,4) Sales tax
signed numeric (12,2) Year to date balance
Used in: