Skip to content

pgr_nodeNetwork returns old_id as int and not bigint #2628

@amandhaka

Description

@amandhaka

I am using pgr_nodeNetwork('edges', 0.001, 'id', 'geom', 'noded', '', f) to create the paths network. Since the table is being re-generated multiple times the value of old_id in resulting table have cross integer limit and is giving error

Where: SQL statement "INSERT INTO public."edges_node_network" (old_id,sub_id,geom) ( WITH cut_locations AS
org.postgresql.util.PSQLException: ERROR: integer out of range

I am generating a new table as partition every time and later on attaching it to the parent table. I have changed the datatype of old_id as bigint in parent table but while generating new one it's giving integer out of range error. How to solve this?

Below is the example of table generated with old_id as integer. I have printed the column_name and it's type for the resulting table. Why does pgr_nodeNetwork generate old_id as int even though it's mentioned to be generated as bigint in documentation.

Pgr Version : 3.5

id bigint
old_id integer
sub_id integer
source bigint
target bigint
geom USER-DEFINED

I assume the error lies in below code, in file nodeNetwork.sql

      EXECUTE 'CREATE TABLE '||_pgr_quote_ident(outtab)||' (
        id bigserial PRIMARY KEY,
        old_id INTEGER, //this should be BIGINT
        sub_id INTEGER,
        source BIGINT,
        target BIGINT)';
    END IF;

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions