Helix Server Schema Documentation

Release: 2020.2

Contents

Alphabetical List of Tables

Filename Lock Order Vers. Description
db.bodresolve 90 1 Resolve data for stream specifications
db.bodresolvex 91 0 Pending integration records for shelved stream specifications
db.bodtext 92 1 Job data for job attributes
db.bodtextcx 93 0 Versioned openable spec fields
db.bodtexthx 94 0 Head revision of spec fields
db.bodtextsx 95 1 Shelved openable spec fields
db.bodtextwx 96 1 Open openable spec fields
db.change 72 6 Changelists
db.changeidx 74 1 Secondary index of db.change/db.changex
db.changex 73 6 Subset of db.change - records for pending changelists only
db.config 1 1 Server configurations table
db.configh 2 0 Server configuration history
db.counters 3 1 Counters table
db.depot 20 1 Depot specifications
db.desc 75 0 Change descriptions
db.domain 23 7 Domains: depots, clients, labels, branches, streams, and typemap
db.excl 67 1 Exclusively locked (+l) files - enables coordinated file locking in commit/edge server environments
db.exclg 68 0 Graph depot LFS locks
db.exclgx 69 0 Graph depot LFS locks indexed by lockId
db.fix 87 1 Fix records - indexed by job
db.fixrev 88 1 Fix records - indexed by change
db.graphindex 80 1 Graph depot repository index data
db.graphperm 81 0 Graph depot permissions
db.group 18 9 Group specifications
db.groupx 19 1 Per-group data to support group membership controlled by AD/LDAP group membership
db.have 35 3 Contains the 'have-list' for all clients
db.have.pt 34 3 Placeholder for read-only clients
db.have.rp 33 3 Contains the 'have-list' for clients of build-server replicas
db.haveg 66 0 Contains the 'have-list' for graph depot files that are not at the same revision as defined by the client's have reference.
db.haveview 30 1 Stores mapping changes for clients mapping graph depot content
db.integed 37 0 Permanent integration records
db.integedss 22 1 Stream specification integration history
db.integtx 38 0 Temporary integration records used by task streams
db.ixtext 98 0 Indexing data for generic and job attributes
db.ixtexthx 99 0 Indexing data for head revision of all spec fields
db.jnlack 106 1 Tracks journal positions of all replicas
db.job 84 0 Job records
db.label 32 0 Revisions of files in labels
db.ldap 8 0 LDAP specifications
db.locks 61 2 Locked/Unlocked files
db.locksg 62 2 Lock records for clients of type graph
db.logger 7 0 Support for 'p4 logger' command. Logs any changes to changelists and jobs
db.message 103 0 System messages
db.monitor 107 2 Helix Server process information
db.nameval 4 1 A table to store key/value pairs
db.object 79 0 Object storage for graph depots
db.property 102 0 Properties
db.protect 101 5 The protections table
db.pubkey 83 0 SSH Public keys
db.ref 78 0 Reference content for graph depots
db.refhist 77 0 Reference history for graph depots
db.remote 11 1 Remote specifications
db.repo 76 3 Repository specifications
db.resolve 39 1 Pending integration records
db.resolveg 41 0 Resolve records for clients of type graph
db.resolvex 40 1 Pending integration records for shelved files
db.rev 58 9 Revision records
db.revbx 55 9 Revision records for archived files
db.revcx 57 0 Secondary index of db.rev
db.revdx 50 9 Revision records for revisions deleted at the head revision
db.revhx 51 9 Revision records for revisions NOT deleted at the head revision
db.review 31 1 User's review mappings
db.revpx 52 9 Pending revision records
db.revsh 54 9 Revision records for shelved files
db.revstg 60 9 Temporary revision records for storage upgrade process
db.revsx 53 9 Revision records for spec depot files
db.revtx 59 9 Task stream revision records
db.revux 56 9 Revision records for unload depot files
db.rmtview 12 1 View data for remote specifications
db.scanctl 45 0 ScanCtl
db.scandir 44 0 Scandir
db.sendq 104 4 Parallel file transmission work queue
db.sendq.pt 105 4 Per Client transmission work queue
db.server 9 3 Server specifications
db.stash 13 0 Stash data
db.storage 47 1 Track references to archive files
db.storageg 48 0 Track references to Graph Depot archive files (for future use)
db.storagesh 46 1 Track references to shelved archive files
db.storagesx 49 0 Digest and filesize based index for db.storagesh, for finding shelved files with identical content
db.stream 21 2 Stream specifications
db.submodule 82 0 Submodule configuration data
db.svrview 10 0 View data for servers specifications
db.template 24 2 Streams templates
db.templatesx 25 2 Shelved stream templates
db.templatewx 26 2 Pending stream templates
db.ticket 17 0 Second factor authentication state on a per user/host basis
db.ticket.rp 16 0 Second factor authentication state on a per user/host basis (replica)
db.traits 70 0 Attributes associated with file revisions
db.trigger 71 3 Trigger specifications
db.upgrades 6 0 Store server upgrade info
db.upgrades.rp 5 0 Store replica upgrade info
db.user 15 7 User specifications
db.user.rp 14 7 Used by replica server's to store login information
db.uxtext 100 0 Indexing data for Swarm
db.view 28 1 View data for domain records
db.view.rp 27 1 View data for clients of build-server replicas
db.working 63 10 Records for work in progress
db.workingg 65 0 Working records for clients of type graph
db.workingx 64 10 Records for shelved open files
pdb.lbr 3 Proxy server pending archive transfer table
rdb.lbr 3 Replica server pending archive transfer table
tiny.db 0 Records content data for tiny files using the +T file type modifier

Locking Order

To avoid the possibility of deadlock, the Helix Server always locks its tables in a defined order. The section below lists the tables in the order in which they are locked. When a checkpoint is taken, the order of the database file content written to the checkpoint follows the table locking order.

Lock Order Filename Vers. Description
1 db.config 1 Server configurations table
2 db.configh 0 Server configuration history
3 db.counters 1 Counters table
4 db.nameval 1 A table to store key/value pairs
5 db.upgrades.rp 0 Store replica upgrade info
6 db.upgrades 0 Store server upgrade info
7 db.logger 0 Support for 'p4 logger' command. Logs any changes to changelists and jobs
8 db.ldap 0 LDAP specifications
9 db.server 3 Server specifications
10 db.svrview 0 View data for servers specifications
11 db.remote 1 Remote specifications
12 db.rmtview 1 View data for remote specifications
13 db.stash 0 Stash data
14 db.user.rp 7 Used by replica server's to store login information
15 db.user 7 User specifications
16 db.ticket.rp 0 Second factor authentication state on a per user/host basis (replica)
17 db.ticket 0 Second factor authentication state on a per user/host basis
18 db.group 9 Group specifications
19 db.groupx 1 Per-group data to support group membership controlled by AD/LDAP group membership
20 db.depot 1 Depot specifications
21 db.stream 2 Stream specifications
22 db.integedss 1 Stream specification integration history
23 db.domain 7 Domains: depots, clients, labels, branches, streams, and typemap
24 db.template 2 Streams templates
25 db.templatesx 2 Shelved stream templates
26 db.templatewx 2 Pending stream templates
27 db.view.rp 1 View data for clients of build-server replicas
28 db.view 1 View data for domain records
30 db.haveview 1 Stores mapping changes for clients mapping graph depot content
31 db.review 1 User's review mappings
32 db.label 0 Revisions of files in labels
33 db.have.rp 3 Contains the 'have-list' for clients of build-server replicas
34 db.have.pt 3 Placeholder for read-only clients
35 db.have 3 Contains the 'have-list' for all clients
37 db.integed 0 Permanent integration records
38 db.integtx 0 Temporary integration records used by task streams
39 db.resolve 1 Pending integration records
40 db.resolvex 1 Pending integration records for shelved files
41 db.resolveg 0 Resolve records for clients of type graph
44 db.scandir 0 Scandir
45 db.scanctl 0 ScanCtl
46 db.storagesh 1 Track references to shelved archive files
47 db.storage 1 Track references to archive files
48 db.storageg 0 Track references to Graph Depot archive files (for future use)
49 db.storagesx 0 Digest and filesize based index for db.storagesh, for finding shelved files with identical content
50 db.revdx 9 Revision records for revisions deleted at the head revision
51 db.revhx 9 Revision records for revisions NOT deleted at the head revision
52 db.revpx 9 Pending revision records
53 db.revsx 9 Revision records for spec depot files
54 db.revsh 9 Revision records for shelved files
55 db.revbx 9 Revision records for archived files
56 db.revux 9 Revision records for unload depot files
57 db.revcx 0 Secondary index of db.rev
58 db.rev 9 Revision records
59 db.revtx 9 Task stream revision records
60 db.revstg 9 Temporary revision records for storage upgrade process
61 db.locks 2 Locked/Unlocked files
62 db.locksg 2 Lock records for clients of type graph
63 db.working 10 Records for work in progress
64 db.workingx 10 Records for shelved open files
65 db.workingg 0 Working records for clients of type graph
66 db.haveg 0 Contains the 'have-list' for graph depot files that are not at the same revision as defined by the client's have reference.
67 db.excl 1 Exclusively locked (+l) files - enables coordinated file locking in commit/edge server environments
68 db.exclg 0 Graph depot LFS locks
69 db.exclgx 0 Graph depot LFS locks indexed by lockId
70 db.traits 0 Attributes associated with file revisions
71 db.trigger 3 Trigger specifications
72 db.change 6 Changelists
73 db.changex 6 Subset of db.change - records for pending changelists only
74 db.changeidx 1 Secondary index of db.change/db.changex
75 db.desc 0 Change descriptions
76 db.repo 3 Repository specifications
77 db.refhist 0 Reference history for graph depots
78 db.ref 0 Reference content for graph depots
79 db.object 0 Object storage for graph depots
80 db.graphindex 1 Graph depot repository index data
81 db.graphperm 0 Graph depot permissions
82 db.submodule 0 Submodule configuration data
83 db.pubkey 0 SSH Public keys
84 db.job 0 Job records
87 db.fix 1 Fix records - indexed by job
88 db.fixrev 1 Fix records - indexed by change
90 db.bodresolve 1 Resolve data for stream specifications
91 db.bodresolvex 0 Pending integration records for shelved stream specifications
92 db.bodtext 1 Job data for job attributes
93 db.bodtextcx 0 Versioned openable spec fields
94 db.bodtexthx 0 Head revision of spec fields
95 db.bodtextsx 1 Shelved openable spec fields
96 db.bodtextwx 1 Open openable spec fields
98 db.ixtext 0 Indexing data for generic and job attributes
99 db.ixtexthx 0 Indexing data for head revision of all spec fields
100 db.uxtext 0 Indexing data for Swarm
101 db.protect 5 The protections table
102 db.property 0 Properties
103 db.message 0 System messages
104 db.sendq 4 Parallel file transmission work queue
105 db.sendq.pt 4 Per Client transmission work queue
106 db.jnlack 1 Tracks journal positions of all replicas
107 db.monitor 2 Helix Server process information

