Tuesday, March 29, 2011

Re: ODBC listSources() giving Out of Memory

Yep, here's the offending code (also available in the github repo for
CakePHP Datasources).

/**
* Returns an array of sources (tables) in the database.
*
* @return array Array of tablenames in the database
*/
function listSources() {
$cache = parent::listSources();
if ($cache != null) {
return $cache;
}

$result = odbc_tables($this->connection, "", $this-
>config['schema']);
$tables = array();
while (odbc_fetch_row($result)) {
$result = odbc_result($result, "TABLE_NAME");
array_push($tables, $result);
}

parent::listSources($tables);
return $tables;
}

On Mar 28, 2:36 pm, cricket <zijn.digi...@gmail.com> wrote:
> On Mon, Mar 28, 2011 at 12:49 PM, mhamann <matthew.ham...@gmail.com> wrote:
> > More info...
>
> > I've been tearing apart the listSources() method in attempts to figure
> > out what's going on. I ran PHP's odbc_result_all() method on the
> > result and got a table with the correct number of rows, but with
> > really weird, messed up data. Instead of containing info from my DB,
> > it seemed to contain the names of 4 files in my dbo and datasources
> > directory. Looks something like this...
>
> > TABLE_CAT                                                                                                                                               TABLE_SCHEM
> > TABLE_NAME                                                                                                                              TABLE_TYPE      REMARKS
> > Ü  //app/plugins/datasources/models/datasources/dbo/dbo_db2.php  Ûþ¨//
> > app/plugins/datasources/models/datasources/dbo/dbo_adodb.php     Ü (//app/
> > plugins/datasources/models/datasources/xmlrpc_source.php         Ûý˜//app/
> > plugins/datasources/models/datasources/soap_source.php
> > Ü  //app/plugins/datasources/models/datasources/dbo/dbo_db2.php  Ûþ¨//
> > app/plugins/datasources/models/datasources/dbo/dbo_adodb.php     Ü (//app/
> > plugins/datasources/models/datasources/xmlrpc_source.php         Ûý˜//app/
> > plugins/datasources/models/datasources/soap_source.php
> > Ü  //app/plugins/datasources/models/datasources/dbo/dbo_db2.php  Ûþ¨//
> > app/plugins/datasources/models/datasources/dbo/dbo_adodb.php     Ü (//app/
> > plugins/datasources/models/datasources/xmlrpc_source.php         Ûý˜//app/
> > plugins/datasources/models/datasources/soap_source.php
> > Ü  //app/plugins/datasources/models/datasources/dbo/dbo_db2.php  Ûþ¨//
> > app/plugins/datasources/models/datasources/dbo/dbo_adodb.php     Ü (//app/
> > plugins/datasources/models/datasources/xmlrpc_source.php         Ûý˜//app/
> > plugins/datasources/models/datasources/soap_source.php
> > Ü  //app/plugins/datasources/models/datasources/dbo/dbo_db2.php  Ûþ¨//
> > app/plugins/datasources/models/datasources/dbo/dbo_adodb.php     Ü (//app/
> > plugins/datasources/models/datasources/xmlrpc_source.php         Ûý˜//app/
> > plugins/datasources/models/datasources/soap_source.php
> > Ü  //app/plugins/datasources/models/datasources/dbo/dbo_db2.php  Ûþ¨//
> > app/plugins/datasources/models/datasources/dbo/dbo_adodb.php     Ü (//app/
> > plugins/datasources/models/datasources/xmlrpc_source.php         Ûý˜//app/
> > plugins/datasources/models/datasources/soap_source.php
>
> > Never seen anything like this before...
>
> Could you post some of the code itself?

--
Our newest site for the community: CakePHP Video Tutorials http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others with their CakePHP related questions.


To unsubscribe from this group, send email to
cake-php+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php

No comments: