home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.databases.ingres
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!spool.mu.edu!umn.edu!bru!fermat!buntrock
- From: buntrock@mayo.edu (Jim Buntrock)
- Subject: SQL where claus limitations
- Message-ID: <1993Jan6.220615.2523@bmw.mayo.edu>
- Sender: buntrock@fermat (Jim Buntrock)
- Organization: Mayo Foundation, Rochester, Minnesota
- References: <ROBM.92Dec22120335@ishtar.Berkeley.EDU> <1993Jan5.004315.1@gsbacd.uchicago.edu> <1993Jan5.190338.23433@pony.Ingres.COM>
- Date: Wed, 6 Jan 93 22:06:15 GMT
- Lines: 64
-
- I have been writing a retrieval application that generates a dynamic
- where clause for a select statement. Depending on complexity of the query
- this where-clause can get quite lengthy. I know this query
- may be written differently, however, I am working with a dynamic
- query generator, which may produce thousands of different where-clauses. The
- following where-clauses are just a few examples:
-
- 1> select *
- 2> from sirsworld s
- 3> where
- 4> (s.proc = '14.24' and s.diag = '100')
- 5> or (s.proc = '14.25' and s.diag = '200')
- 6> or (s.proc = '14.26' and s.diag = '300')
- 7> or (s.proc = '14.30' and s.diag = '400')
- 8> or (s.proc = '14.31' and s.diag = '500')
- 9> or (s.proc = '14.32' and s.diag = '600')
- 10> or (s.proc = '14.33' and s.diag = '700')
- 11> order by 1, 2
- E_OP0302 too many boolean
- factors defined in query - query too complex
- (Wed Jan 6 10:38:40 1993)
-
- End of Request - Terminated by Errors
- -----------------------------------------------------------------
- If I add two more conjunctions I get the following error:
-
- 1> select *
- 2> from sirsworld s
- 3> where
- 4> (s.proc = '14.24' and s.diag = '100')
- 5> or (s.proc = '14.25' and s.diag = '200')
- 6> or (s.proc = '14.26' and s.diag = '300' )
- 7> or (s.proc = '14.27' and s.diag = '301' )
- 8> or (s.proc = '14.28' and s.diag = '302' )
- 9> or (s.proc = '14.30' and s.diag = '400')
- 10> or (s.proc = '14.31' and s.diag = '500')
- 11> or (s.proc = '14.32' and s.diag = '600')
- 12> or (s.proc = '14.33' and s.diag = '700')
- 13> order by 1, 2
- E_OP0002 optimizer ran out of
- memory before generating execution plan
- (Wed Jan 6 10:41:01 1993)
-
- End of Request - Terminated by Errors
- -------------------------------------------------------------------
- I have tried increasing the memory of the QEP and still run into the
- OUT of memory error. My concern is with the error of - E_OP0302 too
- many boolean factors defined in query - query too complex -
- Does anyone know the limit of the number of boolean factors? Can this
- be changed? Is this a finite limitation of Ingres? Is the limit based
- on conjunctions or disjunctions? Any suggestions?
-
- ///////////////////////////////
- James Buntrock
- Analyst/Programmer
- Medical Information Resources
- Mayo Clinic
- 200 First Street SW
- Rochester, MN 55905
- email - buntrock@mayo.edu
- ///////////////////////////////
-
- Keywords:
-
-