Upgrades

The following table lists the upgrade operations performed by p4d -xu and shows the release in which each upgrade was introduced.

The 2020.2 release has 39 upgrades.
Upgrade Release Description Notes
1 2001.1 Split db.integ into db.integed and db.resolve
2 2001.1 Split db.have into db.have and db.label
3 2002.1 Split db.change into db.change and db.changex
4 2002.2 Upgrade tempobj filetype in db.rev
5 2002.2 Upgrade tempobj filetype in db.working
6 2003.1 Initialize default depot
7 2003.2 Upgrade db.user
8 2005.1 Build db.revhx (headrev) table
9 2005.1 Rebuild db.locks from db.working
10 2005.1 Build lazy-copy index (db.archive) Removed in 2006.2
11 2005.2 Build db.revdx (delrev) table
12 2005.2 Build haveMap from db.have/db.working Moved to 16 in 2007.3
13 2005.2 Move spec depot entries into db.revsx
14 2006.2 Build db.archmap (lazy-copy map) table Moved to 17 in 2007.3
15 2006.2 Remove (obsolete) db.archive table Moved to 18 in 2007.3
16 2007.3 Build/Rebuild haveMap from db.have/db.working Rewritten in 2007.3
17 2007.3 Build/Rebuild db.archmap (lazy-copy map) table Removed in 2019.1
18 2007.3 Remove (obsolete) db.archive table Moved from 15 in 2007.3
19 2008.1 Build db.change common path
20 2009.2 Move db.boddate/db.ixdate into db.bodtext/db.ixtext
21 2009.2 Remove db.boddate/db.ixdate
22 2010.2 Move system counters into db.config
23 2011.1 Upgrade tiny.db
24 2015.2 Move LDAP specs into db.ldap
25 2016.1 Create db.templatesx and db.templatewx
26 2016.2 Initialize graph depot
27 2017.1 Rename repo specifications, build owner graph permissions, remove db.repoview
28 2017.2 No upgrades - upgrade counter value increment only
29 2018.1 Remove existing db.graphindex remove db.graphindex
30 2018.2 Initialize Extensions depot and server.extensions.dir
31 2018.2 Normalize a field in the triggers table
32 2019.1 Build db.storage from db.rev, db.revsh and db.revtx, remove db.archmap
33 2019.1 Add default namespace to Extension configurations
34 2019.2 Upgrade git-connector server specs
35 2019.2 Correct configurationVersion server names
36 2020.1 perform upgrade checks for 2020.1
37 2020.2 installation running 2020.2 release
38 2020.2 build db.storagesx index from db.storagesh
39 2020.2 purge the server.locks directory of stale lock files

The following table lists the upgrade operations performed by a server when first configured as a commit server and shows the release in which each upgrade was introduced.

These upgrades run when the first server specification with 'Services: commit-server' is saved.

Upgrade Release Description Notes
commit-server 2013.2 Generate exclusive locks Generate exclusive lock records in db.excl based on db.working data.
commit-server 2014.1 Promote Shelves Promote existing shelves by updating changeStatus in db.change and db.changex.

Table Details

db.bodresolve - Resolve data for stream specifications

Indexed on:type, client, toKey, attr, fromKey, fromChange
Name Type Description
type SpecType The spec type
client Domain The client name
toKey Key To Key
attr Int The attribute value
fromKey Key From key
fromChange Change From change
baseKey Key Base Key
baseChange Change Base change
how IntegHow Integration method: variations on merge/branch/copy/ignore/delete.
state ResolveState How the user performed the resolve

db.bodresolvex - Pending integration records for shelved stream specifications

Indexed on:type, shelf, toKey, attr, fromKey, fromChange
Name Type Description
type SpecType The spec type
shelf Change Shelf change ID
toKey Key To Key
attr Int The attribute value
fromKey Key From key
fromChange Change From change
baseKey Key Base Key
baseChange Change Base change
how IntegHow Integration method: variations on merge/branch/copy/ignore/delete.
state ResolveState How the user performed the resolve
client Domain The client used for the resolve

db.bodtext - Job data for job attributes

Indexed on:key, attr
Name Type Description
key Key The job to which this attribute belongs
attr Int The attribute number (from the jobspec) of this attribute
isBulk Int Indicates whether (1), or not (0) the field is a bulk text field that should not be indexed.
text Text The attribute value

db.bodtextcx - Versioned openable spec fields

Indexed on:type, key, change, attr
Name Type Description
type Int The type of spec
key Key The spec to which this attribute belongs
change Change The change to which this attribute belongs
attr Int The attribute number of this attribute
text Text The attribute value

db.bodtexthx - Head revision of spec fields

Indexed on:type, key, attr
Name Type Description
type Int The type of spec
key Key The spec to which this attribute belongs
attr Int The attribute number of this attribute
bulk Int Indicates whether (1), or not (0) the field is a bulk text field that should not be indexed.
text Text The attribute value

db.bodtextsx - Shelved openable spec fields

Indexed on:type, shelf, key, attr
Name Type Description
type Int The type of spec
shelf Change The shelf to which this attribute belongs
key Key The spec to which this attribute belongs
attr Int The attribute number of this attribute
text Text The attribute value
workChange Change The working change
user User The user that created the change
action Action The Action that created the change

db.bodtextwx - Open openable spec fields

Indexed on:type, client, key, attr
Name Type Description
type Int The type of spec
client Domain The client the spec is opened on
key Key The spec to which this attribute belongs
attr Int The attribute number of this attribute
text Text The attribute value
workChange Change The working change
user User The user that created the change
action Action The action that created the change

db.change - Changelists

Indexed on:change
Name Type Description
change Change The change number
descKey Change The description key. Normally the same as 'change', but may differ if a changelist was renumbered on submission.
client Domain The client from which the change originates
user User The user who owns the change
date Date Date and time the changelist was submitted
status ChangeStatus Status of the change
description DescShort Short description of the change.
root Mapping Common path for all files in the changelist
importer User The user who fetched or pushed this change to this server
identity Key Identifier for this change
access Date Shelve last access
update Date Shelve last update
stream Domain Stream spec name in changelist

db.changeidx - Secondary index of db.change/db.changex

Indexed on:identity
Name Type Description
identity Key Identifier for this change
change Change Changelist

db.changex - Subset of db.change - records for pending changelists only

Indexed on:change
Name Type Description
change Change The change number
descKey Change The description key. Normally the same as 'change', but may differ if a changelist was renumbered on submission.
client Domain The client from which the change originates
user User The user who owns the change
date Date Date and time the changelist was submitted
status ChangeStatus Status of the change
description DescShort Short description of the change.
root Mapping Common path for all files in the changelist
importer User The user who fetched or pushed this change to this server
identity Key Identifier for this change
access Date Shelve last access
update Date Shelve last update
stream Domain Stream spec name in changelist
Note:contains records for pending changelists only.

db.config - Server configurations table

Indexed on:serverName, name
Name Type Description
serverName Key Server name
name Key Configuration variable name
value Value Configuration variable value

db.configh - Server configuration history

Indexed on:sName, name, version, date, server
Name Type Description
sName Key Server name where configurable applies
name Key variable name
version Int configuration version
date Date date
server Key server ID where the configurable was set
user User user
ovalue Value old value
nvalue Value new value

db.counters - Counters table

Indexed on:name
Name Type Description
name Counter Counter name
value Value Counter value

db.depot - Depot specifications

Indexed on:name
Name Type Description
name Domain Depot name
type DepotType Type of depot
extra Text For remote depots, the P4PORT address of the remote server. For spec depots, a suffix to append to the filename. For stream depots, stream depth
map Text The depot's map (path translation information). For local depots, this will be a path relative to the root directory. For remote depots, this will be specified in terms of the remote server's namespace.

db.desc - Change descriptions

Indexed on:descKey
Name Type Description
descKey Change Original number of the change to which this description applies. This may differ from the final change number if the change is renumbered on submission.
description Text The change description itself

db.domain - Domains: depots, clients, labels, branches, streams, and typemap

Indexed on:name
Name Type Description
name Domain Domain name
type DomainType Type of domain
extra Text Formerly "host". Associated host or, for labels, revision number.
mount Text The client root
mount2 Text Alternate client root
mount3 Text Alternate client root
owner User Name of user who owns the domain.
updateDate Date Date of last update to domain specification.
accessDate Date Date of last access to domain specification.
options DomainOpts Options for client, label, and branch domains.
description Text Description of domain.
stream Domain Associated stream for client records
serverId Key Associated server ID for client records
contents Int Client domain contents. 1: Maps only classic depot files, 2: Maps only graph depot files, 3: Maps both classic and graph depot files

db.excl - Exclusively locked (+l) files - enables coordinated file locking in commit/edge server environments

Indexed on:depotFile
Name Type Description
depotFile File The file locked
client Domain The client for which the file is locked
user User The user for which the file is locked

db.exclg - Graph depot LFS locks

Indexed on:repo, ref, file
Name Type Description
repo Key The name of the repository on which the lock is applied
ref Text The reference on which the lock is applied
file File The git file path
lockId String The git LFS lock identifier
user User The user for which the file is locked
created String The lock creation date stored in git data format

db.exclgx - Graph depot LFS locks indexed by lockId

Indexed on:lockId
Name Type Description
lockId String The git LFS lock identifier
repo Key The name of the repository on which the lock is applied
ref Text The reference on which the lock is applied
file File The git file path
user User The user for which the file is locked
created String The lock creation date stored in git data format

db.fix - Fix records - indexed by job

Indexed on:job, change
Name Type Description
job Key Job name
change Change Changelist number
date Date Date fix was recorded (may differ from date change was submitted).
status FixStatus Status of the job
client Domain The client where the fix originated
user User The user who fixed the job
See also:db.fixrev

db.fixrev - Fix records - indexed by change

Indexed on:change, job
Name Type Description
job Key Job name
change Change Changelist number
date Date Date fix was recorded (may differ from date change was submitted).
status FixStatus Status of the job
client Domain The client where the fix originated
user User The user who fixed the job
See also:db.fix

db.graphindex - Graph depot repository index data

Indexed on:id, name, date, blobSha, commitSha
Name Type Description
id Int ID of repo index belongs to
name File File name (minus the repo name)
date Date Descending historical commit sequence
blobSha SHA1 SHA of blob
commitSha SHA1 SHA of commit that added/edited this file
flags Int Miscellaneous flags
size FileSize The size of the file (or target LFS file)
type FileType The filetype of the graph file
lfsoid Text LFS Object ID

db.graphperm - Graph depot permissions

