BUG #15205: ERROR: table row type and query-specified row type do notmatch - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #15205: ERROR: table row type and query-specified row type do notmatch
Date
Msg-id 152658790263.1316.16727510031290766904@wrigleys.postgresql.org
Whole thread Raw
Responses Re: BUG #15205: ERROR: table row type and query-specified row type donot match  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      15205
Logged by:          Alexander Szwako
Email address:      mihares@gmail.com
PostgreSQL version: 9.6.1
Operating system:   Linux
Description:

CREATE TABLE pedidos (
    pedido numeric(12) NOT NULL,
    comercio int8 NOT NULL,
    id_pedido_comercio varchar(64) NOT NULL,
    estado_transaccion int2 NOT NULL,
    descripcion text NULL,
    hash varchar(64) NOT NULL,
    fecha_maxima_pago timestamp NOT NULL,
    datos jsonb NOT NULL,
    forma_pago int2 NOT NULL,
    documento varchar(30) NULL, -- CI o documento
    tipo_documento int2 NULL, -- Tipo de documento CI/RUC
    monto numeric(12,2) NOT NULL,
    divisa int2 NOT NULL,
    fecha_creacion timestamp NOT NULL DEFAULT now(),
    tipo_venta int2 NOT NULL,
    porcentaje_comision numeric(5,2) NOT NULL,
    monto_comision numeric(12,2) NOT NULL DEFAULT 0,
    ranking_generado bool NULL DEFAULT false,
    entorno int2 NOT NULL,
    tipo_pedido int4 NOT NULL DEFAULT 1,
    origen text NULL,
    aviso_comercio bool NULL DEFAULT false, -- Si se aviso al comercio despues
del pago
    fecha_aviso timestamp NULL, -- Fecha de aviso del pago al comercio
    CONSTRAINT pk_pedidos PRIMARY KEY (pedido)
) ;




function definition

CREATE OR REPLACE FUNCTION fn_pedidos_respuestas_log2(
_hash_pedido character varying,
_codigo_respuesta varchar)
 RETURNS void
 LANGUAGE sql
 SECURITY DEFINER
AS $function$
    -- anular consulta de pedido en caso que sea 200
    update pedidos set fecha_aviso = now(), aviso_comercio = true
    where hash = $1 and aviso_comercio = false and $2='200'::Varchar;
$function$;




Query

select fn_pedidos_respuestas_log2(

_hash_pedido:='b8fd48d09c8141224f1461a4390a7fafcc6396cc189f8217210f6bb548d7dd23'::character
varying,
 _codigo_respuesta:='200'::character varying(10)) as data;



 Error:

 SQL Error [42804]: ERROR: table row type and query-specified row type do
not match
  Detail: Query provides a value for a dropped column at ordinal position
17.
  Where: SQL function "fn_pedidos_respuestas_log2" statement 1






Query info:
   
   select *
from pg_attribute
where attrelid='pedidos'::regclass;


attrelid    attname    atttypid    attstattarget    attlen    attnum    attndims    attcacheoff    atttypmod
attbyval   attstorage    attalign    attnotnull    atthasdef    attisdropped    attislocal    attinhcount
attcollation   attacl    attoptions    attfdwoptions
 
17239    tableoid    26    0    4    -7    0    -1    -1    true    p    i    true    false    false    true    0    0
 NULL    NULL    NULL
 
17239    cmax    29    0    4    -6    0    -1    -1    true    p    i    true    false    false    true    0    0
NULL   NULL    NULL
 
17239    xmax    28    0    4    -5    0    -1    -1    true    p    i    true    false    false    true    0    0
NULL   NULL    NULL
 
17239    cmin    29    0    4    -4    0    -1    -1    true    p    i    true    false    false    true    0    0
NULL   NULL    NULL
 
17239    xmin    28    0    4    -3    0    -1    -1    true    p    i    true    false    false    true    0    0
NULL   NULL    NULL
 
17239    ctid    27    0    6    -1    0    -1    -1    false    p    s    true    false    false    true    0    0
NULL   NULL    NULL
 
