Perforce Schema Documentation

Release: 2014.2

Contents

Alphabetical List of Tables

Filename Classic Lock Order Lockless Read Lock Order Vers. Description
db.archmap 26 24 0 Mappings entries for lazy-copies
db.bodtext 47 47 1 Job data for job attributes
db.change 41 41 2 Changelists
db.changex 42 42 2 Subset of db.change - records for pending changelists only
db.config 1 1 1 Perforce server configurations table
db.counters 2 2 1 Perforce counters table
db.depot 10 10 1 Perforce depots
db.desc 43 43 0 Change descriptions
db.domain 12 12 6 Domains: depots, clients, labels, branches, streams, and typemap
db.excl 25 38 1 Exclusively locked files - enables coordinated file locking in a Distributed Perforce environment (commit and edge servers)
db.fix 45 45 1 Fix records - indexed by job
db.fixrev 46 46 1 Fix records - indexed by change
db.group 9 9 8 Groups of Perforce users
db.have 22 19 2 Contains the 'have-list' for all clients
db.have.rp 21 18 2 Contains the 'have-list' for clients of build-server replicas
db.integed 17 20 0 Permanent integration records
db.integtx 18 21 0 Temporary integration records
db.ixtext 48 48 0 Indexing data for generic and job attributes
db.jnlack 54 54 0 Tracks journal positions of all standby servers
db.job 44 44 0 Job records
db.label 23 17 0 Lists the revisions of files in labels
db.locks 24 35 2 Locked/Unlocked files
db.logger 4 4 0 Support for 'p4 logger' command. Logs any changes to changelists and jobs
db.message 52 52 0 System messages
db.monitor 55 55 2 Perforce process information
db.nameval 3 3 1 A table to store key/value pairs
db.property 51 51 0 Properties
db.protect 50 50 4 The protections table
db.resolve 19 22 1 Pending integration records
db.resolvex 20 23 1 Pending integration records for shelved files
db.rev 27 33 9 Revision records
db.revbx 35 30 9 Revision records for archived files
db.revcx 29 32 0 Secondary index of db.rev
db.revdx 30 25 9 Revision records for revisions deleted at the head revision
db.revhx 31 26 9 Revision records for revisions NOT deleted at the head revision
db.review 16 16 1 Contains user's review mappings
db.revpx 32 27 9 Pending revision records
db.revsh 34 29 9 Revision records for shelved files
db.revsx 33 28 9 Revision records for spec depot files
db.revtx 28 34 9 Temporary revision records
db.revux 36 31 9 Revision records for unload depot files
db.sendq 53 53 1 Parallel file transmission work queue
db.server 5 5 1 Perforce server specifications
db.stream 11 11 1 Perforce streams
db.svrview 6 6 0 View data for servers specifications
db.template 13 13 1 Streams templates
db.traits 39 39 0 Attributes associated with file revisions
db.trigger 40 40 2 Trigger specifications
db.user 8 8 7 Perforce users
db.user.rp 7 7 7 Used by replica server's to store login information
db.uxtext 49 49 0 Indexing data for Swarm
db.view 15 15 1 Contains views for domains
db.view.rp 14 14 1 Contains views for clients of build-server replicas
db.working 37 36 10 Records for work in progress
db.workingx 38 37 10 Records for shelved open files
rdb.lbr Replica server pending archive transfer table
tiny.db Records revision and content data for files using the +T file type modifier

Tables in Classic Locking order

To avoid the possibility of deadlock, the Perforce Server always locks its tables in a defined order. The section below lists the tables in the order in which they are locked for server versions prior to 2013.3 or 2013.3 or later where Lockless Reads are not enabled. See the table below for the table locking order when Lockless Reads are enabled. When a checkpoint is taken, the order of the database file content written to the checkpoint follows the classic locking order.