Indexed on:name, repo, ref, type, user, perm
Name Type Description
name Domain Graph depot name
repo Mapping Repository name
ref Mapping Reference
type UserType Type of user
user UserWild User or Group for permission
perm GraphPermType Permission

db.group - Group specifications

Indexed on:user, group
Name Type Description
user User User name
group User Group name
type UserType Type of user in this group.
maxResults MaxResults MaxResults setting for the group.
maxScanRows MaxScanRows MaxScanRows setting for the group.
maxLockTime MaxLockTime MaxLockTime setting for the group.
maxOpenFiles MaxOpenFiles MaxOpenFiles setting for the group.
timeout Int Length of time (in seconds) a login ticket remains valid.
passwordTimeout Int Length of time (in seconds) a password remains valid for users in the group.

db.groupx - Per-group data to support group membership controlled by AD/LDAP group membership

Indexed on:group
Name Type Description
group User Group name
ldapConf String The LDAP configuration to use when populating the group's user list from an LDAP query
ldapSearchQuery String The LDAP query used to identify the members of the group
ldapUserAttribute String The LDAP attribute that represents the user's username
ldapDNAttribute String The LDAP attribute that represents the user's DN

db.have - Contains the 'have-list' for all clients

Indexed on:clientFile
Name Type Description
clientFile File The file in its location on the client
depotFile File The file in the depot
haveRev Rev The revision synced to the client
type FileType The filetype of the synced file
time Date The sync time of the synced revision

db.have.pt - Placeholder for read-only clients

Indexed on:clientFile
Name Type Description
clientFile File The file in its location on the client
depotFile File The file in the depot
haveRev Rev The revision synced to the client
type FileType The filetype of the synced file
time Date The sync time of the synced revision

db.have.rp - Contains the 'have-list' for clients of build-server replicas

Indexed on:clientFile
Name Type Description
clientFile File The file in its location on the client
depotFile File The file in the depot
haveRev Rev The revision synced to the client
type FileType The filetype of the synced file
time Date The sync time of the synced revision

db.haveg - Contains the 'have-list' for graph depot files that are not at the same revision as defined by the client's have reference.

Indexed on:repo, clientFile
Name Type Description
repo Key Repository name
clientFile File The file in its location on the client
depotFile File The git file path
client Domain Domain (client) in which file is synced
type FileType The filetype of the synced revision
action Action Action file is open for: add, edit, delete, branch, integrate, or import
blobSha SHA1 SHA of blob
commitSha SHA1 SHA of commit that added/edited this file
flags Int Miscellaneous flags

db.haveview - Stores mapping changes for clients mapping graph depot content

Indexed on:name, seq
Name Type Description
name Domain Domain name to which this view applies
seq Int Sequence number: for ordering multi-line views
mapFlag MapFlag Type of mapping
viewFile Mapping The right-hand-side of the view. For clients, this is the client-side, for labels it's the generated label view. For branches, it's the target side of the branch view.
depotFile Mapping The left-hand-side of the view - a mapping to file(s) in the depot.

db.integed - Permanent integration records

Indexed on: toFile, fromFile, startFromRev, endFromRev, startToRev, endToRev
Name Type Description
toFile File File to which integration is being performed (target).
fromFile File File from which integration is being performed (source).
startFromRev Rev Starting revision of fromFile
endFromRev Rev Ending revision of fromFile
startToRev Rev Start revision of toFile into which integration was performed.
endToRev Rev End revision of toFile into which integration was performed. Only varies from startToRev for reverse integration records.
how IntegHow Integration method: variations on merge/branch/copy/ignore/delete.
change Change Changelist associated with the integration.
See also:db.resolve

db.integedss - Stream specification integration history

Indexed on:toKey, attr, fromKey, endfromChange
Name Type Description
toKey Key Stream specification to which integration is being performed (target)
attr Int The specification field id which is being integrated
fromKey Key Stream specification from which integration is being performed (source)
endfromChange Change The ending change of the from stream spec.
startfromChange Change The starting change of the from stream spec.
endtoChange Change The ending change of the to stream spec
starttoChange Change The starting change of the to stream spec
baseKey Key The base stream specification from which the integration is being performed (source)
baseChange Change The base changelist number of the baseKey
how IntegHow Integration method: variations on merge/branch/copy/ignore/delete
change Change End changelist number of the toKey into which integration was performed

db.integtx - Temporary integration records used by task streams

Indexed on: toFile, fromFile, startFromRev, endFromRev, startToRev, endToRev
Name Type Description
toFile File File to which integration is being performed (target).
fromFile File File from which integration is being performed (source).
startFromRev Rev Starting revision of fromFile
endFromRev Rev Ending revision of fromFile
startToRev Rev Start revision of toFile into which integration was performed.
endToRev Rev End revision of toFile into which integration was performed. Only varies from startToRev for reverse integration records.
how IntegHow Integration method: variations on merge/branch/copy/ignore/delete.
change Change Changelist associated with the integration.
See also:db.resolve

db.ixtext - Indexing data for generic and job attributes

Indexed on:word, attr, value
Name Type Description
word Key The word being indexed
attr Int The attribute number to which this word belongs. For job data, the attribute number from the jobspec.
value Key For job data, a job name. For generic data, the value of the index keyed by the word.

db.ixtexthx - Indexing data for head revision of all spec fields

Indexed on:type, word, attr, value
Name Type Description
type SpecType The type
word Key The word being indexed
attr Int The attribute number to which this word belongs.
value Key The value of the index keyed by the word.

db.jnlack - Tracks journal positions of all replicas

Indexed on:serverId
Name Type Description
serverId Key The serverId of the replica for whom this record applies
lastUpdate Date The date and time of last update
serverType ServerServiceType The server services offered by this replica
persistedJnl Int The last journal number persisted by this replica
appliedJnl Int The last journal number applied by this replica
persistedPos Int64 The last journal position persisted by this replica
appliedPos Int64 The last journal position applied by this replica
jcflags JournalCopyFlags Journalcopy Flags
isAlive Int 1 = alive
serverOptions ServerOptionsType Server Options
failoverSeen Text Failover was seen

db.job - Job records

Indexed on:job
Name Type Description
job Key The job name
xuser User User name: defunct
xdate Date The date: defunct
xstatus JobStat Job status: defunct
description DescShort Short description
See also:db.bodtext

db.label - Revisions of files in labels

Indexed on:name, depotFile
Name Type Description
name Domain Name of the label
depotFile File File name
haveRev Rev The revision of the file in the label

db.ldap - LDAP specifications

Indexed on:name
Name Type Description
name Key The LDAP configuration name
host String The FQDN of the directory server
port Int The port number on which to connect to the directory server
ssl Int The encryption method to use when connecting to the The FQDN of the directory server. Options are: 0='none', 1='ssl' and 2='tls'
type Int The bind method to use with this directory. Options are: 0='simple', 1='search' and 2='sasl'.
pattern Text The DN used to bind against to validate the user's credentials.
baseDN Text The DN from which to start the search for the user object
filter Text The LDAP query filter to use to identify the user object which will be used to bind against
scope Int The scope to use when searching for the user records. Options are: 0 = baseonly - Just the BaseDN object 1 = children - The BaseDN and its direct children 2 = subtree - The BaseDN and all objects below it
bindDN Text The DN to bind against in order to search the directory
bindpass Text The password for the BindDN record
realm Text The optional realm to use when authenticating the user via SASL
groupBaseDN Text The search base for performing the group search. If unset this will default to the SearchBaseDN
groupFilter Text The filter to use for the group search
groupScope Int The scope to use when performing the group search.Options are: 0 = baseonly - Just the BaseDN object 1 = children - The BaseDN and its direct children 2 = subtree - The BaseDN and all objects below it
options Int LDAP options bitmask: 1=[no]downcase, 2=[no]getattrs and 4=[no]realminusername
attrUid Text The name of the attribute in the directory's user records that contain the users' UIDs
attrEmail Text The name of the attribute in the directory's user records that contain the users' email addresses.
attrName Text The name(s) of the attribute(s) in the directory's user records that contain the users' full names.

db.locks - Locked/Unlocked files

Indexed on:depotFile, client
Name Type Description
depotFile File File in depot
client Domain Domain (client) in which file is open
user User User who presently has the file open
action Action Action file is open for: add, edit, delete, branch, integrate, or import
isLocked LockedType Bitmask of locked flags
change Change Changelist in which the revision is open: 0 for the default changelist

db.locksg - Lock records for clients of type graph

Indexed on:depotFile, client
Name Type Description
depotFile File File in depot
client Domain Domain (client) in which file is open
user User User who presently has the file open
action Action Action file is open for: add, edit, delete, branch, integrate, or import
isLocked LockedType Bitmask of locked flags
change Change Changelist in which the revision is open: 0 for the default changelist

db.logger - Support for 'p4 logger' command. Logs any changes to changelists and jobs

Indexed on:seq
Name Type Description
seq Int Sequence number of event
key Key Either the word 'change' or the word 'job'
attr Key The number of the change, or name of the job that was altered.

db.message - System messages

Indexed on:language, id
Name Type Description
language Key The language for which this message applies
id Int The message number
message String The message text

db.monitor - Helix Server process information

Indexed on:id
Name Type Description
id Int Thread/process id
user User Username of the user running the command
function String The command being executed.
args String Arguments passed to the command
startDate Date The date and time the command started
runstate Int Flag: 0 for running, 1 for terminated, 2 for paused
client Domain The client workspace
host Text The IP address of the client
prog Text The name (and version) of the client program
lockInfo Text Table locking information for command

db.nameval - A table to store key/value pairs

Indexed on:name
Name Type Description
name Key Key name
value Value Key value

db.object - Object storage for graph depots

Indexed on:sha
Name Type Description
sha SHA1 The SHA1 of the object
type ObjectType The object type
data Octet String The object content

db.property - Properties

Indexed on:name, seq, type, scope
Name Type Description
name Key The property name
seq Int Sequence number of property
type UserType Only uses 1=user or 2=group and only applies when scope is set
scope User The user or group the property applies to (may be empty)
value Value The property value
date Date The date/time the property was last updated
user User The user that last modified the property

db.protect - The protections table

Indexed on:seq
Name Type Description
seq Int Sequence number: for ordering the protections table
isGroup Int Flag: 0 for a per-user setting, 1 for a per-group setting.
user UserWild User(s), or Group(s) for whom this record applies.
host DomainWild Domain(s) (IP addresses) for which this record applies.
perm Perm Permissions to be granted/revoked
mapFlag MapFlag Flag: Map the files in or out?
depotFile Mapping Files to be mapped in or out.
subPath Mapping Root path of the sub-protections table
update Date Date this specification was last modified

db.pubkey - SSH Public keys

Indexed on:user, scope
Name Type Description
user User User
scope Key Scope
key Text Key
digest Digest Digest
update Date Update date