17239    pedido    1700    -1    -1    1    0    -1    786436    false    m    i    true    true    false    true    0
 0    NULL    NULL    NULL
 
17239    comercio    20    -1    8    2    0    -1    -1    true    p    d    true    false    false    true    0    0
 NULL    NULL    NULL
 
17239    id_pedido_comercio    1043    -1    -1    3    0    -1    68    false    x    i    true    false    false
true   0    100    NULL    NULL    NULL
 
17239    estado_transaccion    21    -1    2    4    0    -1    -1    true    p    s    true    false    false    true
 0    0    NULL    NULL    NULL
 
17239    descripcion    25    -1    -1    5    0    -1    -1    false    x    i    false    false    false    true    0
  100    NULL    NULL    NULL
 
17239    hash    1043    -1    -1    6    0    -1    68    false    x    i    true    false    false    true    0
100   NULL    NULL    NULL
 
17239    fecha_maxima_pago    1114    -1    8    7    0    -1    -1    true    p    d    true    false    false    true
  0    0    NULL    NULL    NULL
 
17239    datos    3802    -1    -1    8    0    -1    -1    false    x    i    true    false    false    true    0    0
  NULL    NULL    NULL
 
17239    forma_pago    21    -1    2    9    0    -1    -1    true    p    s    true    false    false    true    0
0   NULL    NULL    NULL
 
17239    documento    1043    -1    -1    10    0    -1    34    false    x    i    false    false    false    true
0   100    NULL    NULL    NULL
 
17239    tipo_documento    21    -1    2    11    0    -1    -1    true    p    s    false    false    false    true
0   0    NULL    NULL    NULL
 
17239    monto    1700    -1    -1    12    0    -1    786438    false    m    i    true    false    false    true    0
  0    NULL    NULL    NULL
 
17239    divisa    21    -1    2    13    0    -1    -1    true    p    s    true    false    false    true    0    0
NULL    NULL    NULL
 
17239    fecha_creacion    1114    -1    8    14    0    -1    -1    true    p    d    true    true    false    true
0   0    NULL    NULL    NULL
 
17239    tipo_venta    21    -1    2    15    0    -1    -1    true    p    s    true    false    false    true    0
0   NULL    NULL    NULL
 
17239    porcentaje_comision    1700    -1    -1    16    0    -1    327686    false    m    i    true    false
false   true    0    0    NULL    NULL    NULL
 
17239    ........pg.dropped.17........    0    0    -1    17    0    -1    786438    false    m    i    false    false
 true    true    0    0    NULL    NULL    NULL
 
17239    monto_comision    1700    -1    -1    18    0    -1    786438    false    m    i    true    true    false
true   0    0    NULL    NULL    NULL
 
17239    ranking_generado    16    -1    1    19    0    -1    -1    true    p    c    false    true    false    true
0    0    NULL    NULL    NULL
 
17239    entorno    21    -1    2    20    0    -1    -1    true    p    s    true    false    false    true    0    0
 NULL    NULL    NULL
 
17239    tipo_pedido    23    -1    4    21    0    -1    -1    true    p    i    true    true    false    true    0
0   NULL    NULL    NULL
 
17239    origen    25    -1    -1    22    0    -1    -1    false    x    i    false    false    false    true    0
100   NULL    NULL    NULL
 
17239    aviso_comercio    16    -1    1    23    0    -1    -1    true    p    c    false    true    false    true
0   0    NULL    NULL    NULL
 
17239    fecha_aviso    1114    -1    8    24    0    -1    -1    true    p    d    false    false    false    true
0   0    NULL    NULL    NULL
 




This column:
17239    ........pg.dropped.17........    0    0    -1    17    0    -1    786438    false    m    i    false    false
 true    true    0    0    NULL    NULL    NULL 


pgsql-bugs by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: BUG #15198: nextval() accepts tables/indexes when adding adefault to a column
Next
From: "David G. Johnston"
Date:
Subject: Re: BUG #15205: ERROR: table row type and query-specified row type donot match