[GH-ISSUE #1737] Display nested rows #477

Closed
opened 2026-03-07 20:50:02 +03:00 by kerem · 0 comments
Owner

Originally created by @hmmftg on GitHub (Jun 6, 2023).
Original GitHub issue: https://github.com/dbeaver/cloudbeaver/issues/1737

Describe the bug
If data model(postgresql 14) contains table with nested array of objects, only first element of array is returned.

To Reproduce
Steps to reproduce the behavior:

  1. Run a query from a table with nested array of objects
  2. Only first row is displayed

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [ubuntu]
  • Browser [opera]
  • Version [99.0.4788.13]

Additional context
I've checked http response and it seems data type is not detected correctly by api(same query on same table works great on dbeave-ce).

gql response

{
  "data": {
    "result": {
      "duration": 45,
      "statusMessage": "Success",
      "filterText": null,
      "fullQuery": "select * from card_issue.card_action",
      "results": [
        {
          "title": null,
          "updateRowCount": null,
          "sourceQuery": null,
          "dataFormat": "resultset",
          "resultSet": {
            "id": "2",
            "columns": [
              {
                "dataKind": "STRING",
                "entityName": "card_action",
                "fullTypeName": "varchar(64)",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png",
                "label": "id",
                "maxLength": 64.0,
                "name": "id",
                "position": 0,
                "precision": null,
                "required": true,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "varchar",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "LIKE",
                    "expression": "LIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "ILIKE",
                    "expression": "ILIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              },
              {
                "dataKind": "STRING",
                "entityName": "card_action",
                "fullTypeName": "varchar(256)",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png",
                "label": "name",
                "maxLength": 256.0,
                "name": "\"name\"",
                "position": 1,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "varchar",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "LIKE",
                    "expression": "LIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "ILIKE",
                    "expression": "ILIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              },
              {
                "dataKind": "ARRAY",
                "entityName": "card_action",
                "fullTypeName": "_varchar",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/array.png",
                "label": "flags",
                "maxLength": -1.0,
                "name": "flags",
                "position": 2,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "_varchar",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  }
                ]
              },
              {
                "dataKind": "STRING",
                "entityName": "card_action",
                "fullTypeName": "varchar(64)",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png",
                "label": "reasons.id",
                "maxLength": 64.0,
                "name": "reasons.id",
                "position": 3,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "varchar",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "LIKE",
                    "expression": "LIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "ILIKE",
                    "expression": "ILIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              },
              {
                "dataKind": "STRING",
                "entityName": "card_action",
                "fullTypeName": "varchar(256)",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png",
                "label": "reasons.name",
                "maxLength": 256.0,
                "name": "reasons.\"name\"",
                "position": 4,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "varchar",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "LIKE",
                    "expression": "LIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "ILIKE",
                    "expression": "ILIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              },
              {
                "dataKind": "ARRAY",
                "entityName": "card_action",
                "fullTypeName": "_varchar",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/array.png",
                "label": "reasons.flags",
                "maxLength": -1.0,
                "name": "reasons.flags",
                "position": 5,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "_varchar",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  }
                ]
              },
              {
                "dataKind": "STRING",
                "entityName": "card_action",
                "fullTypeName": "varchar(64)",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png",
                "label": "valid_actions.id",
                "maxLength": 64.0,
                "name": "valid_actions.id",
                "position": 6,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "varchar",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "LIKE",
                    "expression": "LIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "ILIKE",
                    "expression": "ILIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              },
              {
                "dataKind": "STRING",
                "entityName": "card_action",
                "fullTypeName": "varchar(256)",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png",
                "label": "valid_actions.name",
                "maxLength": 256.0,
                "name": "valid_actions.\"name\"",
                "position": 7,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "varchar",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "LIKE",
                    "expression": "LIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "ILIKE",
                    "expression": "ILIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              },
              {
                "dataKind": "ARRAY",
                "entityName": "card_action",
                "fullTypeName": "_varchar",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/array.png",
                "label": "valid_actions.flags",
                "maxLength": -1.0,
                "name": "valid_actions.flags",
                "position": 8,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "_varchar",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  }
                ]
              },
              {
                "dataKind": "STRING",
                "entityName": "card_action",
                "fullTypeName": "text",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png",
                "label": "modifs.user_name",
                "maxLength": -1.0,
                "name": "modifs.user_name",
                "position": 9,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "text",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "LIKE",
                    "expression": "LIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "ILIKE",
                    "expression": "ILIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              },
              {
                "dataKind": "STRING",
                "entityName": "card_action",
                "fullTypeName": "text",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png",
                "label": "modifs.program",
                "maxLength": -1.0,
                "name": "modifs.\"program\"",
                "position": 10,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "text",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "LIKE",
                    "expression": "LIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "ILIKE",
                    "expression": "ILIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              },
              {
                "dataKind": "STRING",
                "entityName": "card_action",
                "fullTypeName": "text",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png",
                "label": "modifs.module",
                "maxLength": -1.0,
                "name": "modifs.\"module\"",
                "position": 11,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "text",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "LIKE",
                    "expression": "LIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "ILIKE",
                    "expression": "ILIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              },
              {
                "dataKind": "STRING",
                "entityName": "card_action",
                "fullTypeName": "text",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png",
                "label": "modifs.method",
                "maxLength": -1.0,
                "name": "modifs.\"method\"",
                "position": 12,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "text",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "LIKE",
                    "expression": "LIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "ILIKE",
                    "expression": "ILIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              },
              {
                "dataKind": "STRING",
                "entityName": "card_action",
                "fullTypeName": "text",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png",
                "label": "modifs.old_value",
                "maxLength": -1.0,
                "name": "modifs.old_value",
                "position": 13,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "text",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "LIKE",
                    "expression": "LIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "ILIKE",
                    "expression": "ILIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              },
              {
                "dataKind": "STRING",
                "entityName": "card_action",
                "fullTypeName": "text",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png",
                "label": "modifs.new_value",
                "maxLength": -1.0,
                "name": "modifs.new_value",
                "position": 14,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "text",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "LIKE",
                    "expression": "LIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "ILIKE",
                    "expression": "ILIKE",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              },
              {
                "dataKind": "DATETIME",
                "entityName": "card_action",
                "fullTypeName": "timestamp",
                "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/datetime.png",
                "label": "modifs.dt",
                "maxLength": 29.0,
                "name": "modifs.dt",
                "position": 15,
                "precision": null,
                "required": false,
                "readOnly": false,
                "readOnlyStatus": null,
                "scale": null,
                "typeName": "timestamp",
                "supportedOperations": [
                  {
                    "id": "IS_NULL",
                    "expression": "IS NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "IS_NOT_NULL",
                    "expression": "IS NOT NULL",
                    "argumentCount": 0
                  },
                  {
                    "id": "EQUALS",
                    "expression": "\u003d",
                    "argumentCount": 1
                  },
                  {
                    "id": "NOT_EQUALS",
                    "expression": "\u003c\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "GREATER",
                    "expression": "\u003e",
                    "argumentCount": 1
                  },
                  {
                    "id": "LESS",
                    "expression": "\u003c",
                    "argumentCount": 1
                  },
                  {
                    "id": "IN",
                    "expression": "IN",
                    "argumentCount": -1
                  }
                ]
              }
            ],
            "rows": [
              [
                "issue",
                "new",
                "{active}",
                null,
                null,
                null,
                "new_card",
                "new",
                "{active,hasFee}",
                null,
                null,
                null,
                null,
                null,
                null,
                "2023-01-25 11:32:30.766"
              ],
              [
                "pin",
                "pin",
                "{active}",
                "01",
                "pin",
                "{active,checkLinkInDpi}",
                "Replace_Pin",
                "pin",
                "{active,validReasons:01,02,03,04,hasFee,checkCardVal,checkStopList}",
                "hmmftg",
                "docker",
                "init-db",
                "insert",
                null,
                null,
                "2022-09-05 15:22:50.855"
              ],
              [
                "change",
                "change",
                "{active}",
                "00",
                "change",
                "{active,printable,hasFee}",
                "replace_card",
                "change",
                "{active,changeName,changeExpiry,validReasons:01,CN,02,03,checkStopList,checkCardVal,checkActivation,checkLinkActivation,checkLinkInDpi}",
                "hmmftg",
                "docker",
                "init-db",
                "insert",
                null,
                null,
                "2022-09-05 15:22:50.855"
              ]
            ],
            "singleEntity": true,
            "hasMoreData": false,
            "hasRowIdentifier": true
          }
        }
      ]
    }
  }
}

table ddl

-- Create the types
CREATE TYPE MODIFICATION AS
( USER_NAME    TEXT
, PROGRAM      TEXT
, MODULE       TEXT
, METHOD       TEXT
, OLD_VALUE    TEXT
, NEW_VALUE    TEXT
, DT           TIMESTAMP WITHOUT TIME ZONE
 );

CREATE TYPE parameter_data AS
( id        VARCHAR(64)
, name      VARCHAR(256)
, flags     VARCHAR(64)[]
 );

CREATE TABLE card_action (
  id            VARCHAR(64)  PRIMARY KEY,
  name          VARCHAR(256),
  flags         VARCHAR(64)[],
  reasons       parameter_data[],
  valid_actions parameter_data[],
  modifs        modification[]
);

Originally created by @hmmftg on GitHub (Jun 6, 2023). Original GitHub issue: https://github.com/dbeaver/cloudbeaver/issues/1737 **Describe the bug** If data model(postgresql 14) contains table with nested array of objects, only first element of array is returned. **To Reproduce** Steps to reproduce the behavior: 1. Run a query from a table with nested array of objects 2. Only first row is displayed **Screenshots** If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - OS: [ubuntu] - Browser [opera] - Version [99.0.4788.13] **Additional context** I've checked http response and it seems data type is not detected correctly by api(same query on same table works great on dbeave-ce). <details><summary>gql response</summary> <p> ```javascript { "data": { "result": { "duration": 45, "statusMessage": "Success", "filterText": null, "fullQuery": "select * from card_issue.card_action", "results": [ { "title": null, "updateRowCount": null, "sourceQuery": null, "dataFormat": "resultset", "resultSet": { "id": "2", "columns": [ { "dataKind": "STRING", "entityName": "card_action", "fullTypeName": "varchar(64)", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png", "label": "id", "maxLength": 64.0, "name": "id", "position": 0, "precision": null, "required": true, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "varchar", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "LIKE", "expression": "LIKE", "argumentCount": 1 }, { "id": "ILIKE", "expression": "ILIKE", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] }, { "dataKind": "STRING", "entityName": "card_action", "fullTypeName": "varchar(256)", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png", "label": "name", "maxLength": 256.0, "name": "\"name\"", "position": 1, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "varchar", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "LIKE", "expression": "LIKE", "argumentCount": 1 }, { "id": "ILIKE", "expression": "ILIKE", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] }, { "dataKind": "ARRAY", "entityName": "card_action", "fullTypeName": "_varchar", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/array.png", "label": "flags", "maxLength": -1.0, "name": "flags", "position": 2, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "_varchar", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 } ] }, { "dataKind": "STRING", "entityName": "card_action", "fullTypeName": "varchar(64)", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png", "label": "reasons.id", "maxLength": 64.0, "name": "reasons.id", "position": 3, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "varchar", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "LIKE", "expression": "LIKE", "argumentCount": 1 }, { "id": "ILIKE", "expression": "ILIKE", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] }, { "dataKind": "STRING", "entityName": "card_action", "fullTypeName": "varchar(256)", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png", "label": "reasons.name", "maxLength": 256.0, "name": "reasons.\"name\"", "position": 4, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "varchar", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "LIKE", "expression": "LIKE", "argumentCount": 1 }, { "id": "ILIKE", "expression": "ILIKE", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] }, { "dataKind": "ARRAY", "entityName": "card_action", "fullTypeName": "_varchar", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/array.png", "label": "reasons.flags", "maxLength": -1.0, "name": "reasons.flags", "position": 5, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "_varchar", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 } ] }, { "dataKind": "STRING", "entityName": "card_action", "fullTypeName": "varchar(64)", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png", "label": "valid_actions.id", "maxLength": 64.0, "name": "valid_actions.id", "position": 6, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "varchar", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "LIKE", "expression": "LIKE", "argumentCount": 1 }, { "id": "ILIKE", "expression": "ILIKE", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] }, { "dataKind": "STRING", "entityName": "card_action", "fullTypeName": "varchar(256)", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png", "label": "valid_actions.name", "maxLength": 256.0, "name": "valid_actions.\"name\"", "position": 7, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "varchar", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "LIKE", "expression": "LIKE", "argumentCount": 1 }, { "id": "ILIKE", "expression": "ILIKE", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] }, { "dataKind": "ARRAY", "entityName": "card_action", "fullTypeName": "_varchar", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/array.png", "label": "valid_actions.flags", "maxLength": -1.0, "name": "valid_actions.flags", "position": 8, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "_varchar", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 } ] }, { "dataKind": "STRING", "entityName": "card_action", "fullTypeName": "text", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png", "label": "modifs.user_name", "maxLength": -1.0, "name": "modifs.user_name", "position": 9, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "text", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "LIKE", "expression": "LIKE", "argumentCount": 1 }, { "id": "ILIKE", "expression": "ILIKE", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] }, { "dataKind": "STRING", "entityName": "card_action", "fullTypeName": "text", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png", "label": "modifs.program", "maxLength": -1.0, "name": "modifs.\"program\"", "position": 10, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "text", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "LIKE", "expression": "LIKE", "argumentCount": 1 }, { "id": "ILIKE", "expression": "ILIKE", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] }, { "dataKind": "STRING", "entityName": "card_action", "fullTypeName": "text", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png", "label": "modifs.module", "maxLength": -1.0, "name": "modifs.\"module\"", "position": 11, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "text", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "LIKE", "expression": "LIKE", "argumentCount": 1 }, { "id": "ILIKE", "expression": "ILIKE", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] }, { "dataKind": "STRING", "entityName": "card_action", "fullTypeName": "text", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png", "label": "modifs.method", "maxLength": -1.0, "name": "modifs.\"method\"", "position": 12, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "text", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "LIKE", "expression": "LIKE", "argumentCount": 1 }, { "id": "ILIKE", "expression": "ILIKE", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] }, { "dataKind": "STRING", "entityName": "card_action", "fullTypeName": "text", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png", "label": "modifs.old_value", "maxLength": -1.0, "name": "modifs.old_value", "position": 13, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "text", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "LIKE", "expression": "LIKE", "argumentCount": 1 }, { "id": "ILIKE", "expression": "ILIKE", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] }, { "dataKind": "STRING", "entityName": "card_action", "fullTypeName": "text", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/string.png", "label": "modifs.new_value", "maxLength": -1.0, "name": "modifs.new_value", "position": 14, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "text", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "LIKE", "expression": "LIKE", "argumentCount": 1 }, { "id": "ILIKE", "expression": "ILIKE", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] }, { "dataKind": "DATETIME", "entityName": "card_action", "fullTypeName": "timestamp", "icon": "platform:/plugin/org.jkiss.dbeaver.model/icons/types/datetime.png", "label": "modifs.dt", "maxLength": 29.0, "name": "modifs.dt", "position": 15, "precision": null, "required": false, "readOnly": false, "readOnlyStatus": null, "scale": null, "typeName": "timestamp", "supportedOperations": [ { "id": "IS_NULL", "expression": "IS NULL", "argumentCount": 0 }, { "id": "IS_NOT_NULL", "expression": "IS NOT NULL", "argumentCount": 0 }, { "id": "EQUALS", "expression": "\u003d", "argumentCount": 1 }, { "id": "NOT_EQUALS", "expression": "\u003c\u003e", "argumentCount": 1 }, { "id": "GREATER", "expression": "\u003e", "argumentCount": 1 }, { "id": "LESS", "expression": "\u003c", "argumentCount": 1 }, { "id": "IN", "expression": "IN", "argumentCount": -1 } ] } ], "rows": [ [ "issue", "new", "{active}", null, null, null, "new_card", "new", "{active,hasFee}", null, null, null, null, null, null, "2023-01-25 11:32:30.766" ], [ "pin", "pin", "{active}", "01", "pin", "{active,checkLinkInDpi}", "Replace_Pin", "pin", "{active,validReasons:01,02,03,04,hasFee,checkCardVal,checkStopList}", "hmmftg", "docker", "init-db", "insert", null, null, "2022-09-05 15:22:50.855" ], [ "change", "change", "{active}", "00", "change", "{active,printable,hasFee}", "replace_card", "change", "{active,changeName,changeExpiry,validReasons:01,CN,02,03,checkStopList,checkCardVal,checkActivation,checkLinkActivation,checkLinkInDpi}", "hmmftg", "docker", "init-db", "insert", null, null, "2022-09-05 15:22:50.855" ] ], "singleEntity": true, "hasMoreData": false, "hasRowIdentifier": true } } ] } } } ``` </p> </details> <details><summary>table ddl</summary> <p> ```sql -- Create the types CREATE TYPE MODIFICATION AS ( USER_NAME TEXT , PROGRAM TEXT , MODULE TEXT , METHOD TEXT , OLD_VALUE TEXT , NEW_VALUE TEXT , DT TIMESTAMP WITHOUT TIME ZONE ); CREATE TYPE parameter_data AS ( id VARCHAR(64) , name VARCHAR(256) , flags VARCHAR(64)[] ); CREATE TABLE card_action ( id VARCHAR(64) PRIMARY KEY, name VARCHAR(256), flags VARCHAR(64)[], reasons parameter_data[], valid_actions parameter_data[], modifs modification[] ); ``` </p> </details>
kerem 2026-03-07 20:50:02 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/cloudbeaver#477
No description provided.