db.ref - Reference content for graph depots

Indexed on:repo, type, name
Name Type Description
repo Key Repository name
name Key Reference name
type RefType Reference type
ref SHA1 Target of the reference
symref Text Target of symbolic reference

db.refhist - Reference history for graph depots

Indexed on:repo, type, name, date, action, user, ref
Name Type Description
repo Key Repository name
name Key Reference name
type RefType Reference type
action RefAction Reference action
date Date The date the reference was updated
user User The user who made the reference update
ref SHA1 Encoded reference value
symref Text Symbolic reference

db.remote - Remote specifications

Indexed on:id
Name Type Description
id RemoteID The remote identifier
owner User The user who created this remote
options Int Remote options bitmask: 0: unlocked/nocompress, 1: locked/nocompress, 2: unlocked/compress, 4: locked/compress
address Text The P4PORT used by the remote server
desc Text Description of the remote server
update Date The date this specification was last modified
access Date The date of the last push/fetch on this remote
fetch Change The last changelist that was fetched
push Change The last changelist that was pushed
rmtuser User The user to use when connecting to the remote server

db.repo - Repository specifications

Indexed on:repo
Name Type Description
repo Key Name of the repo
owner User Owner of the repo
created Date Date the repo specification was created
pushed Date Date of the last push to the repo
forked Key Name of the repo from which this repo was forked
desc Text Repo Description
branch Text Default branch to clone from the repo
mirror Text Upstream URL that this repo is mirrored (readonly) from
options Int Repo options: 0 = nolfs, 1 = lfs
id Int Repo index ID
gcmrrserver Text gconn Mirror Server ID

db.resolve - Pending integration records

Indexed on: toFile, fromFile, startFromRev
Name Type Description
toFile File File to which integration is being performed (target).
fromFile File File from which integration is being performed (source).
startFromRev Rev Starting revision of fromFile
endFromRev Rev Ending revision of fromFile
startToRev Rev Start revision of toFile into which integration was performed.
endToRev Rev End revision of toFile into which integration was performed. Only varies from startToRev for reverse integration records.
how IntegHow Integration method: variations on merge/branch/copy/ignore/delete.
state ResolveState How the user performed the resolve.
baseFile File File used as the base for merging.
baseRev Rev Revision of baseFile used as the merge base.
See also:db.integed

db.resolveg - Resolve records for clients of type graph

Indexed on: toFile, fromFile, baseSha
Name Type Description
toFile File ToFile
fromFile File FromFile
baseSHA SHA1 Base SHA
wantsSHA SHA1 Wants SHA
how IntegHow Integration method: variations on merge/branch/copy/ignore/delete.
state ResolvedStatus State

db.resolvex - Pending integration records for shelved files

Indexed on: toFile, fromFile, startFromRev
Name Type Description
toFile File File to which integration is being performed (target).
fromFile File File from which integration is being performed (source).
startFromRev Rev Starting revision of fromFile
endFromRev Rev Ending revision of fromFile
startToRev Rev Start revision of toFile into which integration was performed.
endToRev Rev End revision of toFile into which integration was performed. Only varies from startToRev for reverse integration records.
how IntegHow Integration method: variations on merge/branch/copy/ignore/delete.
state ResolveState How the user performed the resolve.
baseFile File File used as the base for merging.
baseRev Rev Revision of baseFile used as the merge base.
See also:db.integed

db.rev - Revision records

Indexed on:depotFile, depotRev
Name Type Description
depotFile File The file name
depotRev Rev The revision number
type FileType The file type of the revision
action Action The action that created the revision
change Change The changelist that created the revision
date Date The date/time the changelist that created the revision was submitted
modTime Date The timestamp on the file in the user's workspace when the revision was submitted.
digest Digest The MD5 digest of the revision.
size FileSize The size of the file in bytes
traitLot TraitLot Group of traits (attributes) associated with the revision.
lbrIsLazy RevStatus Specifies whether or not the revision gets its content from another file (lazy copy), data about promotion of revision content from task streams, and data about revision charset information.
lbrFile File Filename for librarian's purposes. Specifies location in the archives where the file containing the revision may be found. Usually the same as depotFile, but differs in the case of branched/copied revisions.
lbrRev String The revision of lbrFile that contains the revision content.
lbrType FileType The file type of the librarian revision. Usually the same as type, but differs in the case of branched/copied revisions.

db.revbx - Revision records for archived files

Indexed on:depotFile, depotRev
Name Type Description
depotFile File The file name
depotRev Rev The revision number
type FileType The file type of the revision
action Action The action that created the revision
change Change The changelist that created the revision
date Date The date/time the changelist that created the revision was submitted
modTime Date The timestamp on the file in the user's workspace when the revision was submitted.
digest Digest The MD5 digest of the revision.
size FileSize The size of the file in bytes
traitLot TraitLot Group of traits (attributes) associated with the revision.
lbrIsLazy RevStatus Specifies whether or not the revision gets its content from another file (lazy copy), data about promotion of revision content from task streams, and data about revision charset information.
lbrFile File Filename for librarian's purposes. Specifies location in the archives where the file containing the revision may be found. Usually the same as depotFile, but differs in the case of branched/copied revisions.
lbrRev String The revision of lbrFile that contains the revision content.
lbrType FileType The file type of the librarian revision. Usually the same as type, but differs in the case of branched/copied revisions.

db.revcx - Secondary index of db.rev

Indexed on:change, depotFile
Name Type Description
change Change The changelist that created the revision
depotFile File The file name
depotRev Rev The revision number
action Action The action that created the revision

db.revdx - Revision records for revisions deleted at the head revision

Indexed on:depotFile
Name Type Description
depotFile File The file name
depotRev Rev The revision number
type FileType The file type of the revision
action Action The action that created the revision
change Change The changelist that created the revision
date Date The date/time the changelist that created the revision was submitted
modTime Date The timestamp on the file in the user's workspace when the revision was submitted.
digest Digest The MD5 digest of the revision.
size FileSize The size of the file in bytes
traitLot TraitLot Group of traits (attributes) associated with the revision.
lbrIsLazy RevStatus Specifies whether or not the revision gets its content from another file (lazy copy), data about promotion of revision content from task streams, and data about revision charset information.
lbrFile File Filename for librarian's purposes. Specifies location in the archives where the file containing the revision may be found. Usually the same as depotFile, but differs in the case of branched/copied revisions.
lbrRev String The revision of lbrFile that contains the revision content.
lbrType FileType The file type of the librarian revision. Usually the same as type, but differs in the case of branched/copied revisions.

db.revhx - Revision records for revisions NOT deleted at the head revision

Indexed on:depotFile
Name Type Description
depotFile File The file name
depotRev Rev The revision number
type FileType The file type of the revision
action Action The action that created the revision
change Change The changelist that created the revision
date Date The date/time the changelist that created the revision was submitted
modTime Date The timestamp on the file in the user's workspace when the revision was submitted.
digest Digest The MD5 digest of the revision.
size FileSize The size of the file in bytes
traitLot TraitLot Group of traits (attributes) associated with the revision.
lbrIsLazy RevStatus Specifies whether or not the revision gets its content from another file (lazy copy), data about promotion of revision content from task streams, and data about revision charset information.
lbrFile File Filename for librarian's purposes. Specifies location in the archives where the file containing the revision may be found. Usually the same as depotFile, but differs in the case of branched/copied revisions.
lbrRev String The revision of lbrFile that contains the revision content.
lbrType FileType The file type of the librarian revision. Usually the same as type, but differs in the case of branched/copied revisions.

db.review - User's review mappings

Indexed on:user, seq
Name Type Description
user User A user name
seq Int Sequence number: used for ordering multi-line views
mapFlag MapFlag Type of mapping
depotFile Mapping The files to be reviewed
type Reviewer Type of reviewer

db.revpx - Pending revision records

Indexed on:depotFile, depotRev
Name Type Description
depotFile File The file name
depotRev Rev The revision number
type FileType The file type of the revision
action Action The action that created the revision
change Change The changelist that created the revision
date Date The date/time the changelist that created the revision was submitted
modTime Date The timestamp on the file in the user's workspace when the revision was submitted.
digest Digest The MD5 digest of the revision.
size FileSize The size of the file in bytes
traitLot TraitLot Group of traits (attributes) associated with the revision.
lbrIsLazy RevStatus Specifies whether or not the revision gets its content from another file (lazy copy), data about promotion of revision content from task streams, and data about revision charset information.
lbrFile File Filename for librarian's purposes. Specifies location in the archives where the file containing the revision may be found. Usually the same as depotFile, but differs in the case of branched/copied revisions.
lbrRev String The revision of lbrFile that contains the revision content.
lbrType FileType The file type of the librarian revision. Usually the same as type, but differs in the case of branched/copied revisions.
Note: Only populated during content trigger execution to allow triggers access to the revisions being submitted.

db.revsh - Revision records for shelved files

Indexed on:depotFile, depotRev, type, action, change
Name Type Description
depotFile File The file name
depotRev Rev The revision number
type FileType The file type of the revision
action Action The action that created the revision
change Change The changelist that created the revision
date Date The date/time the changelist that created the revision was submitted
modTime Date The timestamp on the file in the user's workspace when the revision was submitted.
digest Digest The MD5 digest of the revision.
size FileSize The size of the file in bytes
traitLot TraitLot Group of traits (attributes) associated with the revision.
lbrIsLazy RevStatus Specifies whether or not the revision gets its content from another file (lazy copy), data about promotion of revision content from task streams, and data about revision charset information.
lbrFile File Filename for librarian's purposes. Specifies location in the archives where the file containing the revision may be found. Usually the same as depotFile, but differs in the case of branched/copied revisions.
lbrRev String The revision of lbrFile that contains the revision content.
lbrType FileType The file type of the librarian revision. Usually the same as type, but differs in the case of branched/copied revisions.

db.revstg - Temporary revision records for storage upgrade process

Indexed on:depotFile, depotRev
Name Type Description
depotFile File The file name
depotRev Rev The revision number
type FileType The file type of the revision
action Action The action that created the revision
change Change The changelist that created the revision
date Date The date/time the changelist that created the revision was submitted
modTime Date The timestamp on the file in the user's workspace when the revision was submitted.
digest Digest The MD5 digest of the revision.
size FileSize The size of the file in bytes
traitLot TraitLot Group of traits (attributes) associated with the revision.
lbrIsLazy RevStatus Specifies whether or not the revision gets its content from another file (lazy copy), data about promotion of revision content from task streams, and data about revision charset information.
lbrFile File Filename for librarian's purposes. Specifies location in the archives where the file containing the revision may be found. Usually the same as depotFile, but differs in the case of branched/copied revisions.
lbrRev String The revision of lbrFile that contains the revision content.
lbrType FileType The file type of the librarian revision. Usually the same as type, but differs in the case of branched/copied revisions.

