Exception in select IN with index

From: Keith Parks <emkxp01(at)mtcc(dot)demon(dot)co(dot)uk>
To: hackers(at)postgresql(dot)org
Subject: Exception in select IN with index
Date: 1998-09-12 13:56:39
Message-ID: 199809121356.OAA21197@mtcc.demon.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

Can anyone else reproduce this problem?
(Maybe a signal handling problem on S/Linux??)

Using the regression database...

Keith.

regression=> select * from person where age in (38,68);
name |age|location
-------+---+----------
teresa | 38|(7.7,1.8)
leah | 68|(0.6,3.37)
liza | 38|(9.76,6.9)
jenifer| 38|(6.6,23.3)
sumi | 38|(1.15,0.6)
paula | 68|(0.5,0.5)
julie | 68|(3.6,7.2)
belinda| 38|(8.9,1.7)
sandy | 38|(3.8,0.2)
velma | 68|(8.8,8.9)
(10 rows)

regression=> create index p_age_idx on person (age);
CREATE
regression=> select * from person where age in (38,68);
ERROR: floating point exception! The last floating point operation either
exceeded legal ranges or was a divide by zero
regression=> drop index p_age_idx;
DROP
regression=> select * from person where age in (38,68);
name |age|location
-------+---+----------
teresa | 38|(7.7,1.8)
leah | 68|(0.6,3.37)
liza | 38|(9.76,6.9)
jenifer| 38|(6.6,23.3)
sumi | 38|(1.15,0.6)
paula | 68|(0.5,0.5)
julie | 68|(3.6,7.2)
belinda| 38|(8.9,1.7)
sandy | 38|(3.8,0.2)
velma | 68|(8.8,8.9)
(10 rows)

regression=>

Here's a trace.

Program received signal SIGFPE, Arithmetic exception.
0x931c4 in create_or_index_paths (root=0x1d7d10, rel=0x1efb90, clauses=0x1f9270)
at orindxpath.c:128
128 t_list = lappend(t_list, pathnode);
(gdb) bt
#0 0x931c4 in create_or_index_paths (root=0x1d7d10, rel=0x1efb90,
clauses=0x1f9270) at orindxpath.c:128
#1 0x8f0fc in find_rel_paths (root=0x1d7d10, rels=0x1f9510) at allpaths.c:130
#2 0x8f06c in find_paths (root=0x1d7d10, rels=0x1f9510) at allpaths.c:77
#3 0x94d48 in subplanner (root=0x1d7d10, flat_tlist=0x1f96f0, qual=0x1f9950) at
planmain.c:279
#4 0x94c30 in query_planner (root=0x1d7d10, command_type=1, tlist=0x1f43f0,
qual=0x1f9950) at planmain.c:183
#5 0x953c0 in union_planner (parse=0x1d7d10) at planner.c:151
#6 0x95228 in planner (parse=0x1d7d10) at planner.c:72
#7 0xccf1c in pg_parse_and_plan (query_string=0xefffd1a0 "select * from person
where age in (38,68);",
typev=0x0, nargs=0, queryListP=0xefffd09c, dest=Remote, aclOverride=0
'\000') at postgres.c:626
#8 0xcd040 in pg_exec_query_dest (query_string=0xefffd1a0 "select * from person
where age in (38,68);",
dest=Remote, aclOverride=0 '\000') at postgres.c:720
#9 0xccff4 in pg_exec_query (query_string=0xefffd1a0 "select * from person
where age in (38,68);")
at postgres.c:697
#10 0xce2e4 in PostgresMain (argc=10, argv=0xeffff268, real_argc=10,
real_argv=0xeffffd84) at postgres.c:1611
#11 0xb1fcc in DoBackend (port=0x12d800) at postmaster.c:1528
#12 0xb1a44 in BackendStartup (port=0x190c00) at postmaster.c:1299
#13 0xb0ebc in ServerLoop () at postmaster.c:757
#14 0xb0a04 in PostmasterMain (argc=0, argv=0xeffffd84) at postmaster.c:563
#15 0x83870 in main (argc=10, argv=0xeffffd84) at main.c:93
(gdb) print t_list
$1 = (List *) 0x0
(gdb) print pathnode
$2 = (IndexPath *) 0x1ef210
(gdb) print *pathnode
$3 = {path = {type = T_IndexPath, parent = 0x1efb90, path_cost = 4.0999999,
pathtype = T_IndexScan,
p_ordering = {ordtype = MERGE_ORDER, ord = {sortop = 0x0, merge = 0x0}},
keys = 0x0, outerjoincost = 0,
joinid = 0x0, locclauseinfo = 0x0}, indexid = 0x1e5dd0, indexqual =
0x1e5b90, indexkeys = 0x0}
(gdb)

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas A. Szybist 1998-09-12 15:35:46 Re: [HACKERS] Exception in select IN with index
Previous Message Thomas G. Lockhart 1998-09-12 06:09:41 Re: [HACKERS] SERIAL data type