I've traced the code, trying to figure out the cause of this issue.
If anyone can help clarify this I sure would appreciate it.  It
appears that the wrong fetchRow method is getting called from
DboSource.  Inside DboSource's hasAny method it creates an SQL query
and calls fetchRow:
$this->fetchRow( SQL );
and instead of branching to DboSource's fetchRow method (which expects
an SQL statement) it is going to the overloaded fetchRow in DboOracle
which does not expect any parameters.  So the query getting passed to
fetchRow isn't getting executed.  This would make perfect sense to me,
given that DboOracle is the child, however the parameters do not match
so I'd expect the call to stay in DboSource.

Is anyone else experiencing this?

Thanks!

On Jul 20, 4:51 pm, starkey <[EMAIL PROTECTED]> wrote:
> Hello!  I am a developer at the University of Richmond; we are an
> Oracle shop.  I am testing Cake for some projects we have planned and
> am using the Oracle driver (the version in 1.2alpha).  To learn Cake's
> functionality I'm walking through the 15 minute Blog tutorial from the
> manual.  I am having a problem when trying to delete records.  I've
> searched the Internet and cakephp.org and have not found a comment
> anywhere on this problem or a trac item so I figure I'm doing
> something wrong.  I'd be grateful if someone would enlighten me.
>
> This is what appears to happen:
> posts_controller.php calls Post->del($id)
> model_php5.php del() method calls exists()
>                          exists() calls hasAny()
> dbo_source.php hasAny() method calls fetchRow()
> dbo_oracle.php fetchRow() method starts with the following line
>                 if ($this->_currentRow >= $this->_numRows) {
> Problem: Both _currentRow and _numRows are empty so fetchRow returns
> false.  This is before any count(*) query has been executed and the
> record is never deleted.
>
> Here is the output when trying to delete a post:
> Warning: ocifreestatement(): 43 is not a valid oci8 statement resource
> in /WWW/external/devphpfw1/cake/cake/libs/model/dbo/dbo_oracle.php on
> line 323
>
> Warning: ocifreestatement(): 43 is not a valid oci8 statement resource
> in /WWW/external/devphpfw1/cake/cake/libs/model/dbo/dbo_oracle.php on
> line 323
>
> The post with id: 4 has been deleted.
>
> 3 queries took 253 ms Nr        Query   Error   Affected        Num. rows     
>   Took (ms)
> 1       ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'             
>   0               2
> 2       SELECT view_name AS name FROM user_views UNION SELECT table_name AS
> name FROM user_tables           3       3       246
> 3       SELECT COLUMN_NAME, DATA_TYPE FROM user_tab_columns WHERE table_name
> = 'POSTS'               5       5       5
>
> Thank you for any assistance!
> Shawn


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake 
PHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to