db.revsx - Revision records for spec depot files

Indexed on:depotFile, depotRev
Name Type Description
depotFile File The file name
depotRev Rev The revision number
type FileType The file type of the revision
action Action The action that created the revision
change Change The changelist that created the revision
date Date The date/time the changelist that created the revision was submitted
modTime Date The timestamp on the file in the user's workspace when the revision was submitted.
digest Digest The MD5 digest of the revision.
size FileSize The size of the file in bytes
traitLot TraitLot Group of traits (attributes) associated with the revision.
lbrIsLazy RevStatus Specifies whether or not the revision gets its content from another file (lazy copy), data about promotion of revision content from task streams, and data about revision charset information.
lbrFile File Filename for librarian's purposes. Specifies location in the archives where the file containing the revision may be found. Usually the same as depotFile, but differs in the case of branched/copied revisions.
lbrRev String The revision of lbrFile that contains the revision content.
lbrType FileType The file type of the librarian revision. Usually the same as type, but differs in the case of branched/copied revisions.

db.revtx - Task stream revision records

Indexed on:depotFile, depotRev
Name Type Description
depotFile File The file name
depotRev Rev The revision number
type FileType The file type of the revision
action Action The action that created the revision
change Change The changelist that created the revision
date Date The date/time the changelist that created the revision was submitted
modTime Date The timestamp on the file in the user's workspace when the revision was submitted.
digest Digest The MD5 digest of the revision.
size FileSize The size of the file in bytes
traitLot TraitLot Group of traits (attributes) associated with the revision.
lbrIsLazy RevStatus Specifies whether or not the revision gets its content from another file (lazy copy), data about promotion of revision content from task streams, and data about revision charset information.
lbrFile File Filename for librarian's purposes. Specifies location in the archives where the file containing the revision may be found. Usually the same as depotFile, but differs in the case of branched/copied revisions.
lbrRev String The revision of lbrFile that contains the revision content.
lbrType FileType The file type of the librarian revision. Usually the same as type, but differs in the case of branched/copied revisions.

db.revux - Revision records for unload depot files

Indexed on:depotFile, depotRev
Name Type Description
depotFile File The file name
depotRev Rev The revision number
type FileType The file type of the revision
action Action The action that created the revision
change Change The changelist that created the revision
date Date The date/time the changelist that created the revision was submitted
modTime Date The timestamp on the file in the user's workspace when the revision was submitted.
digest Digest The MD5 digest of the revision.
size FileSize The size of the file in bytes
traitLot TraitLot Group of traits (attributes) associated with the revision.
lbrIsLazy RevStatus Specifies whether or not the revision gets its content from another file (lazy copy), data about promotion of revision content from task streams, and data about revision charset information.
lbrFile File Filename for librarian's purposes. Specifies location in the archives where the file containing the revision may be found. Usually the same as depotFile, but differs in the case of branched/copied revisions.
lbrRev String The revision of lbrFile that contains the revision content.
lbrType FileType The file type of the librarian revision. Usually the same as type, but differs in the case of branched/copied revisions.

db.rmtview - View data for remote specifications

Indexed on:id, seq
Name Type Description
id RemoteID Remote name
seq Int Sequence number: for ordering multi-line views
mapFlag MapFlag Type of mapping
localFile Mapping Local file
remoteFile Mapping Remote file
retain Int ArchiveLimits

db.scanctl - ScanCtl

Indexed on:file
Name Type Description
depotPath File name of scanner task
state ScanState scan state
seq Int Next internal sequence number of working directories
dirs Int directories processed
files Int files processed
zeros Int orphaned revisions
dirserr Int directories skipped due to errors
pri Int Priority (unused)
reqpause Int request paused
err Text background process error

db.scandir - Scandir

Indexed on:lskey, seq
Name Type Description
lskey File library scan key
seq Int The sequence of the work directory
file File The path of the pending work directory

db.sendq - Parallel file transmission work queue

Indexed on:taskid, seq
Name Type Description
taskid Int The process id (PID) of the sync
seq Int Sequence number
handle Text Handle
depotFile File The file in the depot
clientFile File The file in its location on the client
haveRev Rev Have revision
type FileType File type
modtime Date Modification time
digest Digest The MD5 digest of the revision
size FileSize The size of the file in bytes
lbrFile File Librarian filename
lbrRev String The librarian revision number
lbrType FileType The file type of the librarian revision
flags Int Miscellaneous flags
clientType FileType The client file type of the revision
depotRev Rev The revision number of depotFile
change Change The changelist that created the depotRev of depotFile
date Date The date/time when the changelist that created depotRev of depotFile was submitted
blobSha SHA1 The Blob SHA
repoSlot Int The repo slot (internal repo ordering)
shelveDigest Digest Digest of previous shelved revision

db.sendq.pt - Per Client transmission work queue

Indexed on:taskid, seq
Name Type Description
taskid Int The process id (PID) of the sync
seq Int Sequence number
handle Text Handle
depotFile File The file in the depot
clientFile File The file in its location on the client
haveRev Rev Have revision
type FileType File type
modtime Date Modification time
digest Digest The MD5 digest of the revision
size FileSize The size of the file in bytes
lbrFile File Librarian filename
lbrRev String The librarian revision number
lbrType FileType The file type of the librarian revision
flags Int Miscellaneous flags
clientType FileType The client file type of the revision
depotRev Rev The revision number of depotFile
change Change The changelist that created the depotRev of depotFile
date Date The date/time when the changelist that created depotRev of depotFile was submitted
blobSha SHA1 The Blob SHA
repoSlot Int The repo slot (internal repo ordering)
shelveDigest Digest Digest of previous shelved revision

db.server - Server specifications

Indexed on:id
Name Type Description
id Key The server identifier
type ServerType The server type: server/broker/proxy
name Text The P4NAME used by this server
address Text The P4PORT used by this server
externalAddress Text For an edge server, this optional field contains its external address for connections from the commit server. This field is required for federated parallel submit.
services ServerServiceType Service provided by this server
desc Text Server description
user User The service user used by this server
options ServerOptionsType Server options
rplFrom Key Replication from Server ID
failoverSeen Text Mark failover as seen

db.stash - Stash data

Indexed on:client, stream, type, seq
Name Type Description
client Domain Client the stash refers to
stream Domain Stream the stash refers to
type StashType Stash type
seq Int Sequence number
change Change Stash change number

db.storage - Track references to archive files

Indexed on:file, rev, type
Name Type Description
file File Librarian file
rev String Librarian revision
type FileType The file type of the librarian revision
refCount Int Reference count
digest Digest MD5 of librarian file (ktext collapsed)
size FileSize Size of file
serverSize FileSize Size of librarian file on server at time of submit / shelve operation
compCksum Digest Digest of compressed librarian file
date Date Date of last update to the storage record
Note: Supersedes db.archmap in 2019.1

db.storageg - Track references to Graph Depot archive files (for future use)

Indexed on:repo, sha, type
Name Type Description
repo Key Repository name
sha Key Digest of the file in type appropriate format
type ObjectType Type of graph object
refCount Int Reference count
date Date Date of last update to the storage record

db.storagesh - Track references to shelved archive files

Indexed on:file, rev, type
Name Type Description
file File Librarian file
rev String Librarian revision
type FileType The file type of the librarian revision
refCount Int Reference count
digest Digest MD5 of librarian file (ktext collapsed)
size FileSize Size of file
serverSize FileSize Size of librarian file on server at time of submit / shelve operation
compCksum Digest Digest of compressed librarian file
date Date Date of last update to the storage record

db.storagesx - Digest and filesize based index for db.storagesh, for finding shelved files with identical content

Indexed on:digest,size,file,rev,type
Name Type Description
digest Digest digest
size FileSize file size
file Key lbrFile
rev lbrRev lbrRev
type FileType lbrType

db.stream - Stream specifications

Indexed on:stream
Name Type Description
stream Domain Stream name
parent Domain Parent stream name
title Text Stream title (alias for the stream name)
type StreamType The type of stream
preview Date Stream template modification time
change Change Last submit to stream
copyChange Change Parent change at last copy
mergeChange Change Parent change at last merge
highChange Change Highest change at last merge
hash Int Hash value of dynamic branch
status StreamStatus Flow status
parentview Int Parent view inheritance mode

db.submodule - Submodule configuration data

Indexed on:repo, path
Name Type Description
repo Key Repository name
path Key Path at which the submodule is linked
subrepo Key Submodule repository name

db.svrview - View data for servers specifications

Indexed on:id, type, seq
Name Type Description
id Key Server name
type SvrViewType View type
seq Int Sequence (line) number
mapFlag MapFlag Type of mapping
viewFile Mapping View file

db.template - Streams templates

Indexed on:name, change, seq
Name Type Description
name Domain Stream name
change Change Versioned at change
seq Int Sequence (line) number
parent Domain Parent stream name
type StreamType Type of stream
path StreamPathType Stream path type
viewFile Mapping View file (left hand side of path)
depotFile Mapping Depot file (right hand side of path)
changeMap Value Stream 'import' path changelist specifier. The changelist limits in effect for a given client are displayed in a read-only client spec field called 'ChangeView'

db.templatesx - Shelved stream templates

Indexed on:shelf, name, seq
Name Type Description
shelf Change Shelf changelist number
name Domain Stream name
seq Int Sequence (line) number
change Change Versioned at change
parent Domain Parent stream name
type StreamType Type of stream
path StreamPathType Stream path type
viewFile Mapping View file (left hand side of path)
depotFile Mapping Depot file (right hand side of path)
changeMap Value Stream 'import' path changelist specifier. The changelist limits in effect for a given client are displayed in a read-only client spec field called 'ChangeView'
changeAtOpen Change Base change at time of opening
user User The user that created the change
action Action The action that created the change

db.templatewx - Pending stream templates

Indexed on:client, name, seq
Name Type Description
client Domain Stream client
name Domain Stream name
seq Int Sequence (line) number
change Change Versioned at change
parent Domain Parent stream name
type StreamType Type of stream
path StreamPathType Stream path type
viewFile Mapping View file (left hand side of path)
depotFile Mapping Depot file (right hand side of path)
changeMap Value Stream 'import' path changelist specifier. The changelist limits in effect for a given client are displayed in a read-only client spec field called 'ChangeView'
changeAtOpen Change Base change at time of opening
user User The user that created the change
action Action The action that created the change

db.ticket - Second factor authentication state on a per user/host basis

Indexed on:user, host
Name Type Description
user User User the ticket was issued for
host Key Host the ticket was issued for
ticket Password The 'p4 login' ticket for this user
state 2FAState The state of 2 Factor Authentication
token String The 2 Factor Authentication token
updateDate Date The date of the last ticket update

db.ticket.rp - Second factor authentication state on a per user/host basis (replica)

