Menu ▾ ▴

#489 [PostgreSQL] function as default values

4.2.3
closed-fixed
nobody
None
5
2018-09-18
2016-03-08
No

When inserting in a table that uses function to generate default values, adminer insert query tries to insert the function "call" instead of the result of the call, eg:

with this table:

CREATE TABLE tag (
  "id" uuid NOT NULL PRIMARY KEY DEFAULT uuid_generate_v4(),
  "name" character varying NOT NULL
);

adminer generate the following query:

INSERT INTO "tag" ("id", "name")
VALUES ('uuid_generate_v4()', 'tag name');

instead of

INSERT INTO "tag" ("id", "name")
VALUES (uuid_generate_v4(), 'tag name');

Discussion

  • Jakub Vrána

    Jakub Vrána - 2017-02-20
    • summary: function as default values --> [PostgreSQL] function as default values
     
  • Jakub Vrána

    Jakub Vrána - 2018-01-30
    • status: open --> closed-fixed
     
  • Sander

    Sander - 2018-06-10

    Maybe its a regression but version 4.6.2 and a build based upon master on github still seem to convert default function calls into textual values.

    ERROR: invalid input syntax for type uuid: "uuid_generate_v4()" LINE 2: VALUES ('uuid_generate_v4()')

     
  • Jakub Vrána

    Jakub Vrána - 2018-09-18

    Altering table with default value uuid_generate_v4() generates:

    ALTER TABLE "types"
    ADD "uuid" uuid NOT NULL DEFAULT uuid_generate_v4();
    
     

Log in to post a comment.