Перейти до вмісту

PL/Java

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 11:45, 22 травня 2017, створена Promo killer (обговорення | внесок) (Створена сторінка: '''PL/Java''' являє собою безкоштовний додатковий модуль, який приносить Java™ збережених про...)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)

PL/Java являє собою безкоштовний додатковий модуль, який приносить Java™ збережених процедур, тригерів і функцій на внутрішньому інтерфейсі PostgreSQL ™. Розробка почалася в кінці 2003 і перший випуск PL/Java випущений в січні 2005 року під ліцензією PLJava.

Риси

  • Уміння писати функції, тригери, визначені користувачем типи, ... з використанням останніх версій Java.
  • Стандартизовані утіліти (за зразком пропозиції SQL 2003), щоб встановити і підтримувати Java-код в базі даних.
  • Стандартизовані відображення параметрів і результату. Підтримка скалярних і складових типів, визначені користувачем (UDT), типи псевдо, масиви і набори.
  • Вбудований, високопродуктивний драйвер JDBC, використовуючи внутрішні процедури PostgreSQL SPI.
  • Підтримка метаданих для драйвера JDBC. Обидва DatabaseMetaData і ResultSetMetaData включені.
  • Інтеграція з PostgreSQL і точками збереження обробки винятків.
  • Можливість використовувати IN, параметри INOUT і OUT
  • Два обробника мови, javau (функції не обмежений в поведінці, тільки привілейований користувач може створювати їх) і Java (функції працюють під менеджером безпеки блокуючого доступ до файлової системи, користувачі, які можуть створювати їх конфігуруються з GRANT / REVOKE).[1]

Використання JDBC

PL/Java містить драйвер JDBC, який зіставляє функції PostgreSQL SPI. З'єднання, що переводить до поточної транзакції може бути отриманий за допомогою наступного оператора:

 Connection conn = 
 DriverManager.getConnection("jdbc:default:connection");

Після отримання сполуки, ви можете підготувати і виконувати інструкції, подібні іншим JDBC з'єднанням. Обмеження для драйвера PL/Java JDBC:

  • Угода не може управлятися будь-яким чином. Таким чином, ви не можете використовувати методи з'єднання, такі як:
    • commit()
    • rollback()
    • setAutoCommit()
    • setTransactionIsolation()
  • Точки збереження доступні з деякими обмеженнями. Точка збереження не може пережити функцію, в якій віна була встановлена.
  • Результуючий набір з ExecuteQuery () завжди FETCH_FORWARD і CONCUR_READ_ONLY.
  • Мета-дані доступні тільки в PL/Java 1.1 або вище.
  • CallableStatement (збережених процедур) не виконується.[2]
  1. tada/pljava. GitHub (англ.). Процитовано 22 травня 2017.
  2. Greenplum PL/Java Language Extension | Greenplum Database Docs. greenplum.org. Процитовано 22 травня 2017.