Indexed on:user, host
Name Type Description
user User User the ticket was issued for
host Key Host the ticket was issued for
ticket Password The 'p4 login' ticket for this user
state 2FAState The state of 2 Factor Authentication
token String The 2 Factor Authentication token
updateDate Date The date of the last ticket update

db.traits - Attributes associated with file revisions

Indexed on:traitLot, name
Name Type Description
traitLot Int Indicates a specific collection of traits (referred to externally as "attributes".)
name Key Trait (attribute) name
type TraitType Type of trait
value Octet String The value

db.trigger - Trigger specifications

Indexed on:seq
Name Type Description
seq Int Sequence number: for ordering the trigger list
name Key Name of the trigger
mapFlag MapFlag Type of mapping: specifies whether the trigger applies to the files or not.
depotFile Mapping The files to apply the trigger to
triggerDepotFile File Depot path to the trigger
trigger Trigger Type of trigger
action Text Command to execute when trigger runs

db.upgrades - Store server upgrade info

Indexed on:seq
Name Type Description
seq Int Sequence
name Text name of upgrade
state UpgradeState current state
startdate Date upgrade started
enddate Date upgrade ended
info Text optional information specific to the upgrade step

db.upgrades.rp - Store replica upgrade info

Indexed on:seq
Name Type Description
seq Int Sequence
name Text name of upgrade
state UpgradeState current state
startdate Date upgrade started
enddate Date upgrade ended
info Text optional information specific to the upgrade step

db.user - User specifications

Indexed on:user
Name Type Description
user User The username
email Text The user's email address
jobView Text The user's job view
updateDate Date The date/time the user record was last updated
accessDate Date The date/time the user record was last used
fullName Text The user's full name
password Password The MD5 hash of the users (encrypted) password
strength Strength Measure of the strength of the user's password
ticket Password 'p4 login' ticket for this user
endDate Date Date/time the user's ticket expires
type UserLevel Type of user
passDate Date Date password was last changed
passExpire Date Date of password expiration
attempts Date Failed login attempts
auth UserAuthType Authentication method (AuthMethod) for the user

db.user.rp - Used by replica server's to store login information

Indexed on:user
Name Type Description
user User The username
email Text The user's email address
jobView Text The user's job view
updateDate Date The date/time the user record was last updated
accessDate Date The date/time the user record was last used
fullName Text The user's full name
password Password The MD5 hash of the users (encrypted) password
strength Strength Measure of the strength of the user's password
ticket Password 'p4 login' ticket for this user
endDate Date Date/time the user's ticket expires
type UserLevel Type of user
passDate Date Date password was last changed
passExpire Date Date of password expiration
attempts Date Failed login attempts
auth UserAuthType Authentication method (AuthMethod) for the user

db.uxtext - Indexing data for Swarm

Indexed on:word, attr, value
Name Type Description
word Key The word being indexed
attr Int The attribute number to which this word belongs. For job data, the attribute number from the jobspec.
value Key For job data, a job name. For generic data, the value of the index keyed by the word.

db.view - View data for domain records

Indexed on:name, seq
Name Type Description
name Domain Domain name to which this view applies
seq Int Sequence number: for ordering multi-line views
mapFlag MapFlag Type of mapping
viewFile Mapping The right-hand-side of the view. For clients, this is the client-side, for labels it's the generated label view. For branches, it's the target side of the branch view.
depotFile Mapping The left-hand-side of the view - a mapping to file(s) in the depot.

db.view.rp - View data for clients of build-server replicas

Indexed on:name, seq
Name Type Description
name Domain Domain name to which this view applies
seq Int Sequence number: for ordering multi-line views
mapFlag MapFlag Type of mapping
viewFile Mapping The right-hand-side of the view. For clients, this is the client-side, for labels it's the generated label view. For branches, it's the target side of the branch view.
depotFile Mapping The left-hand-side of the view - a mapping to file(s) in the depot.

db.working - Records for work in progress

Indexed on:clientFile
Name Type Description
clientFile File File on the client
depotFile File File in the depot
client Domain The client the file is opened on
user User The user who has the file opened
haveRev Rev Revision presently in user's client workspace
workRev Rev Working revision; normally identical to the haveRev
isVirtual Int Flag: if 1, file was opened with "p4 integ -v".
type FileType File type
action Action What the user's doing with the file
change Change Associated changelist, or zero for the default changelist.
modTime Date Modification timestamp on the file in the user's workspace.
isLocked LockedType Bitmask of locked flags
digest Digest MD5 digest of working file.
size FileSize File size
traitLot TraitLot Group of traits associated with file revision.
tampered TamperCheck Flag indicating the tamper-state of the file in the workspace.
clientType FileType Type of the file in the client workspace.
movedFile File Moved from filename
status WorkStatus Working status

db.workingg - Working records for clients of type graph

Indexed on:clientFile
Name Type Description
clientFile File File on the client
depotFile File File in the depot
client Domain The client on which the file is opened
user User The user who has the file opened
haveRev Rev Revision presently in user's client workspace
workRev Rev Working revision; normally identical to the haveRev
isVirtual Int Flag: if 1, file was opened with "p4 integ -v".
type FileType File type
action Action What the user's doing with the file
change Change Associated changelist, or zero for the default changelist.
modTime Date Modification timestamp on the file in the user's workspace.
isLocked LockedType Bitmask of locked flags
digest Digest MD5 digest of working file.
size FileSize File size
traitLot TraitLot Group of traits associated with file revision.
tampered TamperCheck Flag indicating the tamper-state of the file in the workspace.
clientType FileType Type of the file in the client workspace.
movedFile File Moved from filename
status WorkStatus Working status
blobSha SHA1 Blob SHA
repo Key Repository name

db.workingx - Records for shelved open files

Indexed on:clientFile
Name Type Description
clientFile File File on the client
depotFile File File in the depot
client Domain The client the file is opened on
user User The user who has the file opened
haveRev Rev Revision presently in user's client workspace
workRev Rev Working revision; normally identical to the haveRev
isVirtual Int Flag: if 1, file was opened with "p4 integ -v".
type FileType File type
action Action What the user's doing with the file
change Change Associated changelist, or zero for the default changelist.
modTime Date Modification timestamp on the file in the user's workspace.
isLocked LockedType Bitmask of locked flags
digest Digest MD5 digest of working file.
size FileSize File size
traitLot TraitLot Group of traits associated with file revision.
tampered TamperCheck Flag indicating the tamper-state of the file in the workspace.
clientType FileType Type of the file in the client workspace.
movedFile File Moved from filename
status WorkStatus Working status

pdb.lbr - Proxy server pending archive transfer table

Indexed on:file, rev
Name Type Description
file File The file name
rev String The librarian revision
type FileType The file type of the revision
status PullStatus The status of the archive transfer
who Int The process / thread id ID of the pull process
when Int The timestamp from when the transfer was scheduled
action Action The action that created the revision
digest Digest The MD5 digest of the revision
size FileSize The size of the file in bytes
retries Int Error retry count
errmsg Octet String Last Error Message
change Change The changelist that created the revision
date Date Librarian date
modTime Date Librarian modtime
origin Int The revision type that this transfer originates from: 1 = db.rev 2 = db.revsh 3 = db.revsx 4 = db.revux 5 = db.object
target Text Edge server to transfer from (reverse replication only)
retryMissing Int 0 or 1: 1 indicates that pull should retry the fetch if this archive is missing. Set when background submit is used.

rdb.lbr - Replica server pending archive transfer table

Indexed on:file, rev
Name Type Description
file File The file name
rev String The librarian revision
type FileType The file type of the revision
status PullStatus The status of the archive transfer
who Int The process / thread id ID of the pull process
when Int The timestamp from when the transfer was scheduled
action Action The action that created the revision
digest Digest The MD5 digest of the revision
size FileSize The size of the file in bytes
retries Int Error retry count
errmsg Octet String Last Error Message
change Change The changelist that created the revision
date Date Librarian date
modTime Date Librarian modtime
origin Int The revision type that this transfer originates from: 1 = db.rev 2 = db.revsh 3 = db.revsx 4 = db.revux 5 = db.object
target Text Edge server to transfer from (reverse replication only)
retryMissing Int 0 or 1: 1 indicates that pull should retry the fetch if this archive is missing. Set when background submit is used.

tiny.db - Records content data for tiny files using the +T file type modifier

Indexed on:key
Name Type Description
key Key The file name and revision
value Octet String The (encoded) file content

Datatypes

2FAState - Second Factor Authentication State

Second factor authentication scheme and status

Bits used to store second factor authentication scheme (Mask: 0xFF)

Value Explanation
0x0001 otp-generated; one-time password generated
0x0002 otp-requested; one-time password requested
0x0003 challenge; challenge/response
0x0004 external; 3rd-party prompting

Bits used to store second factor authentication status (Mask: None)

Value Explanation
0x0100 authenticated; host is authenticated
0x0200 persisted; 2FA persists for this host
0x0400 forced; superuser skipped the checks
0x0800 skipped; 2FA was not required
0x1000 waiting; waiting on 2FA service
0x2000 token-requested; OTP requested from 2FA service
0x4000 required; 2FA required
0x8000 rejected; external 2FA was rejected

Action - Type of action

Revisions are produced by user actions. The Action type defines the available actions and their internal values.

Value Explanation
0 add; user adds a file
1 edit; user edits a file
2 delete; user deletes a file
3 branch; add via integration
4 integ; edit via integration
5 import; add via remote depot
6 purge; purged revision, no longer available
7 movefrom; move from another filename
8 moveto; move to another filename
9 archive; stored in archive depot

Change - A changelist number

The number of a changelist. The number 0 represents the default pending changelist.

ChangeStatus - The status of a change

A bit mask representing the status of a change

Value Explanation
0x0001 committed
0x0002 shelved
0x0004 restricted
0x0008 hidden
0x0010 elsewhere
0x0012 promoted - elsewhere, shelved
0x0020 unsubmitted
0x0040 hasgraph

Counter - A counter name

A string representing the counter name. Counter names must contain no spaces, contain no slashes, and be identifiers (cannot begin with a dash and cannot be all-numeric)

Date - A unix-style date and time

A date and time represented as the number of seconds since the Epoch: 01 January 1970 00:00:00 UTC. This is the same convention as that used on Unix platforms.

DepotType - Type of Depot

The type of a given depot

Value Explanation
0 local depot
1 remote depot
2 spec depot
3 stream depot
4 archive depot
5 unload depot
6 tangent depot
7 graph depot
8 extension

DescShort - A short string value

The first 31 characters of a Text string
See also:Text

Digest - An MD5 digest

A string containing an MD5 digest.

Domain - A domain name

A string representing the name of a depot, label, client, branch, typemap, or stream.

DomainOpts - Options for domains

A integer value representing the options for a domain

