PageRenderTime 17ms CodeModel.GetById 11ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 1ms

/gespac/config/PEAR/MDB2/Driver/Function/mysql.php

http://gespac.googlecode.com/
PHP | 120 lines | 25 code | 9 blank | 86 comment | 1 complexity | 54729ab7af0409360ec0cccbf3e3d1e5 MD5 | raw file
  1<?php
  2// +----------------------------------------------------------------------+
  3// | PHP versions 4 and 5                                                 |
  4// +----------------------------------------------------------------------+
  5// | Copyright (c) 1998-2006 Manuel Lemos, Tomas V.V.Cox,                 |
  6// | Stig. S. Bakken, Lukas Smith                                         |
  7// | All rights reserved.                                                 |
  8// +----------------------------------------------------------------------+
  9// | MDB2 is a merge of PEAR DB and Metabases that provides a unified DB  |
 10// | API as well as database abstraction for PHP applications.            |
 11// | This LICENSE is in the BSD license style.                            |
 12// |                                                                      |
 13// | Redistribution and use in source and binary forms, with or without   |
 14// | modification, are permitted provided that the following conditions   |
 15// | are met:                                                             |
 16// |                                                                      |
 17// | Redistributions of source code must retain the above copyright       |
 18// | notice, this list of conditions and the following disclaimer.        |
 19// |                                                                      |
 20// | Redistributions in binary form must reproduce the above copyright    |
 21// | notice, this list of conditions and the following disclaimer in the  |
 22// | documentation and/or other materials provided with the distribution. |
 23// |                                                                      |
 24// | Neither the name of Manuel Lemos, Tomas V.V.Cox, Stig. S. Bakken,    |
 25// | Lukas Smith nor the names of his contributors may be used to endorse |
 26// | or promote products derived from this software without specific prior|
 27// | written permission.                                                  |
 28// |                                                                      |
 29// | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS  |
 30// | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT    |
 31// | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS    |
 32// | FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE      |
 33// | REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,          |
 34// | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
 35// | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS|
 36// |  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED  |
 37// | AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT          |
 38// | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY|
 39// | WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE          |
 40// | POSSIBILITY OF SUCH DAMAGE.                                          |
 41// +----------------------------------------------------------------------+
 42// | Author: Lukas Smith <smith@pooteeweet.org>                           |
 43// +----------------------------------------------------------------------+
 44//
 45// $Id: mysql.php,v 1.11 2007/01/12 11:29:12 quipo Exp $
 46//
 47
 48require_once 'MDB2/Driver/Function/Common.php';
 49
 50/**
 51 * MDB2 MySQL driver for the function modules
 52 *
 53 * @package MDB2
 54 * @category Database
 55 * @author  Lukas Smith <smith@pooteeweet.org>
 56 */
 57class MDB2_Driver_Function_mysql extends MDB2_Driver_Function_Common
 58{
 59     // }}}
 60    // {{{ executeStoredProc()
 61
 62    /**
 63     * Execute a stored procedure and return any results
 64     *
 65     * @param string $name string that identifies the function to execute
 66     * @param mixed  $params  array that contains the paramaters to pass the stored proc
 67     * @param mixed   $types  array that contains the types of the columns in
 68     *                        the result set
 69     * @param mixed $result_class string which specifies which result class to use
 70     * @param mixed $result_wrap_class string which specifies which class to wrap results in
 71     * @return mixed a result handle or MDB2_OK on success, a MDB2 error on failure
 72     * @access public
 73     */
 74    function &executeStoredProc($name, $params = null, $types = null, $result_class = true, $result_wrap_class = false)
 75    {
 76        $db =& $this->getDBInstance();
 77        if (PEAR::isError($db)) {
 78            return $db;
 79        }
 80
 81        $query = 'CALL '.$name;
 82        $query .= $params ? '('.implode(', ', $params).')' : '()';
 83        return $db->query($query, $types, $result_class, $result_wrap_class);
 84    }
 85
 86    // }}}
 87    // {{{ concat()
 88
 89    /**
 90     * Returns string to concatenate two or more string parameters
 91     *
 92     * @param string $value1
 93     * @param string $value2
 94     * @param string $values...
 95     * @return string to concatenate two strings
 96     * @access public
 97     **/
 98    function concat($value1, $value2)
 99    {
100        $args = func_get_args();
101        return "CONCAT(".implode(', ', $args).")";
102    }
103
104    // }}}
105    // {{{ guid()
106
107    /**
108     * Returns global unique identifier
109     *
110     * @return string to get global unique identifier
111     * @access public
112     */
113    function guid()
114    {
115        return 'UUID()';
116    }
117
118    // }}}
119}
120?>