Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Значение генератора IDENTITY / 7 сообщений из 7, страница 1 из 1
12.11.2020, 02:48
    #40017401
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение генератора IDENTITY
FB 3.0.7. Есть таблица с ПК в виде IDENTITY. Пользователь добавляет туда строки без проблем (права на вставку выданы роли пользователя). Теперь я хочу под пользователем узнать значение внутреннего генератора IDENITY через запросы (имя генератора получаю через RDB$RELATION_FIELDS):
Код: sql
1.
SELECT GEN_ID(RDB$51, 0) FROM RDB$DATABASE


Но получаю отлуп:
Код: plaintext
No permission fo USAGE access to GENERATOR RDB$51.

Вопросы:
1. Другого способа узнать значение текущее значение внутреннего генератора ведь нет?
2. То, что внутреннему генератору можно давать и отнимать права через GRANT USAGE ON SEQUENCE RDB$51 TO USER_ROLE - это предполагалось разработчиками?
3. То, что у пользователя, который может делать вставку в таблицу, нет права на USAGE - это баг или фича?
...
Рейтинг: 0 / 0
12.11.2020, 07:03
    #40017407
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение генератора IDENTITY
CyberMax,

то что ты делаешь грязный хак. Внутренние генераторы не предназначены для непосредственного использования.

1. Нет
2. Нет, это грязный хак, но это нормально
3. Фича. Так и должно быть

самый главный вопрос нахрена это нужно? Текущее значение генератора в многопользовательской среде это неуловимый Джо
...
Рейтинг: 0 / 0
12.11.2020, 07:53
    #40017409
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение генератора IDENTITY
Симонов Денис,

Например, есть IBExpert, у которого реализовано сравнение баз данных. И он в том числе выдает установку значений генераторов как в мастер-базе. Я вот хочу сделать тоже самое. И как прикажете узнавать значения внутренних генераторов для синхронизации, без клейма грязного хакера?
...
Рейтинг: 0 / 0
12.11.2020, 08:31
    #40017411
Dimbuch®
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение генератора IDENTITY
CyberMax,

В закладке DDL таблицы в IBExpert видно текущее значение IDENTITY
...
Рейтинг: 0 / 0
12.11.2020, 08:42
    #40017415
Dimbuch®
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение генератора IDENTITY
CyberMax,

А через isql пробовали так?

https://firebirdsql.org/file/documentation/html/ru/firebirddocs/generatorguide/firebird-generator-guide-ru.html#generatorguide-sqlsyntax-getvalue-ru

Код: plsql
1.
2.
3.
SHOW SEQUENCE SequenceName;

SHOW SEQUENCES;
...
Рейтинг: 0 / 0
12.11.2020, 09:00
    #40017419
CyberMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение генератора IDENTITY
Dimbuch®
В закладке DDL таблицы в IBExpert видно текущее значение IDENTITY

И? Я хочу увидеть текущее значение IDENTITY у себя в программе, а не в сторонних утилитах.

SHOW SEQUENCE SequenceName показывает значения несистемных генераторов, к коим IDENTITY не относится.
...
Рейтинг: 0 / 0
12.11.2020, 09:41
    #40017430
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значение генератора IDENTITY
CyberMax
Симонов Денис,

Например, есть IBExpert, у которого реализовано сравнение баз данных. И он в том числе выдает установку значений генераторов как в мастер-базе. Я вот хочу сделать тоже самое. И как прикажете узнавать значения внутренних генераторов для синхронизации, без клейма грязного хакера?


это же административная фича. Для администраторов выдавать права на использование системных генераторов не требуется.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Значение генератора IDENTITY / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]