View Issue Details

IDProjectCategoryView StatusLast Update
0008614VALENTINA STUDIOLinkspublic2019-09-20 07:31
ReporterAlexanderAssigned ToSergey Pashkov 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformINTELOSLinuxOS Version*
Product Version9.2.x 
Target Version9.6.xFixed in Version9.6.x 
Summary0008614: Fix showing related records for the user that is not an owner of linked tables
DescriptionПри ограничении прав ниже superuser, для пользователя БД, перестает работать отображение связанных таблиц в Valentina Studio.

Похожая ошибка была описана здесь: http://www.valentina-db.com/bt/view.php?id=7053

"ERROR: zero-length delimited identifier at or near """"
LINE 1: ...N "databasename"."tablename" alias 1 on ALIAS1."" = alias..."

Запрос в БД при возникновении ошибки:

SELECT COUNT(*) FROM ... ... FROM "public"."account" alias2 JOIN "public"."company" alias1 ON alias1."" = alias2."company_id" ) AS subQuery ORDER BY "id" ASC ) as countQuery

Если под пользователем открыть Design Link, то у таблицы куда ведет ссылка, отсутствует поле. Под superuser такого нет. Думаем, что проблема с правами, но с какими не понятно, т.к. перебрали уже все. Думается, что прав ALL privileges on ALL TABLE IN SCHEMA schemaname to user должно быть достаточно, но это не так.
Steps To ReproduceСоздать пользователя и дать ему все права на таблицы в схеме;
Открыть под созданным пользователем VStudio и подключиться к БД;
Открыть любую таблицу и кликнуть на любую ячейку;
Должно выпасть окно с ошибкой:

"ERROR: zero-length delimited identifier at or near """"
LINE 1: ...N "databasename"."tablename" alias 1 on ALIAS1."" = alias..."

БД и все её таблицы, вместе со всеми внешними ключами, должны быть созданы под другим пользователем с правами superuser (не уверен, что это обязательный пункт);
TagsNo tags attached.
Working with DB:postgreSQL Server
Version of your DB9.6.14

Activities

Alexander

Alexander

2019-08-28 10:17

reporter  

Link with superuser.png (29,767 bytes)
Link without superuser.png (37,284 bytes)
ERROR.png (11,943 bytes)
Sergey Pashkov

Sergey Pashkov

2019-08-28 10:56

developer   ~0010954

Добрый день!
А можете свойства связи в инспекторе показать для обычного пользователя? По идее Foreign Key будет пустым.
Alexander

Alexander

2019-08-28 11:36

reporter   ~0010955

Добрый день!
Не совсем понимаю, что вы имеет ввиду. Второй скриншот, приложенный мной к описанию, как раз и является окном свойства связи, открытым пользователем без прав superuser'a. Или речь про какое-то другое окно?
Sergey Pashkov

Sergey Pashkov

2019-08-28 13:38

developer   ~0010956

Панель справа - инспектор, показывает свойства объекта, это исходные данные для диалога Design Link.
https://www.dropbox.com/s/j2a6z9zfrwiuepg/Screenshot%202019-08-28%2016.34.43.png?dl=0

Сами же свойства PK/FK зачитываются такими запросами.

Primary Key:
     SELECT column_name
        FROM information_schema.constraint_column_usage
        WHERE constraint_schema = $PNAME AND constraint_name = $NAME;

Foreign Key:
     SELECT column_name
        FROM information_schema.key_column_usage
        WHERE constraint_schema = $PNAME AND constraint_name = $NAME;

Можете попробовать выполнить эти запросы? Если где-то полей не вернет, то будем разбираться с доступом к этой системной таблице
Alexander

Alexander

2019-08-28 14:17

reporter   ~0010957

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

foreign key.png (32,043 bytes)
primary key.png (30,802 bytes)
inspector.png (105,727 bytes)
Sergey Pashkov

Sergey Pashkov

2019-08-28 15:21

developer   ~0010958

Спасибо, здесь точно такая же проблема
https://stackoverflow.com/questions/39379939/how-to-access-information-schema-foreign-key-constraints-with-read-only-user-in

Попробуем применить это решение.
Alexander

Alexander

2019-09-04 08:02

reporter   ~0010976

Добрый день!

Можете сориентировать, планируется ли в ближайших версиях решение этой проблемы?
Sergey Pashkov

Sergey Pashkov

2019-09-04 08:04

developer   ~0010977

Добрый день! Да, в ближайшее время займёмся.
Sergey Pashkov

Sergey Pashkov

2019-09-04 14:59

developer   ~0010978

Исправление будет доступно в следующей версии
Ruslan Zasukhin

Ruslan Zasukhin

2019-09-20 07:31

administrator   ~0010988

9.6 few days we hope to get it

Issue History

Date Modified Username Field Change
2019-08-28 10:17 Alexander New Issue
2019-08-28 10:17 Alexander File Added: Link with superuser.png
2019-08-28 10:17 Alexander File Added: Link without superuser.png
2019-08-28 10:17 Alexander File Added: ERROR.png
2019-08-28 10:56 Sergey Pashkov Note Added: 0010954
2019-08-28 11:36 Alexander Note Added: 0010955
2019-08-28 13:38 Sergey Pashkov Note Added: 0010956
2019-08-28 14:17 Alexander File Added: foreign key.png
2019-08-28 14:17 Alexander File Added: primary key.png
2019-08-28 14:17 Alexander File Added: inspector.png
2019-08-28 14:17 Alexander Note Added: 0010957
2019-08-28 15:21 Sergey Pashkov Note Added: 0010958
2019-09-04 08:02 Alexander Note Added: 0010976
2019-09-04 08:04 Sergey Pashkov Note Added: 0010977
2019-09-04 10:09 Sergey Pashkov Assigned To => Sergey Pashkov
2019-09-04 10:09 Sergey Pashkov Status new => assigned
2019-09-04 14:55 Sergey Pashkov Summary SQL error "zero-length delimited identifier at or near """" => Fix showing related records for the user that is not an owner of linked tables
2019-09-04 14:55 Sergey Pashkov Description Updated View Revisions
2019-09-04 14:55 Sergey Pashkov Steps to Reproduce Updated View Revisions
2019-09-04 14:59 Sergey Pashkov Status assigned => resolved
2019-09-04 14:59 Sergey Pashkov Resolution open => fixed
2019-09-04 14:59 Sergey Pashkov Fixed in Version => 9.5.x
2019-09-04 14:59 Sergey Pashkov Target Version => 9.5.x
2019-09-04 14:59 Sergey Pashkov Note Added: 0010978
2019-09-20 07:30 Ruslan Zasukhin Fixed in Version 9.5.x => 9.6.x
2019-09-20 07:30 Ruslan Zasukhin Target Version 9.5.x => 9.6.x
2019-09-20 07:31 Ruslan Zasukhin Note Added: 0010988