00001 <?php 00002 /* 00003 * $Id: MySQLAdapter.php,v 1.1 2004/07/27 23:08:30 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/drivers/odbc/ODBCCachedResultSet.php'; 00023 require_once 'creole/drivers/odbc/ODBCResultSet.php'; 00024 require_once 'creole/drivers/odbc/adapters/ODBCAdapter.php'; 00025 00037 class MySQLAdapter extends ODBCAdapter 00038 { 00042 public function hasLimitOffset() 00043 { 00044 return true; 00045 } 00046 00050 public function applyLimit(&$sql, $offset, $limit) 00051 { 00052 if ( $limit > 0 ) { 00053 $sql .= " LIMIT " . ($offset > 0 ? $offset . ", " : "") . $limit; 00054 } else if ( $offset > 0 ) { 00055 $sql .= " LIMIT " . $offset . ", 18446744073709551615"; 00056 } 00057 } 00058 00062 public function escape($str) 00063 { 00064 return addslashes($str); 00065 } 00066 00070 public function createResultSet($conn, $odbcresult, $fetchmode) 00071 { 00072 // return new ODBCCachedResultSet($conn, $odbcresult, $fetchmode, true); 00073 return new ODBCResultSet($conn, $odbcresult, $fetchmode); 00074 } 00075 00076 } 00077 00078 ?>