ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
oci8.php
Go to the documentation of this 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: oci8.php,v 1.14 2007/01/12 11:29:12 quipo Exp $
46 
47 require_once 'MDB2/Driver/Function/Common.php';
48 
57 {
58  // {{{ executeStoredProc()
59 
72  function &executeStoredProc($name, $params = null, $types = null, $result_class = true, $result_wrap_class = false)
73  {
74  $db =& $this->getDBInstance();
75  if (PEAR::isError($db)) {
76  return $db;
77  }
78 
79  $query = 'EXEC '.$name;
80  $query .= $params ? '('.implode(', ', $params).')' : '()';
81  return $db->query($query, $types, $result_class, $result_wrap_class);
82  }
83 
84  // }}}
85  // {{{ functionTable()
86 
93  function functionTable()
94  {
95  return ' FROM dual';
96  }
97 
98  // }}}
99  // {{{ now()
100 
111  function now($type = 'timestamp')
112  {
113  switch ($type) {
114  case 'date':
115  case 'time':
116  case 'timestamp':
117  default:
118  return 'TO_CHAR(CURRENT_TIMESTAMP, \'YYYY-MM-DD HH24:MI:SS\')';
119  }
120  }
121 
122  // }}}
123  // {{{ substring()
124 
131  function substring($value, $position = 1, $length = null)
132  {
133  if (!is_null($length)) {
134  return "SUBSTR($value, $position, $length)";
135  }
136  return "SUBSTR($value, $position)";
137  }
138 
139  // }}}
140  // {{{ random()
141 
148  function random()
149  {
150  return 'dbms_random.value';
151  }
152 
153  // }}}}
154  // {{{ guid()
155 
162  function guid()
163  {
164  return 'SYS_GUID()';
165  }
166 
167  // }}}}
168 }
169 ?>