Menu

#949 Пользовательский тип данный, перекрестные поля, OutOfMemory

v4.2
closed-fixed
SDN
None
5
2015-05-26
2015-02-04
vromav
No

При создании двух пользовательских типов с "перекрестными" полями, возникает OutOfMemory

1 Attachments

Discussion

  • Andrei Mikheev

    Andrei Mikheev - 2015-03-16
    • assigned_to: Dofs --> Andrei Mikheev
     
  • SDN

    SDN - 2015-04-02
    • assigned_to: Andrei Mikheev --> SDN
     
  • vromav

    vromav - 2015-04-20

    Замечание:

    При перемещении атрибута, в результате которого возникает Loop, показывается exception с текстом "Loop". Может быть стоит добавить более информативное сообщение? Или даже лучше тоже "заранее" отслеживать возможную проблему.

    Проблема:

    Сейчас нельзя создать атрибут с типом “самого себя”, но при перемещении атрибута из другого типа данных, такая ситуация возможна и не запрещена (Loop не отслеживается). В результате, если использовать этот тип в переменных, то возникает StackOverflow.

     
  • SDN

    SDN - 2015-04-21

    Добавил проверку до чтения/использования Пользовательского Типа с новыми Атрибутами.
    Исправил/добавил предупреждения о зацикливании.

     
  • SDN

    SDN - 2015-04-21
    • status: open --> pending-fixed
     
  • vromav

    vromav - 2015-04-21

    1).

    Сейчас нельзя создать атрибут с типом “самого себя”, но при перемещении атрибута из другого типа данных, такая ситуация возможна и не запрещена (Loop не отслеживается).

    Теперь отслеживается, выдается диалоговое MessageDialog, но текст сообщения нужно поправить на что-то более информативное для пользователя, нужна локализация (см. скрин)

    2). При перемещении атрибута в тип, на Loop выдается exception, думаю тогда уже тоже должен быть MessageDialog, как в случае "1"

    В остальном проблем нет.

     
    • SDN

      SDN - 2015-04-22

      1) Достаточно ли локлизации на английском языке?
      2) Уточните процедуру "перемещения атрибута в тип", при котором выдается exception.

       
      • vromav

        vromav - 2015-04-22

        1). нужна RU/EN

        2). Например, так:

        type1 имеет атрибут типа type2
        type2 не имеет атрибутов
        type3 имеет атрибут типа type1

        Перемещаем атрибут type3.type1 в type2

         
  • vromav

    vromav - 2015-04-21
    • status: pending-fixed --> open
     
  • vromav

    vromav - 2015-04-22

    Сейчас, если создавать атрибут, который может привести к loop, выдается сообщение:
    "Переменная не может иметь данный тип, т.к. это приведет к зацикливанию."

    Но, если выполнять перемещение атрибута, которое приводит к loop, то выдается сообщение:
    "Атрибут не может быть перемещен в данный тип, т.к. это приведет к зацикливанию."

    В одном варианте это переменная, в другом - атрибут.

    Видимо это из-за того, что для создания атрибута используется тот же wizard, что и для переменных.

    В остальном проблем нет, все исправлено.

     
  • SDN

    SDN - 2015-04-23
    • status: open --> pending-fixed
     
  • vromav

    vromav - 2015-04-23
    • status: pending-fixed --> closed-fixed
     
  • SDN

    SDN - 2015-04-29
    • status: closed-fixed --> open-works-for-me
     
  • SDN

    SDN - 2015-04-29

    Необходима переделка кода, для соответствия архитектуре.

     
  • SDN

    SDN - 2015-05-14
    • status: open-works-for-me --> pending-fixed
     
  • vromav

    vromav - 2015-05-26
    • status: pending-fixed --> closed-fixed
     
MongoDB Logo MongoDB