Lock Order Filename Vers. Description
1 db.config 1 Perforce server configurations table
2 db.counters 1 Perforce counters table
3 db.nameval 1 A table to store key/value pairs
4 db.logger 0 Support for 'p4 logger' command. Logs any changes to changelists and jobs
5 db.server 1 Perforce server specifications
6 db.svrview 0 View data for servers specifications
7 db.user.rp 7 Used by replica server's to store login information
8 db.user 7 Perforce users
9 db.group 8 Groups of Perforce users
10 db.depot 1 Perforce depots
11 db.stream 1 Perforce streams
12 db.domain 6 Domains: depots, clients, labels, branches, streams, and typemap
13 db.template 1 Streams templates
14 db.view.rp 1 Contains views for clients of build-server replicas
15 db.view 1 Contains views for domains
16 db.review 1 Contains user's review mappings
17 db.integed 0 Permanent integration records
18 db.integtx 0 Temporary integration records
19 db.resolve 1 Pending integration records
20 db.resolvex 1 Pending integration records for shelved files
21 db.have.rp 2 Contains the 'have-list' for clients of build-server replicas
22 db.have 2 Contains the 'have-list' for all clients
23 db.label 0 Lists the revisions of files in labels
24 db.locks 2 Locked/Unlocked files
25 db.excl 1 Exclusively locked files - enables coordinated file locking in a Distributed Perforce environment (commit and edge servers)
26 db.archmap 0 Mappings entries for lazy-copies
27 db.rev 9 Revision records
28 db.revtx 9 Temporary revision records
29 db.revcx 0 Secondary index of db.rev
30 db.revdx 9 Revision records for revisions deleted at the head revision
31 db.revhx 9 Revision records for revisions NOT deleted at the head revision
32 db.revpx 9 Pending revision records
33 db.revsx 9 Revision records for spec depot files
34 db.revsh 9 Revision records for shelved files
35 db.revbx 9 Revision records for archived files
36 db.revux 9 Revision records for unload depot files
37 db.working 10 Records for work in progress
38 db.workingx 10 Records for shelved open files
39 db.traits 0 Attributes associated with file revisions
40 db.trigger 2 Trigger specifications
41 db.change 2 Changelists
42 db.changex 2 Subset of db.change - records for pending changelists only
43 db.desc 0 Change descriptions
44 db.job 0 Job records
45 db.fix 1 Fix records - indexed by job
46 db.fixrev 1 Fix records - indexed by change
47 db.bodtext 1 Job data for job attributes
48 db.ixtext 0 Indexing data for generic and job attributes
49 db.uxtext 0 Indexing data for Swarm
50 db.protect 4 The protections table
51 db.property 0 Properties
52 db.message 0 System messages
53 db.sendq 1 Parallel file transmission work queue
54 db.jnlack 0 Tracks journal positions of all standby servers
55 db.monitor 2 Perforce process information

Tables in Lockless Read Locking order

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

Lock Order Filename Vers. Description
1 db.config 1 Perforce server configurations table
2 db.counters 1 Perforce counters table
3 db.nameval 1 A table to store key/value pairs
4 db.logger 0 Support for 'p4 logger' command. Logs any changes to changelists and jobs
5 db.server 1 Perforce server specifications
6 db.svrview 0 View data for servers specifications
7 db.user.rp 7 Used by replica server's to store login information
8 db.user 7 Perforce users
9 db.group 8 Groups of Perforce users
10 db.depot 1 Perforce depots
11 db.stream 1 Perforce streams
12 db.domain 6 Domains: depots, clients, labels, branches, streams, and typemap
13 db.template 1 Streams templates
14 db.view.rp 1 Contains views for clients of build-server replicas
15 db.view 1 Contains views for domains
16 db.review 1 Contains user's review mappings
17 db.label 0 Lists the revisions of files in labels
18 db.have.rp 2 Contains the 'have-list' for clients of build-server replicas
19 db.have 2 Contains the 'have-list' for all clients
20 db.integed 0 Permanent integration records
21 db.integtx 0 Temporary integration records
22 db.resolve 1 Pending integration records
23 db.resolvex 1 Pending integration records for shelved files
24 db.archmap 0 Mappings entries for lazy-copies
25 db.revdx 9 Revision records for revisions deleted at the head revision
26 db.revhx 9 Revision records for revisions NOT deleted at the head revision
27 db.revpx 9 Pending revision records
28 db.revsx 9 Revision records for spec depot files
29 db.revsh 9 Revision records for shelved files
30 db.revbx 9 Revision records for archived files
31 db.revux 9 Revision records for unload depot files
32 db.revcx 0 Secondary index of db.rev
33 db.rev 9 Revision records
34 db.revtx 9 Temporary revision records
35 db.locks 2 Locked/Unlocked files
36 db.working 10 Records for work in progress
37 db.workingx 10 Records for shelved open files
38 db.excl 1 Exclusively locked files - enables coordinated file locking in a Distributed Perforce environment (commit and edge servers)
39 db.traits 0 Attributes associated with file revisions
40 db.trigger 2 Trigger specifications
41 db.change 2 Changelists
42 db.changex 2 Subset of db.change - records for pending changelists only
43 db.desc 0 Change descriptions
44 db.job 0 Job records
45 db.fix 1 Fix records - indexed by job
46 db.fixrev 1 Fix records - indexed by change
47 db.bodtext 1 Job data for job attributes
48 db.ixtext 0 Indexing data for generic and job attributes
49 db.uxtext 0 Indexing data for Swarm
50 db.protect 4 The protections table
51 db.property 0 Properties
52 db.message 0 System messages
53 db.sendq 1 Parallel file transmission work queue
54 db.jnlack 0 Tracks journal positions of all standby servers
55 db.monitor 2 Perforce process information

