Categories
- All Categories
- 15 Oracle Analytics Sharing Center
- 14 Oracle Analytics Lounge
- 211 Oracle Analytics News
- 41 Oracle Analytics Videos
- 15.7K Oracle Analytics Forums
- 6.1K Oracle Analytics Idea Labs
- Oracle Analytics User Groups
- 77 Oracle Analytics Trainings
- 14 Oracle Analytics Data Visualizations Challenge
- Find Partners
- For Partners
SQL Sent to Database Does Not Include Filter Criteria

Upon investigating long query times, I noticed the SQL being sent to the server does not include the date filter provided in Answers. This results in the query run on the database to return all rows, then the result set is being filtered at the BI Server. While the end result is correct, the production database has millions of rows and this is not an idea situation. Below is an example of my log file. As you can see, the "Execution Plan" includes a filter for Request.Date Created and Request.Status, but the query sent to the database only includes the filter on Request.Status.
Does anyone have any ideas on why this particular column is not being filtered via the SQL sent to the database? I'm using OBIEE 10g.
-------------------- Logical Request (before navigation):
RqList distinct
Request.Request Id as c1 GB,
Request.Status as c2 GB,
Request.Date Created as c3 GB
DetailFilter: Request.Status = 'Open' and Request.Date Created > TIMESTAMP '2017-01-01 00:00:00.000'
OrderBy: c1 asc, c2 asc, c3 asc
-------------------- Execution plan:
RqList <<8326>> [for database 0:0,0] distinct
D1.c1 as c1 GB [for database 0:0,0],
D1.c2 as c2 GB [for database 0:0,0],
D1.c3 as c3 GB [for database 0:0,0]
Child Nodes (RqJoinSpec): <<8375>> [for database 0:0,0]
(
RqList <<8412>> [for database 0:0,0]
D1.c1 as c1 [for database 0:0,0],
D1.c2 as c2 [for database 0:0,0],
D1.c3 as c3 [for database 0:0,0]
Child Nodes (RqJoinSpec): <<8427>> [for database 0:0,0]
(
RqList <<8333>> [for database 3023:48433:CSRP,2]
_REQUEST (VW_R_REQUEST).request_num as c1 GB [for database 3023:48433,2],
_REQUEST (VW_R_REQUEST).status as c2 GB [for database 3023:48433,2],
_REQUEST (VW_R_REQUEST).create_date as c3 GB [for database 3023:48433,2]
Child Nodes (RqJoinSpec): <<8361>> [for database 3023:48433:CSRP,2]
vw_r_request T48474
DetailFilter: _REQUEST (VW_R_REQUEST).status = 'Open' [for database 0:0]
) as D1
DetailFilter: TIMESTAMP '2017-01-01 00:00:00.000' < D1.c3 [for database 0:0]
) as D1
OrderBy: c1 asc, c2 asc, c3 asc [for database 0:0,0]
-------------------- Sending query to database named CSRP (id: <<8333>>):
select distinct T48474."request_num" as c1,
T48474."status" as c2,
T48474."create_date" as c3
from
"vw_r_request" T48474
where ( T48474."status" = 'Open' )
Answers
-
Posting this for the benefit of others. The database used for queries is PostgreSQL 9.6. I had to enable the "DATE_LITERAL_SUPPORTED", "TIME_LITERAL_SUPPORTED", and "DATE_TIME_LITERAL_SUPPORTED" feature under the database features tab in Administration.
0