Slightly off topic for this list, but in any case, I don't
see a problem with it.  You don't mention version and platform.

I'm guessing you need to apply a patch as the two queries
produce the same execution plan on 9.2.0.4 on RH 8.0

Jared

-------------------------------------------------------------------------------------
| Id  | Operation                       |  Name             | Rows  |
Bytes | Cost  |
-------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                |                   |     1 |  
113 |     1 |
|   1 |  SORT GROUP BY                  |                   |     1 |  
113 |     1 |
|*  2 |   TABLE ACCESS BY INDEX ROWID   | LINEITEM          |     1 |   
52 |       |
|   3 |    NESTED LOOPS                 |                   |     1 |  
113 |     1 |
|   4 |     NESTED LOOPS                |                   |     1 |   
61 |     1 |
|   5 |      TABLE ACCESS BY INDEX ROWID| MARKET_X_COMPANY  |     1 |   
26 |     1 |
|   6 |       INDEX FULL SCAN           | IDX_MXC_2         |     1
|       |       |
|*  7 |      TABLE ACCESS BY INDEX ROWID| INVOICE           |     1 |   
35 |       |
|*  8 |       INDEX RANGE SCAN          | IDX_INVOICE_2     |     1
|       |       |
|*  9 |     INDEX RANGE SCAN            | IDX_LINEITEM_1    |     1
|       |       |
-------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   2 - filter("LINEITEM"."HOME_DELIVERY"=1)
   7 - filter("MARKET_X_COMPANY"."COMPANY"="INVOICE"."COMPANY")
   8 - access("INVOICE"."INVOICE_DATE">=TO_DATE('2003-01-01 00:00:00',
'yyyy-mm-dd
              hh24:mi:ss') AND
"INVOICE"."INVOICE_DATE"<=TO_DATE('2003-03-18 00:00:00',
              'yyyy-mm-dd hh24:mi:ss'))
   9 - access("LINEITEM"."INVOICE"="INVOICE"."ID")

Note: cpu costing is off

27 rows selected.


PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------
| Id  | Operation                       |  Name             | Rows  |
Bytes | Cost  |
-------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT                |                   |     1 |  
113 |     1 |
|   1 |  SORT GROUP BY                  |                   |     1 |  
113 |     1 |
|*  2 |   TABLE ACCESS BY INDEX ROWID   | LINEITEM          |     1 |   
52 |       |
|   3 |    NESTED LOOPS                 |                   |     1 |  
113 |     1 |
|   4 |     NESTED LOOPS                |                   |     1 |   
61 |     1 |
|   5 |      TABLE ACCESS BY INDEX ROWID| MARKET_X_COMPANY  |     1 |   
26 |     1 |
|   6 |       INDEX FULL SCAN           | IDX_MXC_2         |     1
|       |       |
|*  7 |      TABLE ACCESS BY INDEX ROWID| INVOICE           |     1 |   
35 |       |
|*  8 |       INDEX RANGE SCAN          | IDX_INVOICE_2     |     1
|       |       |
|*  9 |     INDEX RANGE SCAN            | IDX_LINEITEM_1    |     1
|       |       |
-------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   2 - filter("LINEITEM"."HOME_DELIVERY"=1)
   7 - filter("MARKET_X_COMPANY"."COMPANY"="INVOICE"."COMPANY" AND
              "MARKET_X_COMPANY"."COMPANY"="INVOICE"."COMPANY")
   8 - access("INVOICE"."INVOICE_DATE">=TO_DATE('2003-01-01 00:00:00',
'yyyy-mm-dd
              hh24:mi:ss') AND
"INVOICE"."INVOICE_DATE"<=TO_DATE('2003-03-18 00:00:00',
              'yyyy-mm-dd hh24:mi:ss'))
   9 - access("LINEITEM"."INVOICE"="INVOICE"."ID")

Note: cpu costing is off

On Fri, 2004-03-19 at 09:48, Kinyon, Rob wrote:
> Tim â
> 
>  
> 
>             FYI â I have found a reproducible CBO bug in Oracle 9i,
> latest patchset. I was wondering if you could look at it and tell me
> if you have any insight into it. Iâve attached a tar.gz containing
> five files â four setup scripts and a shell script that runs them in
> the correct order. It requires a connection to a database with
> scott/tiger set up.
> 
>  
> 
>             The bug is related to using the same where condition
> twice. (SELECT * FROM foo WHERE a = b AND a = b) I found it when doing
> some SQL generation.
> 
>  
> 
>             Iâm not looking for you to do anything with it re:
> DBD::Oracle â this is just a FYI.
> 
>  
> 
> Thanks,
> 
> Rob
> 
> 

Reply via email to