Table definition doesn't match with insert statement
Insert statement as below doesn't match with table definition
try { int32_t va[] = { 200, 300, 400 }; db.query_first("insert into test(Name, CreateTime, va, percent) values($1, LOCALTIMESTAMP, $2, $3) returning ID", std::forward_as_tuple("test_user", va, std::make_pair(11, 22)), id); }
Below Table definition doesn't have VA and percent CREATE TABLE test ( id int4 NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 MINVALUE 1 MAXVALUE 2147483647 START 1 ), name varchar(255) COLLATE default, createtime timestamp(6) ) ;
I did some additional tests here. The related table structure is as follows:
CREATE TYPE public.rational AS ( num integer, den integer );
CREATE TABLE public.test ( id integer NOT NULL GENERATED BY DEFAULT AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ), name character varying(255) COLLATE pg_catalog."default", createtime timestamp without time zone, va integer[], percent rational, CONSTRAINT test_pkey PRIMARY KEY (id) )