I don't know if this is the correct place to post
this message or if the bug in question has already
been fixed but the following query crashed the 
backend.  Note however, that when there is only one
constant in the IN () list, the query works:

flock error for /tmp/.s.PGSQL.5432
debug info:
	User         = mmsadmin
	RemoteHost   = localhost
	RemotePort   = 0
	DatabaseName = mms
	Verbose      = 5
	Noversion    = f
	timings      = f
	dates        = Normal
	bufsize      = 64
	sortmem      = 512
	query echo   = f
InitPostgres
StartTransactionCommand
query: SELECT employees.lastname, employees.firstname, employees.email, 
employees.phoneno, employees.department, employees.title,
employees.employee FROM employees, engineers WHERE employees.employee = 
engineers.employee AND engineers.costcntr IN ('63100','60100');
parser outputs:
{ QUERY  
   :command  1  
   :utility <> 
   :resultRelation  0  
   :into <> 
   :isPortal false 
   :isBinary false 
   :unionall false 
   :unique <> 
   :sortClause <> 
   :rtable (
      { RTE  
      :relname employees 
      :refname employees 
      :relid 315967  
      :inh false 
      :inFromCl true 
      :skipAcl false
      }
    
      { RTE  
      :relname engineers 
      :refname engineers 
      :relid 316336  
      :inh false 
      :inFromCl true 
      :skipAcl false
      }
   )
    
   :targetlist (
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 1  
         :restype 1043  
         :restypmod 24  
         :resname "lastname" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 2  
         :vartype 1043  
         :vartypmod 24  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 2 
         }
      }
    
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 2  
         :restype 1043  
         :restypmod 20  
         :resname "firstname" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 3  
         :vartype 1043  
         :vartypmod 20  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 3 
         }
      }
    
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 3  
         :restype 1043  
         :restypmod 54  
         :resname "email" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 5  
         :vartype 1043  
         :vartypmod 54  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 5 
         }
      }
    
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 4  
         :restype 1043  
         :restypmod 20  
         :resname "phoneno" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 6  
         :vartype 1043  
         :vartypmod 20  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 6 
         }
      }
    
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 5  
         :restype 1043  
         :restypmod 36  
         :resname "department" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 7  
         :vartype 1043  
         :vartypmod 36  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 7 
         }
      }
    
    postmaster: reaping dead processes...
postmaster: CleanupProc: pid 2769 exited with status 139
postmaster: CleanupProc: reinitializing shared memory and semaphores
binding ShmemCreate(key=52e325, size=831176)
nk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 8  
         :vartype 1043  
         :vartypmod 36  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 8 
         }
      }
    
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 7  
         :restype 1043  
         :restypmod 14  
         :resname "employee" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 1  
         :vartype 1043  
         :vartypmod 14  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 1 
         }
      }
   )
    
   :qual 
      { EXPR  
      :typeOid 16  
      :opType and 
      :oper <> 
      :args (
         { EXPR  
         :typeOid 16  
         :opType op 
         :oper 
            { OPER  
            :opno 1062  
            :opid 0  
            :opresulttype 16 
            }
          
         :args (
            { VAR  
            :varno 1  
            :varattno 1  
            :vartype 1043  
            :vartypmod 14  
            :varlevelsup 0  
            :varnoold 1  
            :varoattno 1 
            }
          
            { VAR  
            :varno 2  
            :varattno 1  
            :vartype 1043  
            :vartypmod 14  
            :varlevelsup 0  
            :varnoold 2  
            :varoattno 1 
            }
         )
         }
       
         { EXPR  
         :typeOid 16  
         :opType or 
         :oper <> 
         :args (
            { EXPR  
            :typeOid 16  
            :opType op 
            :oper 
               { OPER  
               :opno 1062  
               :opid 0  
               :opresulttype 16 
               }
             
            :args (
               { VAR  
               :varno 2  
               :varattno 2  
               :vartype 1043  
               :vartypmod 9  
               :varlevelsup 0  
               :varnoold 2  
               :varoattno 2 
               }
             
               { CONST  
               :consttype 1043  
               :constlen -1  
               :constisnull false 
               :constvalue  9 [  9  0  0  0  54  51  49  48  48 ]  
               :constbyval true
               }
            )
            }
          
            { EXPR  
            :typeOid 16  
            :opType op 
            :oper 
               { OPER  
               :opno 1062  
               :opid 0  
               :opresulttype 16 
               }
             
            :args (
               { VAR  
               :varno 2  
               :varattno 2  
               :vartype 1043  
               :vartypmod 9  
               :varlevelsup 0  
               :varnoold 2  
               :varoattno 2 
               }
             
               { CONST  
               :consttype 1043  
               :constlen -1  
               :constisnull false 
               :constvalue  9 [  9  0  0  0  54  48  49  48  48 ]  
               :constbyval true
               }
            )
            }
         )
         }
      )
      }
    
   :groupClause <> 
   :havingQual <> 
   :hasAggs false 
   :hasSubLinks false 
   :unionClause <>
   }
