Функції 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— Отримати запитану інформацію про схему