Bits used to store client, label, and branch options (Mask: 0x10EF)

Value Explanation
0x0001 modtime
0x0002 clobber
0x0004 allwrite
0x0008 locked
0x0020 compress
0x0040 rmdir
0x1000 indirect (obsolete since 2004.2)
0x8000 autoreload

Bits used to store client type and backup status (Mask: 0x190000)

Value Explanation
0x00000 client is writeable
0x10000 client is readonly
0x20000 client is nobackup
0x110000 client is partitioned

Bits used to store client line termination settings (Mask: 0x0710)

Value Explanation
0x0000 local
0x0010 unix (LF)
0x0200 mac (CR)
0x0300 win (CRLF)
0x0400 share (LF/CRLF)

Bits used to store client submit options (Mask: 0x7000)

Value Explanation
0x1000 Revert unchanged files
0x2000 Leave unchanged files
0x4000 Submit, and re-open unchanged files

Bits used to store stream options (Mask: 0x000C)

Value Explanation
0x0001 allsubmit or ownersubmit
0x0002 locked or unlocked
0x0004 change flows to parent
0x0008 change flows from parent
0x0010 mergeany or mergedown

DomainType - A domain type

A integer value representing the type of a domain

Value Explanation
67 (ASCII 'C') unloaded client
76 (ASCII 'L') unloaded label
83 (ASCII 'S') unloaded task stream
98 (ASCII 'b') branch
99 (ASCII 'c') client
100 (ASCII 'd') depot
108 (ASCII 'l') label
115 (ASCII 's') stream
116 (ASCII 't') typemap

DomainWild - A string with optional wildcards

A string that may contain wildcards - usually an IP address in the protections table.

File - A file name

A string representing the filename
See also:FileType

FileSize - A file size

A 64-bit integer used to store file sizes. The value -1 is used to represent unknown file sizes.

FileType - Type of file

The FileType is a bitmask specifying the type and modifiers of a revision from both the client and server points of view. The first 16 bits are used to store the storage type and modifiers, the next 16 bits are used to store the client access method and modifiers.

Bits used to store the server's storage type (Mask: 0x000F)

Value Explanation
0x0000 RCS
0x0001 Binary
0x0002 Tiny
0x0003 Compressed
0x0004 tempobj (deprecated since 2002.1)
0x0005 Detect type. Used internally when no type is given by the user.
0x0006 Compressed tempobj (deprecated since 2002.1)
0x0007 Binary access to compressed data. Used internally.
0x0008 Stored externally via librarian trigger

Bits used to store the modifiers to the server's storage type (Mask: 0x00F0)

Value Explanation
0x0010 99.2-style keyword expansion/contraction
0x0020 2000.1-style keyword expansion/contraction
0x0030 Any type of keyword expansion
0x0040 Exclusive open
0x0080 New tempobj (+S modifier)

Bits used to store the number of revisions to be stored for +Sn files. (Mask: 0x0F00)

Value Explanation
0x0000 +S1
0x0100 +S2
0x0200 +S3
0x0300 +S4
0x0400 +S5
0x0500 +S6
0x0600 +S7
0x0700 +S8
0x0800 +S9
0x0900 +S10
0x0A00 +S16
0x0B00 +S32
0x0C00 +S64
0x0D00 +S128
0x0E00 +S256
0x0F00 +S512

Bits used to store the file type from the client's point of view. (Mask: 0x10D0000)

Value Explanation
0x0000000 text
0x0010000 binary
0x0020000 executable bit set
0x0040000 symlink
0x0050000 resource fork
0x0080000 unicode
0x0090000 raw text (nocrlf - 99.1)
0x00C0000 apple data + resource file (since 2000.2)
0x00D0000 apple data + resource file (99.2)
0x1000000 Used to support filetype detection
0x1010000 AutoWild
0x1040000 utf8
0x1050000 submodule
0x1080000 utf16 client utf8 server (2007.2)

Bits used to store the modifiers applied to the file on the client. (Mask: 0x720000)

Value Explanation
0x0100000 writable
0x0200000 modtime
0x0400000 uncompress on client

FixStatus - Status of a fixed job

This type is a wrapper around the 'Text' type that handles the pre-2000.1 "closed" default value.

GraphPermType - Type of Graph Permission

The type of a graph depot permission

Value Explanation
0 none
1 read
2 write-ref
4 write-all
8 create-repo
16 delete-repo
32 create-ref
64 delete-ref
128 force-push
256 admin
4096 restricted-ref

Int - A 32-bit integer

A 32-bit integer

Int64 - A 64-bit integer

A 64-bit integer.

Int8 - An 8-bit integer

An 8-bit integer: an unsigned char

IntegHow - Integration methods

Specifies how an integration was performed. Integrations always come in pairs: the 'forward' and 'reverse' records. As a general rule, the forward records contain the word 'from'; and the reverse records contain the word 'into'.

Value Explanation
0 merge from: integration with other changes
1 merge into: reverse merge
2 branch from: integration was branch of file
3 branch into: reverse branch
4 copy from: integration took source file whole
5 copy into: reverse take
6 ignored: integration ignored source changes
7 ignored by: reverse copy
8 delete from: integration of delete
9 delete into: reverse delete
10 edit into: reverse of integration downgraded to edit
11 add into: reverse of branch downgraded to add
12 edit from: merge that the user edited
13 add from: branch downgraded to add
14 moved from: reverse of renamed file
15 moved into: file was renamed
16 'delete' target rev ignoring non-deleted source
17 non-deleted source ignored by 'delete' target rev
18 'integrate' target rev ignoring deleted source
19 deleted source ignored by 'integrate' target rev
20 deleted branch: branch from
21 deleted branch: delete into
22 undo: opposite of merge
23 undo reverse
24 move undo: move + undo as one record
25 move undo reverse
26 integration treats conversion of stream spec to noinherit ParentView as a copy
27 integration treats conversion of stream spec to noinherit ParentView as a reverse copy
28 integration ignores conversion of stream spec to inherit ParentView
29 integration in reverse direction ignores conversion of stream spec to inherit ParentView
Note: All integration records should have a corresponding reverse record. The 'branch from' (2) and 'merge from' (0) records have corresponding "dirty" reverse records for cases where the target file took more than one change or was (re)opened for 'edit' or 'add'.

JobStat - Job status - defunct

Old (pre-98.2) job status values.

Value Explanation
0 open
1 closed
2 suspended

JournalCopyFlags - "Journal Copy State"

Used to maintain Journal Copy State

Value Explanation
1 Durable Only
2 Non Acknowledging
4 Journal Wait

Key - A key name

A string representing the key name. Key names must contain no spaces, contain no slashes, and be identifiers (cannot begin with a dash and cannot be all-numeric)
See also:String

LockedType - Bitmask of lock types

A bitmask of locked flags

Bits used to store lock types (Mask: 0x0003)

Value Explanation
0x0000 Unlocked
0x0001 Locked
0x0002 Global

MapFlag - Types of mapping

Specifies how the files specified by a mapping should be treated

Value Explanation
0 mapped-in (the default)
1 mapped-out (mappings that start with '-')
2 overlay (mappings that start with '+')
3 haveMap (mappings that start with '$'). Used internally only
4 changeMap (mappings that start with '@')

Mapping - A string representing a mapping

A Mapping is essentially a file name that may contain wildcards

MaxLockTime - Maximum number of milliseconds to hold locks

The number of milliseconds for which a command may hold locks. Commands that take longer than this time period will abort. The value 0 means 'unlimited'.

MaxResults - Maximum number of results permitted

The number of results that commands run by the restricted user are permitted to return. The value 0 means 'unlimited'.

MaxScanRows - Maximum number of records scanned

The maximum number of records that the server may read on behalf of the restricted user. The value 0 means 'unlimited'.

ObjectType - Object type

Object type

Value Explanation
0 commit
1 tree
2 tag
3 null

Octet String - Encoded hex string

A variable length encoded hex string. The first octet stores the length of the string.

Password - The MD5 hash of a password

The MD5 hash of an encrypted password.

Perm - Bitmask of permissions

A bitmask of granted permissions

Bits used to store granted permissions (Mask: 0x1F01FF )

Value Explanation
0x000000 none
0x000001 Grants list access
0x000002 Grants read access
0x000004 Grants ability to branch/integ from
0x000008 Grants open access
0x000010 Grants write access
0x000020 Grants review access
0x000080 Grants admin access
0x000040 Grants super-user access
0x000100 Grants owner access
0x010000 Grants stream list access
0x020000 Grants stream read access
0x040000 Grants stream branch access
0x080000 Grants stream open access
0x100000 Grants stream write access

PullStatus - Archive pull transfer status

The status of an archive pull transfer

Value Explanation
new new transfer
active active transfer
done completed transfer
error errored transfer
restart restarted transfer
cancelled cancelled transfer

RefAction - Reference action

A reference action

Value Explanation
0 create
1 update
2 force
3 delete

RefType - A reference type

The type of reference

Value Explanation
0 Branch reference
1 Remote reference
2 Tag reference
3 Workspace branch reference. Pseudo-reference, used by workspaces that access git files
4 Workspace have reference. Pseudo-reference, used by workspaces that access git files
5 Other reference

RemoteID - A remote name

A string representing the name of a remote spec

ResolveState - Resolve actions

Pending or completed resolve actions.

Value Explanation
0 Content resolve
1 Filetype resolve
2 Branch resolve
3 Delete resolve
4 Move resolve
5 Attribute resolve
6 Charset resolve

ResolvedStatus - Resolve methods (obsolete in 2011.1, replaced by ResolveState)

Specifies how the user resolved merge operations.

Value Explanation
0 Not yet resolved
1 Resolved manually
2 Resolved automatically as part of a branch
3 Resolved automatically as part of a delete
4 Resolved automatically as part of a move

Rev - A revision number

The positive integer number of a specific revision of a file. The number 0 represents '#none'.

RevStatus - A revision status

Lazy copy, task stream promotion, and charset status

Bits used to store revision status (Mask: 0x00FFFFFF)

Value Explanation
0x0000 single revision with content
0x0001 single revision lazy copied
0x0002 revision task sparse
0x0004 revision task branch

Bits used to store revision charset (high 8 bits). Values below have been shifted right 24 bits (Mask: 0x7F000000)

Value Explanation
0 NONE
1 UTF_8
2 ISO8859_1
3 UTF_16
4 SHIFTJIS
5 EUCJP
6 WIN_US_ANSI
7 WIN_US_OEM
8 MACOS_ROMAN
9 ISO8859_15
10 ISO8859_5
11 KOI8_R
12 WIN_CP_1251
13 UTF_16_LE
14 UTF_16_BE
15 UTF_16_LE_BOM
16 UTF_16_BE_BOM
17 UTF_16_BOM
18 UTF_8_BOM
19 UTF_32
20 UTF_32_LE
21 UTF_32_BE
22 UTF_32_LE_BOM
23 UTF_32_BE_BOM
24 UTF_32_BOM
25 UTF_8_UNCHECKED
26 UTF_8_UNCHECKED_BOM
27 CP949
28 CP936
29 CP950
30 CP850
31 CP858

