home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / database / ingres / 2174 < prev    next >
Encoding:
Text File  |  1993-01-06  |  2.9 KB  |  76 lines

  1. Newsgroups: comp.databases.ingres
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!spool.mu.edu!umn.edu!bru!fermat!buntrock
  3. From: buntrock@mayo.edu (Jim Buntrock)
  4. Subject: SQL where claus limitations
  5. Message-ID: <1993Jan6.220615.2523@bmw.mayo.edu>
  6. Sender: buntrock@fermat (Jim Buntrock)
  7. Organization: Mayo Foundation, Rochester, Minnesota
  8. References: <ROBM.92Dec22120335@ishtar.Berkeley.EDU> <1993Jan5.004315.1@gsbacd.uchicago.edu> <1993Jan5.190338.23433@pony.Ingres.COM>
  9. Date: Wed, 6 Jan 93 22:06:15 GMT
  10. Lines: 64
  11.  
  12. I have been writing a retrieval application that generates a dynamic 
  13. where clause for a select statement.  Depending on complexity of the query
  14. this where-clause can get quite lengthy.  I know this query
  15. may be written differently, however, I am working with a dynamic 
  16. query generator, which may produce thousands of different where-clauses.  The
  17. following where-clauses are just a few examples:
  18.  
  19.   1> select *
  20.   2> from sirsworld s
  21.   3> where
  22.   4>        (s.proc = '14.24' and s.diag = '100')
  23.   5>    or  (s.proc = '14.25' and s.diag = '200')
  24.   6>    or  (s.proc = '14.26' and s.diag = '300')
  25.   7>    or  (s.proc = '14.30' and s.diag = '400')
  26.   8>    or  (s.proc = '14.31' and s.diag = '500')
  27.   9>    or  (s.proc = '14.32' and s.diag = '600')
  28.  10>    or  (s.proc = '14.33' and s.diag = '700')
  29.  11>  order by 1, 2
  30. E_OP0302 too many boolean
  31.     factors defined in query - query too complex
  32.     (Wed Jan  6 10:38:40 1993)
  33.  
  34. End of Request - Terminated by Errors
  35. -----------------------------------------------------------------
  36. If I add two more conjunctions I get the following error:
  37.  
  38.   1> select *
  39.   2> from sirsworld s
  40.   3> where
  41.   4>        (s.proc = '14.24' and s.diag = '100')
  42.   5>    or  (s.proc = '14.25' and s.diag = '200')
  43.   6>    or (s.proc = '14.26' and s.diag = '300' )
  44.   7>    or (s.proc = '14.27' and s.diag = '301' )
  45.   8>    or (s.proc = '14.28' and s.diag = '302' )
  46.   9>    or  (s.proc = '14.30' and s.diag = '400')
  47.  10>    or  (s.proc = '14.31' and s.diag = '500')
  48.  11>    or  (s.proc = '14.32' and s.diag = '600')
  49.  12>    or  (s.proc = '14.33' and s.diag = '700')
  50.  13>  order by 1, 2
  51. E_OP0002 optimizer ran out of
  52.     memory before generating execution plan
  53.     (Wed Jan  6 10:41:01 1993)
  54.  
  55. End of Request - Terminated by Errors
  56. ------------------------------------------------------------------- 
  57. I have tried increasing the memory of the QEP and still run into the
  58. OUT of memory error.  My concern is with the error of - E_OP0302 too 
  59. many boolean factors defined in query - query too complex -
  60. Does anyone know the limit of the number of boolean factors?  Can this 
  61. be changed?  Is this a finite limitation of Ingres?  Is the limit based
  62. on conjunctions or disjunctions?  Any suggestions?
  63.  
  64. ///////////////////////////////
  65. James Buntrock
  66. Analyst/Programmer
  67. Medical Information Resources
  68. Mayo Clinic
  69. 200 First Street SW
  70. Rochester, MN 55905
  71. email - buntrock@mayo.edu
  72. ///////////////////////////////
  73.  
  74. Keywords: 
  75.  
  76.