Skip to content

Please work around limitation of 100 or 50 fields for the function parameters such as agtype_build_map and internally invoked CREATE #1840

@MironAtHome

Description

@MironAtHome

Is your feature request related to a problem? Please describe.
When working with data having vertice property count in excess of 100 Postgres functions exhibit build - in limit of 100 arguments.
Examples:
function agtype_build_map treats each parameter as separate, map field name and map field value, hence, it limits input to 50 fields / call. To scale number of fields it can handle one has to continuously invoke constructs such as
agtype_add(
CypherInputParam_Var
, agtype_build_map(
/* 54 / field_name_54, field_value_54
/
55 */ field_name_55, field_value_55
....
similarly when CREATE invoked subsequently in the context of call to cypher function and CypherInputParam_Var as an input parameter to overcome per call limit of parameters/properties requires to initially create subset of 50 fields and subsequently call constructs such as
CREATE (v:<vertice_name>
{... properties 1,2,3 ...
})
SET v += { properties 51... 100}
SET v += { properties 101... 150}
....
This limitation is grandfathered from functions servicing postgresql function check when using default build, as per Appendix K. PostgreSQL Limits document:

function arguments | 100 | can be increased by recompiling PostgreSQL

However, I am not 100% convinced that custom compilation of Postgres is the right approach in this case.
In an ideal world it would be nice if Age used under the hood an limit compatible with limit of Age, which I believe is 65,535 properties per vertice ( please correct me if I am wrong ).

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions