The CLOBBER_CACHE_ALWAYS animals (friarbird and jaguarundi) have been failing persistently for about 36 hours now. The error is in a test added by Tom's recent commit a4424c5:

Expected:

-- Check row comparisons with IN
select * from int8_tbl i8 where i8 in (row(123,456)); -- fail, type mismatch ERROR: cannot compare dissimilar column types bigint and integer at record column 1

Actual:

select * from int8_tbl i8 where i8 in (row(123,456)); -- fail, type mismatch
connection to server was lost

Backtrace, as good as I can make it:

(gdb) bt
#0 0x0000000000743fcf in cache_record_field_properties (typentry=0x8031c06f8)
    at typcache.c:658
#1  0x0000000000744053 in record_fields_have_compare (typentry=0x8031c06f8)
    at typcache.c:625
#2  0x0000000000743983 in lookup_type_cache (type_id=16446, flags=8)
    at typcache.c:375
#3 0x000000000074287c in op_mergejoinable (opno=Variable "opno" is not available.
) at lsyscache.c:1188
#4  0x0000000000605b0c in check_mergejoinable (restrictinfo=0x803064e18)
    at initsplan.c:1876
#5  0x00000000006062d8 in distribute_qual_to_rels (root=0x8031ce4e0,
    clause=0x8031cea48, is_deduced=Variable "is_deduced" is not available.
) at initsplan.c:1364
#6  0x0000000000606aa4 in deconstruct_recurse (root=0x8031ce4e0,
    jtnode=0x803063d30, below_outer_join=0 '\0', qualscope=0x7fffffffbbb0,
    inner_join_rels=0x7fffffffbba8) at initsplan.c:645
#7 0x0000000000607429 in deconstruct_jointree (root=Variable "root" is not available.
) at initsplan.c:547
#8 0x0000000000608554 in query_planner (root=0x8031ce4e0, tlist=0x8031ce470,
    tuple_fraction=0, limit_tuples=-1,
    qp_callback=0x60c570 <standard_qp_callback>, qp_extra=0x7fffffffbe50,
    cheapest_path=0x7fffffffbe90, sorted_path=0x7fffffffbe88,
    num_groups=0x7fffffffbea0) at planmain.c:176
#9 0x0000000000609edc in grouping_planner (root=0x8031ce4e0, tuple_fraction=0)
    at planner.c:1203
#10 0x000000000060c014 in subquery_planner (glob=0x803064f30,
parse=0x803054338, parent_root=0x803054450, hasRecursion=Variable "hasRecursion" is not available.
) at planner.c:558
#11 0x000000000060c318 in standard_planner (parse=0x803054338,
    cursorOptions=0, boundParams=0x0) at planner.c:209
#12 0x000000000067ce0d in pg_plan_query (querytree=0x803054338,
    cursorOptions=0, boundParams=0x0) at postgres.c:753
#13 0x000000000067ceee in pg_plan_queries (querytrees=Variable "querytrees" is not available.
) at postgres.c:812
#14 0x000000000067d1ca in exec_simple_query (
query_string=0x803053038 "select * from int8_tbl i8 where i8 in (row(123,456));") at postgres.c:977 #15 0x000000000067e88a in PostgresMain (argc=1, argv=Variable "argv" is not available.
) at postgres.c:3985
#16 0x000000000063137c in ServerLoop () at postmaster.c:3987
#17 0x0000000000634702 in PostmasterMain (argc=6, argv=0x7fffffffd728)
    at postmaster.c:1246
#18 0x00000000005ca98f in main (argc=6, argv=0x7fffffffd728) at main.c:196


(gdb) l
653                                             TCFLAGS_HAVE_FIELD_COMPARE);
654                     for (i = 0; i < tupdesc->natts; i++)
655                     {
656                             TypeCacheEntry *fieldentry;
657
658                             if (tupdesc->attrs[i]->attisdropped)
659                                     continue;
660
661 fieldentry = lookup_type_cache(tupdesc->attrs[i]->atttypid, 662 TYPECACHE_EQ_OPR |


(gdb) p i
$5 = 1
(gdb) p typentry
$6 = (TypeCacheEntry *) 0x8031c06f8
(gdb) p typentry->tupDesc
$7 = 0x0
(gdb) p *typentry
$8 = {type_id = 16446, typlen = -1, typbyval = 0 '\0', typalign = 100 'd',
typstorage = 120 'x', typtype = 99 'c', typrelid = 16429, btree_opf = 2994,
  btree_opintype = 2249, hash_opf = 0, hash_opintype = 0, eq_opr = 0,
  lt_opr = 0, gt_opr = 0, cmp_proc = 0, hash_proc = 0, eq_opr_finfo = {
    fn_addr = 0, fn_oid = 0, fn_nargs = 0, fn_strict = 0 '\0',
    fn_retset = 0 '\0', fn_stats = 0 '\0', fn_extra = 0x0, fn_mcxt = 0x0,
fn_expr = 0x0}, cmp_proc_finfo = {fn_addr = 0, fn_oid = 0, fn_nargs = 0, fn_strict = 0 '\0', fn_retset = 0 '\0', fn_stats = 0 '\0', fn_extra = 0x0, fn_mcxt = 0x0, fn_expr = 0x0}, hash_proc_finfo = {fn_addr = 0, fn_oid = 0, fn_nargs = 0, fn_strict = 0 '\0', fn_retset = 0 '\0', fn_stats = 0 '\0',
    fn_extra = 0x0, fn_mcxt = 0x0, fn_expr = 0x0}, tupDesc = 0x0,
  rngelemtype = 0x0, rng_collation = 0, rng_cmp_proc_finfo = {fn_addr = 0,
    fn_oid = 0, fn_nargs = 0, fn_strict = 0 '\0', fn_retset = 0 '\0',
    fn_stats = 0 '\0', fn_extra = 0x0, fn_mcxt = 0x0, fn_expr = 0x0},
  rng_canonical_finfo = {fn_addr = 0, fn_oid = 0, fn_nargs = 0,
fn_strict = 0 '\0', fn_retset = 0 '\0', fn_stats = 0 '\0', fn_extra = 0x0,
    fn_mcxt = 0x0, fn_expr = 0x0}, rng_subdiff_finfo = {fn_addr = 0,
    fn_oid = 0, fn_nargs = 0, fn_strict = 0 '\0', fn_retset = 0 '\0',
    fn_stats = 0 '\0', fn_extra = 0x0, fn_mcxt = 0x0, fn_expr = 0x0},
  flags = 0, enumData = 0x0}


type_id 16446 is int8_tbl.

--
Christian



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to