Как мне изменить этот EdgeDB SDL, чтобы исправить синтаксическую ошибку? - PullRequest
0 голосов
/ 08 ноября 2019

В EdgeDB я создаю множество типов, которые используют общую структуру в документации EdgeDB index on (__subject__.<prop>) для ускорения запросов. Для моего конвейера данных я подготовил:

type Host {
    required property title -> str;
    multi link disks -> Disk;
    multi link children -> Host;
    annotation description := 'The Essilor-Luxottica host group';
    index on (__subject__.title);
}

, что приводит к ошибке:

Traceback (most recent call last):
  File "setup.py", line 44, in <module>
    Database.build_schema()
  File "setup.py", line 42, in build_schema
    conn.execute(schema)
  File "setup.py", line 40, in build_schema
    self._protocol.sync_simple_query(query)
  File "edgedb/protocol/blocking_proto.pyx", line 76, in edgedb.protocol.blocking_proto.BlockingIOProtocol.sync_simple_query
  File "edgedb/protocol/blocking_proto.pyx", line 59, in edgedb.protocol.blocking_proto.BlockingIOProtocol._iter_coroutine
  File "edgedb/protocol/protocol.pyx", line 456, in simple_query
edgedb.errors.EdgeQLSyntaxError: Unexpected '('

Как правильно «сделать это» без рефакторинга ~ 200 строк кодакоторые используют шаблон index on(__subject__.<prop>)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...