Функції CUBRID (PDO_CUBRID)
Вступ
PDO_CUBRID - драйвер, реализующийінтерфейс PHP Data Objects (PDO) доступу до баз даних CUBRID.
Зауваження :
Поточна версія PDO_CUBRID не підтримує постійні з'єднання.
Установка
Для складання модуля PDO_CUBRID, на тому ж хості має бути встановлений СУБД CUBRID. PDO_CUBRID є модулем » PECL, так что для его установки следуйте инструкциямВстановлення модулів PECLДля указания командеconfigureдиректории с установленной базой CUBRID, используйте следующий синтаксис:
$ ./configure --with-pdo-cubrid=/path/to/CUBRID[,shared]
По умолчаниюconfigure шукатиме відповідні бібліотеки, керуючись значенням змінної оточення CUBRID.
DLL для цього модуля PECL поки що недоступна. Дивіться також розділ збирання на Windows. Для більш детальної інформації про ручну установку модуля під Linux і Windows читайте build-guide.md, що міститься в пакеті PECL.
Особливості
Особливості PDO_CUBRID
Особенности | Опис |
---|---|
Курсори, що перемотуються | PDO_CUBRID підтримує курсори, що перемотуються. Типом курсору за промовчанням є "forward only" (тільки вперед), для його зміни можна використовувати параметр driver_options в PDO::prepare() |
Час очікування | PDO_CUBRID підтримує налаштування часу очікування на виконання SQL-запиту.; Для його налаштування використовуйте метод PDO::setAttribute() |
Режим автопідтвердження та транзакції | PDO_CUBRID підтримує як режим підтвердження, так і роботу з транзакціями. За промовчанням використовується режим автопідтвердження. Для зміни режиму використовуйте метод PDO::setAttribute() |
Якщо ви використовуєте PDO::beginTransaction() для старту транзакції, автопідтвердження буде автоматично заборонено і знову дозволено після PDO::commit() або PDO::rollBack(). . Зверніть увагу, що перед вимкненням автопідтвердження всі очікувані запити будуть автоматично підтверджені. |
| | Множинні SQL-запити PDO_CUBRID підтримує численні SQL-запити. Множинні SQL-запити поділяються крапкою з комою (;) | | Інформація про схему PDO_CUBRID реалізує функцію PDO::cubrid_schema()для получения информации о схеме. | | LOBs | PDO_CUBRID підтримує типи даних BLOB/CLOB. LOB PDO представляється як потік, отже ви можете вставляти LOB шляхом зв'язування з потоком і отримувати LOB шляхом читання з потоку, повернутий CUBRID PDO. Наприклад:
Приклад #1 Вставка LOB у CUBRID PDO
Loading...
Приклад #2 Отримання LOB у CUBRID PDO
Loading...
| | Метаінформація про стовпці | Метод PDOStatement::getColumnMeta() в CUBRID PDO поверне асоціативний масив, що містить такі значення:
- type
- name
- table
- def
- precision
- scale
- not_null
- auto_increment
- unique_key
- multiple_key
- primary_key
- foreign_key
- reverse_index
- reverse_unique
| | Тип даних Колекція | PDO_CUBRID підтримує типи даних SET/MULTISET/SEQUENCE. Якщо ви не вказуєте тип даних, то за замовчуванням буде використовуватися char. Наприклад:
Приклад #3 Вставляє колекцію в CUBRID PDO з типом даних за замовчуванням.
Loading...
Приклад #4 Вказує тип даних при вставці колекції в CUBRID PDO
Loading...
Типи даних CUBRID:(п'ятий параметр PDOStatement::bindParam):
- CHAR
- STRING
- NCHAR
- VARNCHAR
- BIT
- VARBIT
- NUMERIC
- NUMBER
- INT
- SHORT
- BIGINT
- MONETARY
- FLOAT
- DOUBLE
- DATE
- TIME
- DATETIME
- TIMESTAMP
Обумовлені константи
Наведені нижче константи визначені цим драйвером і будуть доступні лише у випадку, якщо PHP був зібраний за допомогою цього модуля, або модуль був динамічно завантажений під час виконання. Крім того, ці залежні від драйвера константи повинні бути використані лише разом із цим драйвером. Використання атрибутів, специфічних для деякого драйвера з іншим драйвером, може викликати несподівану поведінку. Якщо ваш код виконується з кількома драйверами, можна використовувати функцію PDO::getAttribute()для получения атрибута**PDO::ATTR_DRIVER_NAME
**для проверки драйвера.
Наведені нижче константи можна використовувати для встановлення атрибутів бази даних. Ці константи можна використовувати з функціями PDO::getAttribute() і PDO::setAttribute()
Прапори атрибутів PDO::CUBRID
Константы | Опис |
---|---|
PDO::CUBRID_ATTR_ISOLATION_LEVEL | Рівень ізоляції для з'єднання. |
PDO::CUBRID_ATTR_LOCK_TIMEOUT | Час очікування транзакції за секунди. |
PDO::CUBRID_ATTR_MAX_STRING_LENGTH | Лише для читання. Максимальна довжина рядка для типів даних bit, varbit, char, varchar, nchar, nchar під час використання CUBRID PDO API. |
Наступні константи можна використовувати для встановлення рівня ізоляції транзакції. Ці константи можна використовувати з функціями PDO::getAttribute() і PDO::setAttribute()
Прапори рівнів ізоляції PDO::CUBRID
Константы | Опис |
---|---|
PDO::TRAN_COMMIT_CLASS_UNCOMMIT_INSTANCE | Найнижчий рівень ізоляції (1). Можливе брудне, неповторне або фантомне читання для кортежів та неповторне читання для таблиці. |
PDO::TRAN_COMMIT_CLASS_COMMIT_INSTANCE | Відносно низький рівень ізоляції (2). Брудного читання не буде, але неповторне або фантомне можливо. |
PDO::TRAN_REP_CLASS_UNCOMMIT_INSTANCE | Рівень ізоляції CUBRID за промовчанням (3). Можливо брудне, неповторне або фантомне читання для кортежів, але для таблиць гарантовано читання, що повторюється. |
PDO::TRAN_REP_CLASS_COMMIT_INSTANCE | Відносно низький рівень ізоляції (4). Брудного читання не буде, але неповторне або фантомне можливо. |
PDO::TRAN_REP_CLASS_REP_INSTANCE | Відносно високий рівень ізоляції (5). Брудного та неповторного читання не буде, але фантомне може виникнути. |
PDO::TRAN_SERIALIZABLE | Найвищий рівень ізоляції (6). Брудне, неповторне та фантомне читання неможливі. |
Наступні константи використовуються для отримання інформації схеми. Можуть використовуватись із функцією PDO::cubrid_schema()
Прапори схеми PDO::CUBRID
Константы | Опис |
---|---|
PDO::CUBRID_SCH_TABLE | Отримання імені та типу таблиці CUBRID. |
PDO::CUBRID_SCH_VIEW | Отримання імені та типу view у CUBRID. |
PDO::CUBRID_SCH_QUERY_SPEC | Отримання SQL-запиту, з допомогою якого створено view. |
PDO::CUBRID_SCH_ATTRIBUTE | Отримання атрибутів стовпця таблиці. |
PDO::CUBRID_SCH_TABLE_ATTRIBUTE | Одержання атрибутів таблиці. |
PDO::CUBRID_SCH_METHOD | Отримання методу екземпляра. Метод екземпляра – це метод викликаний екземпляром класу. Використовується значно частіше, ніж метод класу, оскільки більшість операцій провадиться в екземплярі. |
PDO::CUBRID_SCH_TABLE_METHOD | Отримати метод класу. Метод класу - це метод викликаний об'єктом класу. Зазвичай використовується до створення нового екземпляра класу чи його ініціалізації. Також використовується для доступу та зміни атрибутів класу. |
PDO::CUBRID_SCH_METHOD_FILE | Отримати інформацію про файл, де визначено метод таблиці. |
PDO::CUBRID_SCH_SUPER_TABLE | Отримати ім'я та тип таблиці, чиї атрибути успадковуються зазначеною таблицею. |
PDO::CUBRID_SCH_SUB_TABLE | Отримати ім'я та тип таблиці, яка успадковує вказані атрибути. |
PDO::CUBRID_SCH_CONSTRAINT | Отримати обмеження таблиці. |
PDO::CUBRID_SCH_TRIGGER | Отримати тригер таблиці. |
PDO::CUBRID_SCH_TABLE_PRIVILEGE | Отримати інформацію про права таблиці. |
PDO::CUBRID_SCH_COL_PRIVILEGE | Отримати інформацію про права на стовпець. |
PDO::CUBRID_SCH_DIRECT_SUPER_TABLE | Отримати пряму супер таблицю для заданої таблиці. |
PDO::CUBRID_SCH_PRIMARY_KEY | Отримати первинний ключ таблиці. |
PDO::CUBRID_SCH_IMPORTED_KEYS | Отримати імпортовані ключі для таблиці. |
PDO::CUBRID_SCH_EXPORTED_KEYS | Отримати експортовані ключі для таблиці. |
PDO::CUBRID_SCH_CROSS_REFERENCE | Отримати зв'язки двох таблиць. |
Зміст
- PDO_CUBRID DSN— З'єднання з базою даних CUBRID
- PDO::cubrid_schema— Отримати запитану інформацію про схему