Upgrades

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

The 2014.2 release has 23 upgrades.
Upgrade Release Description Notes
1 2001.1 Split db.integ into db.integed and db.resolve
2 2001.1 Splt 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 Rewritten in 2007.3
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 Add db.config
23 2011.1 Upgrade tiny.db

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

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.archmap - Mappings entries for lazy-copies

Indexed on: lbrFile, depotFile
Name Type Description
lbrFile File Paths in the librarian namespace that recieve lazy copies.
depotFile File Paths in the depot namespace that provide lazy copies.
Note: Supercedes db.archive

db.bodtext - Job data for job attributes

Indexed on: key, attr
Name Type Description
key String 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.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

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
Note: contains records for pending changelists only.

db.config - Perforce server configurations table

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

db.counters - Perforce counters table

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

db.depot - Perforce depots

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, the field contains a suffix to append to the filename.
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 Text Associated stream for client records
serverid Text Associated server ID for client records
partition Int Currently unused. Reserved for future use

db.excl - Exclusively locked files - enables coordinated file locking in a Distributed Perforce environment (commit and edge servers)

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.fix - Fix records - indexed by job

Indexed on: job, change
Name Type Description
job String 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 String 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.group - Groups of Perforce users

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.
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.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 revision

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

Indexed on: clientFile depotFile haveRev
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 revision

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.integtx - Temporary 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.ixtext - Indexing data for generic and job attributes

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

db.jnlack - Tracks journal positions of all standby servers

Indexed on: id
Name Type Description
serverId Domain The serverId of the standby for whom this record applies
lastUpdate Date The date and time of last update
serverType ServerServiceType The server services offered by this standby
persistedJnl Int The last journal number persisted by this standby
persistedPos Int64 The last journal position persisted by this standby
isAlive Int 1 = alive
appliedJnl Int The last journal number applied to this standby
appliedPos Int64 The last journal position applied to this standby

db.job - Job records

Indexed on: job
Name Type Description
job String 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 - Lists the 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.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 Int Flag: 0 for unlocked, 1 for locked
change Int 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 String Either the word 'change' or the word 'job'
attr String 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 String The language for which this message applies
id Int The message number
message String The message text

db.monitor - Perforce 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.property - Properties

Indexed on: name, seq, type, scope
Name Type Description
name String The property name
sequence String Sequence number of property
type Integer 1=user, 2=group; set if '-u | -g' option used with 'p4 property'
scope String The user or group the property applies to
value String The property value
date String The date/time the property was last updated
user String 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.

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.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 - Contains 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.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 - Temporary 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
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.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 LbrRev The revision of lbrFile that contains the revision content
lbrType FileType The file type of the librarian revision
flags Int Flags
clientType FileType The client file type of the revision

db.server - Perforce server specifications

