00001 <?php 00002 /* 00003 * $Id: ODBCDatabaseInfo.php,v 1.2 2006/01/17 19:44:39 hlellelid Exp $ 00004 * 00005 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00006 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00007 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 00008 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 00009 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00010 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00011 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00012 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00013 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00014 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00015 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00016 * 00017 * This software consists of voluntary contributions made by many individuals 00018 * and is licensed under the LGPL. For more information please see 00019 * <http://creole.phpdb.org>. 00020 */ 00021 00022 require_once 'creole/metadata/DatabaseInfo.php'; 00023 00034 class ODBCDatabaseInfo extends DatabaseInfo { 00035 00039 protected function initTables() 00040 { 00041 include_once 'creole/drivers/odbc/metadata/ODBCTableInfo.php'; 00042 00043 $result = @odbc_tables($this->conn->getResource()); 00044 00045 if (!$result) 00046 throw new SQLException('Could not list tables', $this->conn->nativeError()); 00047 00048 while (odbc_fetch_row($result)) 00049 { 00050 $tablename = strtoupper(odbc_result($result, 'TABLE_NAME')); 00051 $this->tables[$tablename] = new ODBCTableInfo($this, $tablename); 00052 } 00053 00054 @odbc_free_result($result); 00055 } 00056 00061 protected function initSequences() 00062 { 00063 // Not sure how this is used yet. 00064 } 00065 00066 }