Модуль определяет перечисленные константы и открывает доступ к константам только тогда, когда модуль либо собрали в PHP, либо динамически загрузили во время исполнения кода.
Следующие константы можно задавать в функции ibase_trans() для определения поведения транзакций.
Константа | Описание |
---|---|
IBASE_DEFAULT | Настройки по умолчанию для новой транзакции. Это значение определяется клиентской библиотекой, которое в большинстве случаев равно IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT. |
IBASE_READ | Начинает транзакцию в режиме только на чтение. |
IBASE_WRITE | Начинает транзакцию в режиме чтения и записи. |
IBASE_CONSISTENCY | Начинает транзакцию с уровнем изоляции 'consistency' (согласование). Это означает, что транзакция не может читать из таблиц, в которые вносятся изменения параллельными (конкурирующими) транзакциями. |
IBASE_CONCURRENCY | Начинает транзакцию с уровнем изоляции 'concurrency' (или 'snapshot', 'моментальный снимок'). Это означает, что транзакция имеет доступ ко всем таблицам, но не может видеть изменения других транзакций после снимка. |
IBASE_COMMITTED |
Начинает транзакцию с уровнем изоляции 'read committed' (читать фиксированное).
Этот флаг должен быть объединён с IBASE_REC_VERSION или
IBASE_REC_NO_VERSION . Этот уровень изоляции позволяет получить
доступ к изменениям, совершенными после начала транзакции. Если указан флаг
IBASE_REC_NO_VERSION , только последняя версия изменений может быть прочитана.
Если указан флаг IBASE_REC_VERSION , то можно читать изменения, находящиеся
в очереди в параллельных транзакциях. |
IBASE_WAIT | Флаг, указывающий, что транзакция должна ждать при возникновении конфликта транзакций. |
IBASE_NOWAIT | Флаг, указывающий, что транзакция должна вернуть ошибку при возникновении конфликта транзакций. |
Следующие константы можно задавать в функциях ibase_fetch_row(), ibase_fetch_assoc() или ibase_fetch_object(), для управления поведением извлечением данных.
Константа | Описание |
---|---|
IBASE_FETCH_BLOBS | Также можно использовать IBASE_TEXT для обеспечения
обратной совместимости. Вынуждает извлекать объекты BLOB целиком, а не только
их идентификаторы. |
IBASE_FETCH_ARRAYS | Вынуждает извлекать массивы целиком, а не только их идентификаторы. Идентификаторы массивов можно использоваться только для операций вставки, так как на данный момент отсутствуют какие-либо другие функции для работы с ними. |
IBASE_UNIXTIME | Вынуждает поля типа дата/время извлекаться не как строки, а как временные метки Unix (количество секунд, прошедших с 1 января 1970 00:00 UTC). Может вызвать проблемы на некоторых системах, если необходимо работать с более ранними датами. |
Следующие константы используются для передачи в запросы и сервисные функции API (ibase_server_info(), ibase_db_info(), ibase_backup(), ibase_restore() и ibase_maintain_db()). За подробностями обратитесь к документации Firebird/InterBase.
IBASE_BKP_IGNORE_CHECKSUMS
IBASE_BKP_IGNORE_LIMBO
IBASE_BKP_METADATA_ONLY
IBASE_BKP_NO_GARBAGE_COLLECT
IBASE_BKP_OLD_DESCRIPTIONS
IBASE_BKP_NON_TRANSPORTABLE
IBASE_BKP_CONVERT
IBASE_RES_DEACTIVATE_IDX
IBASE_RES_NO_SHADOW
IBASE_RES_NO_VALIDITY
IBASE_RES_ONE_AT_A_TIME
IBASE_RES_REPLACE
IBASE_RES_CREATE
IBASE_RES_USE_ALL_SPACE
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
IBASE_STS_DATA_PAGES
IBASE_STS_DB_LOG
IBASE_STS_HDR_PAGES
IBASE_STS_IDX_PAGES
IBASE_STS_SYS_RELATIONS
IBASE_SVC_SERVER_VERSION
IBASE_SVC_IMPLEMENTATION
IBASE_SVC_GET_ENV
IBASE_SVC_GET_ENV_LOCK
IBASE_SVC_GET_ENV_MSG
IBASE_SVC_USER_DBPATH
IBASE_SVC_SVR_DB_INFO
IBASE_SVC_GET_USERS