Skip to content

Публичный API ​

На этой странице перечислены основные публичные экспорты пакета @ydbjs/drizzle-adapter.

Подключение и база данных ​

Корневые runtime-имена:

  • createDrizzle(input, config?) и drizzle(input, config?) создают объект базы данных.
  • YdbDriver — исполнитель по умолчанию, использующий @ydbjs/core и @ydbjs/query.
  • Классы ошибок: YdbQueryExecutionError (базовый класс для всех ошибок запросов), YdbUniqueConstraintViolationError, YdbAuthenticationError, YdbCancelledQueryError, YdbTimeoutQueryError, YdbUnavailableQueryError, YdbOverloadedQueryError, YdbRetryableQueryError.
  • Экспортируемые типы: YdbDrizzleDatabase, YdbDrizzleOptions, YdbExecutor, YdbTransactionalExecutor и конфигурация транзакций.

Внутренние классы — диалект, сессия, транзакция и конкретные builder'ы — намеренно не экспортируются из корня. Стабильная runtime-поверхность — объект базы данных, возвращаемый createDrizzle().

Преобразованные ошибки YDB содержат kind, retryable, statusCode и исходные диагностические поля вроде code, status, issues, если драйвер их передал.

Таблицы и схема ​

  • ydbTable, ydbTableCreator
  • primaryKey
  • unique
  • relations, one, many
  • index, uniqueIndex, vectorIndex
  • indexView, vectorIndexView
  • tableOptions, rawTableOption
  • ttl
  • partitionByHash
  • columnFamily

Построители колонок ​

integer, int, text, bigint, boolean, bytes, binary, date, date32, datetime, datetime64, decimal, double, dyNumber, float, int8, int16, interval, interval64, json, jsonDocument, timestamp, timestamp64, uint8, uint16, uint32, uint64, uuid, yson и customType.

Построители запросов ​

Точки входа базы данных:

  • SELECT: db.select, db.selectDistinct, db.selectDistinctOn, db.with, db.$with
  • Мутации: db.insert, db.upsert, db.replace, db.update, db.batchUpdate, db.delete, db.batchDelete
  • Утилиты: db.execute, db.all, db.get, db.values, db.$count, db.transaction

Методы builder'ов:

  • SELECT-источники: .from(), .fromAsTable(), .fromValues()
  • SELECT-предложения: .where(), .having(), .groupBy(), .groupCompactBy(), .orderBy(), .assumeOrderBy(), .limit(), .offset()
  • Расширения SELECT для YDB: .without(), .flattenBy(), .flattenListBy(), .flattenDictBy(), .flattenOptionalBy(), .flattenColumns(), .sample(), .tableSample(), .matchRecognize(), .window(), .intoResult(), .uniqueDistinct(), .distinct(), .distinctOn()
  • JOIN'ы: .innerJoin(), .leftJoin(), .rightJoin(), .fullJoin(), .crossJoin(), .leftSemiJoin(), .rightSemiJoin(), .leftOnlyJoin(), .rightOnlyJoin(), .exclusionJoin()
  • Операторы множеств: .union(), .unionAll(), .intersect(), .except(), union(), unionAll(), intersect(), except()
  • Мутации: .values(), .select(), .set(), .where(), .using(), .on(), .returning(), .onDuplicateKeyUpdate()
  • Выполнение и рендеринг: .getSQL(), .toSQL(), .prepare(), .execute(), .all(), .get(), .values()
  • Утилиты доступны через методы базы данных, например db.$count(), и через callback-builder'ы, передаваемые в .select(), .on() и mutation-хелперы.

YQL-хелперы ​

  • Источники: asTable, values, valuesTable
  • Скрипты: yqlScript, pragma, declareParam, commit, defineAction, doAction, doBlock, intoResult
  • Группировка: rollup, cube, groupingSets, grouping, groupKey
  • Окна: windowDefinition, sessionWindow, sessionStart, hop, hopStart, hopEnd
  • Векторный поиск: knnDistance, knnSimilarity, knnCosineDistance, knnEuclideanDistance, knnManhattanDistance, knnCosineSimilarity, knnInnerProductSimilarity, kMeansTreeSearchTopSize
  • Сопоставление с шаблоном и хинты: matchRecognize, uniqueHint, distinctHint
  • Операторы множеств: union, unionAll, intersect, except

Миграции и DDL ​

  • migrate
  • Метаданные миграций: buildMigrationSql, buildMigrationLockTableBootstrapSql
  • Таблицы: buildCreateTableSql, buildDropTableSql, buildAlterTableSql, buildRenameTableSql, buildAnalyzeSql, buildShowCreateSql
  • Колонки и семейства: buildAddColumnsSql, buildDropColumnsSql, buildAddColumnFamilySql, buildAlterColumnFamilySql, buildAlterColumnSetFamilySql
  • Опции таблиц: buildAlterTableSetOptionsSql, buildAlterTableResetOptionsSql
  • Индексы и CDC: buildAddIndexSql, buildDropIndexSql, buildAddChangefeedSql, buildDropChangefeedSql
  • Топики: buildCreateTopicSql, buildAlterTopicSql, buildDropTopicSql
  • Пользователи и группы: buildCreateUserSql, buildAlterUserSql, buildDropUserSql, buildCreateGroupSql, buildAlterGroupSql, buildDropGroupSql
  • ACL: buildGrantSql, buildRevokeSql
  • Представления: buildCreateViewSql, buildDropViewSql
  • Сервисы: buildCreateAsyncReplicationSql, buildAlterAsyncReplicationSql, buildDropAsyncReplicationSql, buildCreateTransferSql, buildAlterTransferSql, buildDropTransferSql, buildCreateSecretSql