Reviewer - Type of reviewer

The type of reviewer. Currently there is only one type of reviewer and 0 is the only valid value.

SHA1 - Encoded SHA1

20 byte SHA1 digest of a block of text

ScanState - The state of the scan

The state of the scan

Value Explanation
0 unset
1 run
2 paused
3 done
4 error
5 busy

ServerOptionsType - Options for server definitions

Option Flags for server definitions.

The server options service type setting is generated by OR'ing the generic ServerOptionFlags defined below (Mask: None)

Value Explanation
0x0001 mandatory

ServerServiceType - The type of server service

The services offered by a type of service.

The server service type setting is generated by OR'ing the generic ServerServiceProperties defined below (Mask: None)

Value Explanation
0x0903 standard ( db-read | db-write | rmt-depot | rmt-journal )
0x0945 replica ( db-read | db-replication | file-replication | rmt-depot | rmt-journal )
0x0030 broker ( brokering | forwarding )
0x00A0 proxy ( forwarding | file-cacheing )
0x09E5 forwarding-replica ( db-read | db-replication | forwarding | file-replication | file-cacheing | rmt-depot | rmt-journal )
0x094D build-server ( db-read | db-replication | bound-clients | file-replication | rmt-depot | rmt-journal )
0x0203 P4AUTH ( db-read | db-write | rmt-auth )
0x0403 P4CHANGE ( db-read | db-write | rmt-change )
0x19ED edge-server ( db-read | db-replication | bound-clients | forwarding | file-replication | file-cacheing | rmt-depot | rmt-journal | local-opens )
0x2F03 commit-server ( db-read | db-write | rmt-depot | rmt-journal | rmt-change | rmt-auth | commit-server )
0x6F03 depot-master ( db-read | db-write | rmt-depot | rmt-journal | rmt-change | rmt-auth | commit-server | p4zk-managed )
0xC945 depot-standby ( db-read | db-replication | file-replication | rmt-depot | rmt-journal | journal-copy | p4zk-managed )
0x59ED workspace-server ( db-read | db-replication | bound-clients | forwarding | file-replication | file-cacheing | rmt-depot | rmt-journal | local-opens | p4zk-managed )
0x8945 standby ( db-read | db-replication | file-replication | rmt-depot | rmt-journal | journal-copy )
0x89E5 forwarding-standby ( db-read | db-replication | forwarding | file-replication | file-cacheing | rmt-depot | rmt-journal | journal-copy )
0x4030 workspace-router ( brokering | forwarding | p4zk-managed )
0x10003 local ( db-read | db-write | dvcs-local )
0x20000 cluster ( cluster-id )
0x40000 zookeeper-server ( zookeeper-server )
0x80000 hxca-server ( hxca-server )
0x100000 git-connector

ServerServiceProperties: Bits used to identify generic server properties (Mask: None)

Value Explanation
0x0001 db-read
0x0002 db-write
0x0004 db-replication
0x0008 bound-clients
0x0010 brokering
0x0020 forwarding
0x0040 file-replication
0x0080 file-cacheing
0x0100 rmt-depot
0x0200 rmt-auth
0x0400 rmt-change
0x0800 rmt-journal
0x1000 local-opens
0x2000 commit-server
0x4000 p4zk-managed
0x8000 journal-copy
0x10000 dvcs-local
0x20000 cluster-id
0x40000 zookeeper
0x80000 hxca
0x80000 Git-Connector

ServerType - The type of server

The type of server

Value Explanation
0 server
1 proxy
2 broker
3 identifier
4 admin
5 connector

SpecType - A spec type

A integer value representing the type of a spec

Value Explanation
98 (ASCII 'b') branch
67 (ASCII 'C') change
99 (ASCII 'c') client
100 (ASCII 'd') depot
101 (ASCII 'e') spec
69 (ASCII 'E') extension
103 (ASCII 'g') group
106 (ASCII 'j') job
108 (ASCII 'l') label
68 (ASCII 'D') ldap
76 (ASCII 'L') license
112 (ASCII 'p') protect
114 (ASCII 'r') remote
82 (ASCII 'R') repo
83 (ASCII 'S') server
115 (ASCII 's') stream
84 (ASCII 'T') trigger
116 (ASCII 't') typemap
117 (ASCII 'u') user

StashType - Stash type

Stash type

Value Explanation
0 switch: A shelf with work-in-progress for a particular stream/branch
1 tangent: Work-in-progress relocated by 'p4 fetch -t'. Consumed and removed by 'p4 resubmit'

StreamPathType - Type of stream path

The path type for file paths in a stream view.

Value Explanation
0 share
1 isolate
2 import
3 exclude
4 remapped
5 ignored
6 inclusive, a type which is generated internally
7 import+
8 inclusive+, a type which is generated internally
9 a line comment in the paths field
10 a continuation comment in the paths field
11 a line comment in the remapped field
12 a continuation comment in the remapped field
13 a line comment in the ignored field
14 a continuation comment in the ignored field
15 invalid path type, used internally

StreamStatus - Stream integration status

The stream integration status.

Bits used to store the stream integration status (Mask: Copy: 0x0003, Merge: 0x000C, Spec copy: 0x0030, Spec merge: 0x00C0)

Value Explanation
0x0000 Clear cache
0x0001 Needs copy
0x0002 Copy up-to-date
0x0004 Needs merge
0x0008 Merge up-to-date
0x0010 Spec needs copy
0x0020 Spec copy up-to-date
0x0040 Spec needs merge
0x0080 Spec merge up-to-date

StreamType - Type of stream

The type of stream.

Value Explanation
0 mainline
1 release
2 development
3 virtual
4 task
5 task - unloaded

Strength - Strength check of a password

Whether or not a user's password has been tested for strength.

Value Explanation
0 Strength unknown
1 Password is strong
2 Unset

String - A string up to 1024 characters long

A string up to 1024 characters in length. Depending on the context in which the string is used, restrictions may apply. Strings are often used as key fields in the schema.
  • Cannot be empty
  • Cannot consist solely of a dash (-)
  • Cannot be all-numeric
  • Cannot contain non-printable characters
  • Spaces are replaced with underscores ( _ )
  • Revision characters (# and @) are prohibited
  • Slashes (/) are prohibited
  • Wildcards (... and *) are prohibited

SvrViewType - Server specification view type

Server specification view type

Value Explanation
0 Client Data Filter
1 Revision Data Filter
2 Archive Data Filter
3 Authorized Addresses
4 Repos that should be polled to keep their caches up-to-date

TamperCheck - Tamper-state of workspace file

Indicates the tamper-state of a file in a workspace. This is used to decide whether or not to check the file, and if checked, to hold the result.

Value Explanation
0 Do not check for tampering
1 Check for tampering
2 Tamper-check failed

Text - A string value

A text string value - used to hold longer blocks of text.

TraitLot - The id of a group of traits

An integer identifying a group of traits which may be shared by several revisions.

TraitType - A type of trait

The type of trait.

Value Explanation
0 Special trait for reference counting
1 Binary trait
2 Binary trait that gets propagated

Trigger - A type of trigger

The type of a trigger.

Value Explanation
0 change-submit (formerly pre-submit triggers)
1 change-content
2 change-commit
3 form-in
4 form-out
5 form-save
6 form-delete
7 form-commit
8 auth-check
9 auth-check-sso
10 auth-set
11 fix-add
12 fix-delete
13 archive
14 shelve-submit
15 shelve-commit
16 shelve-delete
17 service-check
18 edge-submit
19 edge-content
20 change-failed
21 command
22 push-submit
23 push-content
24 push-commit
25 journal-rotate
26 journal-rotate-lock
27 graph-push-start
28 graph-push-complete
29 graph-push-reference
30 graph-push-reference-complete
31 graph-lfs-push
32 graph-fork-repo
33 pull-archive
34 auth-pre-2fa
35 auth-init-2fa
36 auth-check-2fa
37 bgtask
38 auth-invalidate
39 global-extcfg
40 auth-pre-sso
41 failed-over
42 extension-run
43 heartbeat-missing
44 heartbeat-resumed
45 heartbeat-dead

UpgradeState - Upgrade State

Upgrade State

Bits used to store the upgrade state (Mask: 0x010F)

Value Explanation
0x0000 Upgrade Needed
0x0001 Upgrade Needed on replica; change to counter seen
0x0002 Upgrade currently executing (or abruptly terminated)
0x0003 Upgrade completed on this and all upstream servers
0x0004 Manually triggered upgrade success on replica
0x0005 Upgrade step has failed on this server
0x0100 Upgrade step was run in isolation (modifier bit)

User - A user or group name

The name of a Helix Server user or group.
See also:String

UserAuthType - User Authentication Type

The AuthMethod setting for the user.

Value Explanation
0 perforce
1 ldap
16 perforce+2fa
17 ldap+2fa

UserLevel - User functionality level

User functionality level

Value Explanation
0 standard
1 service
2 operator

UserType - The role of a user within a group

The role of a user (or group) within a group.

Bits used to store the role of a user in a group (Mask: 0x0007)

Value Explanation
0x0001 User is an ordinary user
0x0002 Group is a sub-group
0x0004 User is the owner of a group

UserWild - A user or group name with wildcards

A user/group name that may contain wildcards (*)
See also:User

Value - A number or a string

A number, stored in a string, or a string

WorkStatus - Working table charset and status

Working State Flags and Charset

Working table status flags, WorkStatus Flags defined below (Mask: 0x00FFFFFF)

Value Explanation
0x0001 resolved merged ktext

Bits used to store working charset (high 8 bits). Values below have been shifted right 24 bits (Mask: 0x7F000000)

Value Explanation
0 NONE
1 UTF_8
2 ISO8859_1
3 UTF_16
4 SHIFTJIS
5 EUCJP
6 WIN_US_ANSI
7 WIN_US_OEM
8 MACOS_ROMAN
9 ISO8859_15
10 ISO8859_5
11 KOI8_R
12 WIN_CP_1251
13 UTF_16_LE
14 UTF_16_BE
15 UTF_16_LE_BOM
16 UTF_16_BE_BOM
17 UTF_16_BOM
18 UTF_8_BOM
19 UTF_32
20 UTF_32_LE
21 UTF_32_BE
22 UTF_32_LE_BOM
23 UTF_32_BE_BOM
24 UTF_32_BOM
25 UTF_8_UNCHECKED
26 UTF_8_UNCHECKED_BOM
27 CP949
28 CP936
29 CP950
30 CP850
31 CP858
Copyright 1999-2020, Perforce Software. All rights reserved.