after rewriting:
{ QUERY  
   :command  1  
   :utility <> 
   :resultRelation  0  
   :into <> 
   :isPortal false 
   :isBinary false 
   :unionall false 
   :unique <> 
   :sortClause <> 
   :rtable (
      { RTE  
      :relname employees 
      :refname employees 
      :relid 315967  
      :inh false 
      :inFromCl true 
      :skipAcl false
      }
    
      { RTE  
      :relname engineers 
      :refname engineers 
      :relid 316336  
      :inh false 
      :inFromCl true 
      :skipAcl false
      }
   )
    
   :targetlist (
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 1  
         :restype 1043  
         :restypmod 24  
         :resname "lastname" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 2  
         :vartype 1043  
         :vartypmod 24  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 2 
         }
      }
    
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 2  
         :restype 1043  
         :restypmod 20  
         :resname "firstname" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 3  
         :vartype 1043  
         :vartypmod 20  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 3 
         }
      }
    
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 3  
         :restype 1043  
         :restypmod 54  
         :resname "email" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 5  
         :vartype 1043  
         :vartypmod 54  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 5 
         }
      }
    
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 4  
         :restype 1043  
         :restypmod 20  
         :resname "phoneno" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 6  
         :vartype 1043  
         :vartypmod 20  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 6 
         }
      }
    
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 5  
         :restype 1043  
         :restypmod 36  
         :resname "department" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 7  
         :vartype 1043  
         :vartypmod 36  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 7 
         }
      }
    
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 6  
         :restype 1043  
         :restypmod 36  
         :resname "title" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 8  
         :vartype 1043  
         :vartypmod 36  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 8 
         }
      }
    
      { TARGETENTRY  
      :resdom 
         { RESDOM  
         :resno 7  
         :restype 1043  
         :restypmod 14  
         :resname "employee" 
         :reskey 0  
         :reskeyop 0  
         :resjunk 0 
         }
       
      :expr 
         { VAR  
         :varno 1  
         :varattno 1  
         :vartype 1043  
         :vartypmod 14  
         :varlevelsup 0  
         :varnoold 1  
         :varoattno 1 
         }
      }
   )
    
   :qual 
      { EXPR  
      :typeOid 16  
      :opType and 
      :oper <> 
      :args (
         { EXPR  
         :typeOid 16  
         :opType op 
         :oper 
            { OPER  
            :opno 1062  
            :opid 0  
            :opresulttype 16 
            }
          
         :args (
            { VAR  
            :varno 1  
            :varattno 1  
            :vartype 1043  
            :vartypmod 14  
            :varlevelsup 0  
            :varnoold 1  
            :varoattno 1 
            }
          
            { VAR  
            :varno 2  
            :varattno 1  
            :vartype 1043  
            :vartypmod 14  
            :varlevelsup 0  
            :varnoold 2  
            :varoattno 1 
            }
         )
         }
       
         { EXPR  
         :typeOid 16  
         :opType or 
         :oper <> 
         :args (
            { EXPR  
            :typeOid 16  
            :opType op 
            :oper 
               { OPER  
               :opno 1062  
               :opid 0  
               :opresulttype 16 
               }
             
            :args (
               { VAR  
               :varno 2  
               :varattno 2  
               :vartype 1043  
               :vartypmod 9  
               :varlevelsup 0  
               :varnoold 2  
               :varoattno 2 
               }
             
               { CONST  
               :consttype 1043  
               :constlen -1  
               :constisnull false 
               :constvalue  9 [  9  0  0  0  54  51  49  48  48 ]  
               :constbyval false
               }
            )
            }
          
            { EXPR  
            :typeOid 16  
            :opType op 
            :oper 
               { OPER  
               :opno 1062  
               :opid 0  
               :opresulttype 16 
               }
             
            :args (
               { VAR  
               :varno 2  
               :varattno 2  
               :vartype 1043  
               :vartypmod 9  
               :varlevelsup 0  
               :varnoold 2  
               :varoattno 2 
               }
             
               { CONST  
               :consttype 1043  
               :constlen -1  
               :constisnull false 
               :constvalue  9 [  9  0  0  0  54  48  49  48  48 ]  
               :constbyval false
               }
            )
            }
         )
         }
      )
      }
    
   :groupClause <> 
   :havingQual <> 
   :hasAggs false 
   :hasSubLinks false 
   :unionClause <>
   }
