Package home | Report new bug | New search | Development Roadmap Status: Open | Feedback | All | Closed Since Version 1.5.0b4

Bug #8531 tableInfo() fails due to lob locator index
Submitted: 2006-08-22 10:51 UTC
From: dv at allyoucanthink dot de Assigned: lsmith
Status: Closed Package: MDB2_Driver_oci8 (version 1.0.1)
PHP Version: Irrelevant OS: irrelevant
Roadmaps: (Not assigned)    
Subscription  


 [2006-08-22 10:51 UTC] dv at allyoucanthink dot de (Dmitri Vinogradov)
Description: ------------ call of tableInfo() on tables containing some LOB fields fails on getTableIndexDefinition() for lob locator index. Oracle creates automatically lob locator index starting with SYS_IL*** for every LOB field but there's no records for this index in user_ind_columns.

Comments

 [2006-08-22 10:55 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!
 [2006-08-22 11:09 UTC] dv at allyoucanthink dot de
well... adding following lines at the begin of MDB2_Driver_Reverse_oci8::getTableIndexDefinition() solves this problem in my particular case. if(substr(strtoupper($index_name),0, 6) == 'SYS_IL') { return null; }
 [2006-08-22 11:25 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!
 [2006-08-22 11:52 UTC] dv at allyoucanthink dot de
It seems like any system generated index has a flag in user_indexes: user_indexes.generated = 'Y'. So the changing the query in MDB2_Driver_Manager_oci8::listTableIndexes() as bellow solves the problem more elegant. AFAIK all table names in this view are upper case $query = 'SELECT index_name name FROM user_indexes'; $query.= ' WHERE table_name='.strtoupper($table); $query.= ' AND generated=' .$db->quote('N', 'text');
 [2006-08-22 11:59 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!
 [2006-08-26 15:05 UTC] User who submitted this comment has not confirmed identity
If you submitted this note, check your email.If you do not have a message, click here to re-send
MANUAL CONFIRMATION IS NOT POSSIBLE.  Write a message to pear-dev@lists.php.net
to request the confirmation link.  All bugs/comments/patches associated with this

email address will be deleted within 48 hours if the account request is not confirmed!