openjdk.ruOpenJDK на русском

JEP 170: JDBC 4.2

JDBC 4.2

ОтветственныйLance Andersen
ТипFeature
ОбластьSE
СтатусClosed / Delivered
Выпуск8
Компонентcore-libs
JSRs114 MR, 221 MR
Обсуждениеjdbc dash spec dash discuss at openjdk dot java dot net
ТрудоёмкостьS
ДлительностьS
Зависит отJEP 150: Date & Time API
ОдобренMark Reinhold
Создан2011/06/14 20:00
Обновлён2016/11/01 21:17
Задача8046160

Аннотация

Небольшие улучшения JDBC, повышающие удобство использования и переносимость

Мотивация

Упростить использование новых типов данных и продолжить улучшения в тех областях, о которых просили программисты JDBC-приложений и поставщики драйверов.

Описание

Для JDBC 4.2 рассматриваются следующие изменения:

  • Добавить обобщённый метод set/update в ResultSet, PreparedStatement и CallableStatement для поддержки новых типов данных, например тех, что определяются в JSR 310.

  • Определить поддержку REF_CURSOR для CallableStatement.

  • Указать обязательные свойства DataSource для среды Java EE.

  • Расширить DatabaseMetaData.getIndexInfo: добавить новые столбцы для CARDINALITY и PAGES, которые возвращают значение типа long.

  • Добавить новый метод DatabaseMeta, возвращающий логический максимальный размер LOB.

  • При необходимости дополнительно доработать спецификацию.

Тестирование

Изменения будут в основном сводиться к дополнениям существующих интерфейсов.

В JCK нужно будет добавить тесты для всех конкретных методов и классов, например PreparedStatement.setObject(int pos, Object val, SQLType type).

Риски и допущения

Основной риск этого изменения в том, что любое изменение, затрагивающее выведение типов для методов, может нарушить обратную совместимость.

Зависимости

JSR 310, новый API для работы с датой и временем (JEP 150).

Влияние

  • Совместимость: минимальное влияние. В существующие интерфейсы будут добавлены новые методы, но это затрагивает только драйверы JDBC. Существующие JDBC-приложения продолжат работать без изменений.

  • Документация: дополнительные изменения в спецификации и в спецификации javadoc

  • JCP: Maintenance Release (корректирующий выпуск) JSR 221, как это было сделано для JDBC 4.1, с 30-дневным периодом рецензирования