shmem_exit(0) [#0]
pmdie 2
proc_exit(0) [#0]
shmem_exit(0) [#0]
exit(0)
 
Again, if the same query is issued, but there is only
once constact in the IN () list, i.e.:

SELECT employees.lastname, employees.firstname, employees.email, 
employees.phoneno, employees.department, employees.title,
employees.employee FROM employees, engineers WHERE employees.employee = 
engineers.employee AND engineers.costcntr IN ('63100');

the backend succeeds without a problem.

The table definitions are as follows:

Table    = employees
+----------------------------------+----------------------------------+-------+
|              Field               |              Type               
| Length|
+----------------------------------+----------------------------------+-------+
| employee                         | varchar() not null              
|    10 |
| lastname                         | varchar() not null              
|    20 |
| firstname                        | varchar() not null              
|    16 |
| reportsto                        | varchar() not null              
|    10 |
| email                            | varchar() not null              
|    50 |
| phoneno                          | varchar() not null              
|    16 |
| department                       | varchar() not null              
|    32 |
| title                            | varchar() not null              
|    32 |
+----------------------------------+----------------------------------+-------+
Index:    k_employees


Table    = engineers
+----------------------------------+----------------------------------+-------+
|              Field               |              Type               
| Length|
+----------------------------------+----------------------------------+-------+
| employee                         | varchar() not null              
|    10 |
| costcntr                         | varchar() not null              
|     5 |
+----------------------------------+----------------------------------+-------+
Index:    k_engineers 


The backend is the Beta1 release of 6.4 running on 
Linux slackware 2.0.35 with gcc 2.7.2.2 on a Pentium
200 Mhz, 32M RAM, and the following libraries:

ldconfig: version 1.9.5
/usr/local/lib:
/usr/X11R6/lib:
	libXtst.so.6 => libXtst.so.6.1
	libXt.so.6 => libXt.so.6.0
	libXp.so.6 => libXp.so.6.2
	libXmu.so.6 => libXmu.so.6.0
	libXi.so.6 => libXi.so.6.0
	libXext.so.6 => libXext.so.6.3
	libXaw.so.6 => libXaw.so.6.1
	libXIE.so.6 => libXIE.so.6.0
	libX11.so.6 => libX11.so.6.1
	libSM.so.6 => libSM.so.6.0
	libPEX5.so.6 => libPEX5.so.6.0
	libICE.so.6 => libICE.so.6.3
	libXpm.so.4 => libXpm.so.4.3
/usr/i486-linuxaout/lib:
	libPEX5.so.6 => libPEX5.so.6.0
	libXpm.so.4 => libXpm.so.4.3
	libXt.so.6 => libXt.so.6.0
	libXaw.so.6 => libXaw.so.6.0
	libXIE.so.6 => libXIE.so.6.0
	libX11.so.6 => libX11.so.6.0
	libXt.so.3 => libXt.so.3.1.0
	libXaw.so.3 => libXaw.so.3.1.0
	libX11.so.3 => libX11.so.3.1.0
	libdb.so.1 => libdb.so.1.85.1
	libvga.so.1 => libvga.so.1.2.9
/usr/openwin/lib:
	libsspkg.so.1 => libsspkg.so.1.0.0
	libxview.so.3 => libxview.so.3.2.2
	libolgx.so.3 => libolgx.so.3.2.2
/usr/local/pgsql/lib:
	libpq++.so.1 => libpq++.so.1
	libecpg.so.2 => libecpg.so.2.6.1
	libpq.so.1 => libpq.so.1
/usr/lib:
	libforms.so.0.88 => libforms.so.0.88
	libz.so.1 => libz.so.1.0.2
	libtiff.so.3 => libtiff.so.3.4.33
	librle.so.1 => librle.so.1.0.0
	libppm.so.1 => libppm.so.1.0.0
	libpnm.so.1 => libpnm.so.1.0.0
	libpng.so.1 => libpng.so.1.0.89
	libpgm.so.1 => libpgm.so.1.0.0
	libpbm.so.1 => libpbm.so.1.0.0
	libjpeg.so.6 => libjpeg.so.6.0.1
	libfbm.so.1 => libfbm.so.1.0.0
	libtkx.so.1 => libtkx.so.1.4.1
	libtclx.so.1 => libtclx.so.1.7.5
	libtk.so.1 => libtk.so.1.4.1
	libtcl.so.1 => libtcl.so.1.7.5
	libform.so.3.0 => libform.so.3.0.0
	libmenu.so.3.0 => libmenu.so.3.0.0
	libpanel.so.3.0 => libpanel.so.3.0.0
	libbfd.so.2.8.1.0.1 => libbfd.so.2.8.1.0.1
	libopcodes.so.2.8.1.0.1 => libopcodes.so.2.8.1.0.1
	libgpm.so.1 => libgpm.so.1.10
	libdb.so.1 => libdb.so.1.85.4
	libgdbm.so.2 => libgdbm.so.2.0.0
	libdb.so.2 => libdb.so.2.0.0
	libg++.so.27 => libg++.so.27.2.1
	libstdc++.so.27 => libstdc++.so.27.2.1
	libvgagl.so.1 => libvgagl.so.1.2.10
	libvga.so.1 => libvga.so.1.2.10
/lib:
	libncp.so.1 => libncp.so.1.0
	libdl.so.1 => libdl.so.1.9.5
	ld-linux.so.1 => ld-linux.so.1.9.5
	libtermcap.so.2 => libtermcap.so.2.0.8
	libm.so.5 => libm.so.5.0.9
	libgdbm.so.1 => libgdbm.so.1.7.3
	libcurses.so.1 => libcurses.so.1.0.0
	libc.so.5 => libc.so.5.4.33
	libncurses.so.3.0 => libncurses.so.3.0.0
	libe2p.so.2 => libe2p.so.2.3
	libext2fs.so.2 => libext2fs.so.2.3
	libss.so.2 => libss.so.2.0
	libuuid.so.1 => libuuid.so.1.1
	libcom_err.so.2 => libcom_err.so.2.0
	libc.so.4 => libc.so.4.7.6
	libm.so.4 => libm.so.4.6.27
	libcurses.so.0 => libcurses.so.0.1.2

The backend was built without any options...just
./configure ; make ; make install.
I hope this can be fixed as I love the feature richness
of postgresql.

Marcus Mascari





_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com


Mon, 21 Sep 1998 03:12:19 -0700 (PDT)
Marcus Mascari <mascarim@yahoo.com>
6.4 beta crashed backend