php8.5
Home/ Manual/ reference / ibase/ Firebird/InterBase transaction flags

Firebird/InterBase transaction flags

The following constants can be passed to ibase_trans to specify transaction behaviour. Firebird/InterBase transaction flagsConstantDescriptionIBASE_DEFAULT The default transaction settings are to be used. This default is determined by the client library, which defines it as IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT in most cases.IBASE_READStarts a read-only transaction.IBASE_WRITEStarts a read-write transaction.IBASE_CONSISTENCYStarts a transaction with the isolation level set to 'consistency', which means the transaction cannot read from tables that are being modified by other concurrent transactions.IBASE_CONCURRENCYStarts a transaction with the isolation level set to 'concurrency' (or 'snapshot'), which means the transaction has access to all tables, but cannot see changes that were committed by other transactions after the transaction was started.IBASE_COMMITTEDStarts a transaction with the isolation level set to 'read committed'. This flag should be combined with either IBASE_REC_VERSION or IBASE_REC_NO_VERSION. This isolation level allows access to changes that were committed after the transaction was started. If IBASE_REC_NO_VERSION was specified, only the latest version of a row can be read. If IBASE_REC_VERSION was specified, a row can even be read when a modification to it is pending in a concurrent transaction. IBASE_WAITIndicated that a transaction should wait and retry when a conflict occurs.IBASE_NOWAITIndicated that a transaction should fail immediately when a conflict occurs.

Predefined Constants Constants

The following constants can be passed to ibase_trans() to specify transaction behaviour.

ConstantDescription
IBASE_DEFAULTThe default transaction settings are to be used. This default is determined by the client library, which defines it as IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT in most cases.
IBASE_READStarts a read-only transaction.
IBASE_WRITEStarts a read-write transaction.
IBASE_CONSISTENCYStarts a transaction with the isolation level set to 'consistency', which means the transaction cannot read from tables that are being modified by other concurrent transactions.
IBASE_CONCURRENCYStarts a transaction with the isolation level set to 'concurrency' (or 'snapshot'), which means the transaction has access to all tables, but cannot see changes that were committed by other transactions after the transaction was started.
IBASE_COMMITTEDStarts a transaction with the isolation level set to 'read committed'. This flag should be combined with either IBASE_REC_VERSION or IBASE_REC_NO_VERSION. This isolation level allows access to changes that were committed after the transaction was started. If IBASE_REC_NO_VERSION was specified, only the latest version of a row can be read. If IBASE_REC_VERSION was specified, a row can even be read when a modification to it is pending in a concurrent transaction.
IBASE_WAITIndicated that a transaction should wait and retry when a conflict occurs.
IBASE_NOWAITIndicated that a transaction should fail immediately when a conflict occurs.

The following constants can be passed to ibase_fetch_row(), ibase_fetch_assoc() or ibase_fetch_object() to specify fetch behaviour.

ConstantDescription
IBASE_FETCH_BLOBSAlso available as IBASE_TEXTfor backward compatibility. Causes BLOB contents to be fetched inline, instead of being fetched as BLOB identifiers.
IBASE_FETCH_ARRAYSCauses arrays to be fetched inline. Otherwise, array identifiers are returned. Array identifiers can only be used as arguments to INSERT operations, as no functions to handle array identifiers are currently available.
IBASE_UNIXTIMECauses date and time fields not to be returned as strings, but as UNIX timestamps (the number of seconds since the epoch, which is 1-Jan-1970 0:00 UTC). Might be problematic if used with dates before 1970 on some systems.

The following constants are used to pass requests and options to the service API functions (ibase_server_info(), ibase_db_info(), ibase_backup(), ibase_restore() and ibase_maintain_db()). Please refer to the Firebird/InterBase manuals for the meaning of these options.

IBASE_BKP_IGNORE_CHECKSUMS

Options to ibase_backup()

IBASE_BKP_IGNORE_LIMBO

Options to ibase_backup()

IBASE_BKP_METADATA_ONLY

Options to ibase_backup()

IBASE_BKP_NO_GARBAGE_COLLECT

Options to ibase_backup()

IBASE_BKP_OLD_DESCRIPTIONS

Options to ibase_backup()

IBASE_BKP_NON_TRANSPORTABLE

Options to ibase_backup()

IBASE_BKP_CONVERT

Options to ibase_backup()

IBASE_RES_DEACTIVATE_IDX

Options to ibase_restore()

IBASE_RES_NO_SHADOW

Options to ibase_restore()

IBASE_RES_NO_VALIDITY

Options to ibase_restore()

IBASE_RES_ONE_AT_A_TIME

Options to ibase_restore()

IBASE_RES_REPLACE
IBASE_RES_CREATE

Options to ibase_restore()

IBASE_RES_USE_ALL_SPACE

Options to ibase_restore()

IBASE_PRP_PAGE_BUFFERS
IBASE_PRP_SWEEP_INTERVAL
IBASE_PRP_SHUTDOWN_DB
IBASE_PRP_DENY_NEW_TRANSACTIONS
IBASE_PRP_DENY_NEW_ATTACHMENTS
IBASE_PRP_RESERVE_SPACE
IBASE_PRP_RES_USE_FULL
IBASE_PRP_RES
IBASE_PRP_WRITE_MODE
IBASE_PRP_WM_ASYNC
IBASE_PRP_WM_SYNC
IBASE_PRP_ACCESS_MODE
IBASE_PRP_AM_READONLY
IBASE_PRP_AM_READWRITE
IBASE_PRP_SET_SQL_DIALECT
IBASE_PRP_ACTIVATE
IBASE_PRP_DB_ONLINE
IBASE_RPR_CHECK_DB
IBASE_RPR_IGNORE_CHECKSUM
IBASE_RPR_KILL_SHADOWS
IBASE_RPR_MEND_DB
IBASE_RPR_VALIDATE_DB
IBASE_RPR_FULL
IBASE_RPR_SWEEP_DB

Options to ibase_maintain_db()

IBASE_STS_DATA_PAGES
IBASE_STS_DB_LOG
IBASE_STS_HDR_PAGES
IBASE_STS_IDX_PAGES
IBASE_STS_SYS_RELATIONS

Options to ibase_db_info()

IBASE_SVC_SERVER_VERSION

Options to ibase_server_info()

IBASE_SVC_IMPLEMENTATION

Options to ibase_server_info()

IBASE_SVC_GET_ENV

Options to ibase_server_info()

IBASE_SVC_GET_ENV_LOCK
IBASE_SVC_GET_ENV_MSG
IBASE_SVC_USER_DBPATH
IBASE_SVC_SVR_DB_INFO
IBASE_SVC_GET_USERS

Options to ibase_server_info()

Source: reference/ibase/constants.xml · from the official PHP manual (php/doc-en)