Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.10.x will end 8 November 2021 (12 months).
  • Bug fixes for security issues in 3.10.x will end 9 May 2022 (18 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 310 and 311] [Versions 310 and 400] [Versions 310 and 401] [Versions 310 and 402] [Versions 310 and 403]

   1  <?php
   2  /*
   3  @version   v5.20.16  12-Jan-2020
   4  @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved.
   5  @copyright (c) 2014      Damien Regad, Mark Newnham and the ADOdb community
   6    Released under both BSD license and Lesser GPL library license.
   7    Whenever there is any discrepancy between the two licenses,
   8    the BSD license will take precedence.
   9  Set tabs to 4 for best viewing.
  10  
  11    Latest version is available at http://adodb.org/
  12  
  13  */
  14  
  15  // security - hide paths
  16  if (!defined('ADODB_DIR')) die();
  17  
  18  include_once(ADODB_DIR."/drivers/adodb-ibase.inc.php");
  19  
  20  class ADODB_firebird extends ADODB_ibase {
  21  	 var $databaseType = "firebird";
  22  	 var $dialect = 3;
  23  
  24  	 var $sysTimeStamp = "CURRENT_TIMESTAMP"; //"cast('NOW' as timestamp)";
  25  
  26  	function ServerInfo()
  27  	 {
  28  	 	 $arr['dialect'] = $this->dialect;
  29  	 	 switch($arr['dialect']) {
  30  	 	 case '':
  31  	 	 case '1': $s = 'Firebird Dialect 1'; break;
  32  	 	 case '2': $s = 'Firebird Dialect 2'; break;
  33  	 	 default:
  34  	 	 case '3': $s = 'Firebird Dialect 3'; break;
  35  	 	 }
  36  	 	 $arr['version'] = ADOConnection::_findvers($s);
  37  	 	 $arr['description'] = $s;
  38  	 	 return $arr;
  39  	 }
  40  
  41  	 // Note that Interbase 6.5 uses this ROWS instead - don't you love forking wars!
  42  	 // 	 	 SELECT col1, col2 FROM table ROWS 5 -- get 5 rows
  43  	 //	 	 SELECT col1, col2 FROM TABLE ORDER BY col1 ROWS 3 TO 7 -- first 5 skip 2
  44  	function SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false, $secs=0)
  45  	 {
  46  	 	 $nrows = (integer) $nrows;
  47  	 	 $offset = (integer) $offset;
  48  	 	 $str = 'SELECT ';
  49  	 	 if ($nrows >= 0) $str .= "FIRST $nrows ";
  50  	 	 $str .=($offset>=0) ? "SKIP $offset " : '';
  51  
  52  	 	 $sql = preg_replace('/^[ \t]*select/i',$str,$sql);
  53  	 	 if ($secs)
  54  	 	 	 $rs = $this->CacheExecute($secs,$sql,$inputarr);
  55  	 	 else
  56  	 	 	 $rs = $this->Execute($sql,$inputarr);
  57  
  58  	 	 return $rs;
  59  	 }
  60  
  61  
  62  };
  63  
  64  
  65  class  ADORecordSet_firebird extends ADORecordSet_ibase {
  66  
  67  	 var $databaseType = "firebird";
  68  
  69  	function __construct($id,$mode=false)
  70  	 {
  71  	 	 parent::__construct($id,$mode);
  72  	 }
  73  }