Indexed on: id
Name Type Description
id text 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
services ServerServiceType Service provided by this server
desc text Server description
user User The service user used by this server

db.stream - Perforce streams

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
copychg Change Parent change at last copy
mergechg Change Parent change at last merge
highchg Change Highest change at last merge
hash Int Hash value of dynamic branch
status StreamStatus Flow status

db.svrview - View data for servers specifications

Indexed on: id, type, seq
Name Type Description
id Text 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, sequence
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 Change 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.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 String 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 String 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.user - Perforce users

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 Int Authentication method for user; 0=perforce, 1=ldap

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 Int Authentication method for user; 0=perforce, 1=ldap

db.uxtext - Indexing data for Swarm

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

db.view - Contains views for domains

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 - Contains views 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 Int Flag: 0 for unlocked, 1 for locked.
digest Digest MD5 digest of working file.
size Int64 File size
traitLot Int Group of traits associated with file revision.
tampered TamperCheck Flag indicating the tamper-state of the file in the workspace.
clntType FileType Type of the file in the client workspace.
mFile File Moved filename
status Int Working status

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 Int Flag: 0 for unlocked, 1 for locked.
digest Digest MD5 digest of working file.
size Int64 File size
traitLot Int Group of traits associated with file revision.
tampered TamperCheck Flag indicating the tamper-state of the file in the workspace.
clntType FileType Type of the file in the client workspace.
mFile File Moved filename
status Int Working status

rdb.lbr - Replica server pending archive transfer table

Indexed on:
Name Type Description
depotFile File The file name
lbrRev String The librarian revision
type String The file type of the revision
status PullStatus The status of the archive transfer
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
change Change The changelist that created the revision
lbrDate Date Librarian date
lbrModTime Date Librarian modtime
pid Int The process id (PID) of the pull process
requestTime Date Pull request time
retries Int The number of retries that have occurred after transfer error
transferError String The error message for a failed transfer

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

Indexed on: fileAndRev
Name Type Description
fileAndRev String The file name and revision
fileContent Octet String The (encoded) file content

Datatypes

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 integer value representing the status of a change

Value Explanation
0 pending
1 committed
2 shelved
4 restricted, pending
5 restricted, committed
8 hidden (shelf only)
16 promoted (shelf only)

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

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 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: 0x000F)

Value Explanation
0x0001 ownersubmit
0x0002 locked
0x0004 change flows to parent
0x0008 change flows from parent

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 filesizes.

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 Comressed 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

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.

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
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

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)

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'.

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: 0x00FF)

Value Explanation
0x0000 none
0x0001 Grants list access
0x0002 Grants read access
0x0004 Grants ability to branch/integ from
0x0008 Grants open access
0x0010 Grants write access
0x0020 Grants review access
0x0080 Grants admin access
0x0040 Grants super-user 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

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: 0x000F)

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). Value shifted right 24 bits before applying mask (Mask: 0x007F)

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.

ServerServiceType - The type of server service

One of standard, replica, broker, proxy, forwarding-replica, build-server, P4AUTH, or P4CHANGE, edge-server, commit-server, depot-master, depot-standby, workspace-server, standby, forwarding-standby.

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 )
0x0045 replica ( db-read | db-replication | file-replication | rmt-depot | rmt-journal )
0x0030 broker ( brokering | forwarding )
0x00A0 proxy ( forwarding | file-cacheing )
0x00E5 forwarding-replica ( db-read | db-replication | forwarding | file-replication | file-cacheing | rmt-depot | rmt-journal )
0x004D build-server ( db-read | db-replicaton | 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 )

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

ServerType - The type of server

The type of server

Value Explanation
0 standard
1 proxy
2 broker

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

StreamStatus - Stream integration status

The stream integration status.

Bits used to store the stream integration status (Mask: Copy: 0x0003, Merge: 0x000C)

Value Explanation
0x0000 Clear cache
0x0001 Needs copy
0x0002 Copy up-to-date
0x0004 Needs merge
0x0008 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 ClientDataFilter
1 RevisionDataFilter
2 ArchiveDataFilter

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

User - A user or group name

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

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
Copyright 1999-2009, Perforce Software. All rights reserved.