============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================
Your name : Eric Breault
Your email address : breault@ti.com
Category : unknown
Severity : non-critical
Summary: backend crashes any time an "update" or "insert" rule executes
System Configuration
--------------------
Operating System : Digital Unix 4.0D
PostgreSQL version : 6.5
Compiler used : gcc 2.8.1 or native DEC cc
Hardware:
---------
DEC AlphaStation 200 4/233 128Mb RAM
Versions of other tools:
------------------------
gmake 3.77/flex 2.5.4
--------------------------------------------------------------------------
Problem Description:
--------------------
Backend dies during "rules" regression test, or on execution of insert or update rule. Backtrace of regression test
coredump below:
(gdb) bt
#0 0x1200fe968 in replace_opid (oper=0x4014ae30) at nodeFuncs.c:95
#1 0x12012ebf0 in fix_opid_walker (node=0x14014ae00, context=0x0)
at clauses.c:539
#2 0x12012eb80 in fix_opid (clause=0x14014ae00) at clauses.c:530
#3 0x12012b6a8 in preprocess_targetlist (tlist=0x14014a820, command_type=2,
result_relation=5, range_table=0x14014b510) at preptlist.c:84
#4 0x120124068 in union_planner (parse=0x14014a460) at planner.c:161
#5 0x120123e30 in planner (parse=0x14014a460) at planner.c:83
#6 0x120178bb0 in pg_parse_and_plan (
query_string=0x11fffa710 "update rtest_v1 set a = rtest_t3.a + 20 where b = rtest_t3.b;", typev=0x0, nargs=0,
queryListP=0x11fff
a660, dest=Remote,
aclOverride=0 '\000') at postgres.c:590
#7 0x120178e6c in pg_exec_query_dest (
query_string=0x11fffa710 "update rtest_v1 set a = rtest_t3.a + 20 where b = rtest_t3.b;", dest=Remote,
aclOverride=0'\000') at
postgres.c:678
#8 0x120178d80 in pg_exec_query (
query_string=0x11fffa710 "update rtest_v1 set a = rtest_t3.a + 20 where b = rtest_t3.b;") at postgres.c:656
#9 0x12017af5c in PostgresMain (argc=4, argv=0x11fffe788, real_argc=5,
real_argv=0x11ffffae8) at postgres.c:1647
#10 0x12013fc3c in DoBackend (port=0x1400cf820) at postmaster.c:1628
#11 0x12013f094 in BackendStartup (port=0x1400cf820) at postmaster.c:1373
#12 0x12013d92c in ServerLoop () at postmaster.c:823
--------------------------------------------------------------------------
Test Case:
----------
Either run the regression test, or execute an insert on a table with a rule of the following form:
create rule testrule as
on insert
to employees
do
insert into salaries (lname, fname, salary)
values
(new.lname, new.fname, 0);
Problem is VERY repeatable
--------------------------------------------------------------------------
Solution:
---------
--------------------------------------------------------------------------