Skip to content

Commit

Permalink
Add missing files from ADOdb 5.11
Browse files Browse the repository at this point in the history
Commit b8b2114 forgot to add new files
in the ADOdb 5.11 release.
  • Loading branch information
davidhicks committed May 18, 2010
1 parent b4e8a66 commit dc434fe
Show file tree
Hide file tree
Showing 2 changed files with 169 additions and 0 deletions.
89 changes: 89 additions & 0 deletions library/adodb/datadict/datadict-sqlite.inc.php
@@ -0,0 +1,89 @@
<?php

/**
V5.11 5 May 2010 (c) 2000-2010 John Lim (jlim#natsoft.com). All rights reserved.
Released under both BSD license and Lesser GPL library license.
Whenever there is any discrepancy between the two licenses,
the BSD license will take precedence.
Set tabs to 4 for best viewing.
SQLite datadict Andrei Besleaga
*/

// security - hide paths
if (!defined('ADODB_DIR')) die();

class ADODB2_sqlite extends ADODB_DataDict {
var $databaseType = 'sqlite';
var $seqField = false;
var $addCol=' ADD COLUMN';
var $dropTable = 'DROP TABLE IF EXISTS %s';
var $dropIndex = 'DROP INDEX IF EXISTS %s';
var $renameTable = 'ALTER TABLE %s RENAME TO %s';



function ActualType($meta)
{
switch(strtoupper($meta)) {
case 'C': return 'VARCHAR'; // TEXT , TEXT affinity
case 'XL':return 'LONGTEXT'; // TEXT , TEXT affinity
case 'X': return 'TEXT'; // TEXT , TEXT affinity

case 'C2': return 'VARCHAR'; // TEXT , TEXT affinity
case 'X2': return 'LONGTEXT'; // TEXT , TEXT affinity

case 'B': return 'LONGBLOB'; // TEXT , NONE affinity , BLOB

case 'D': return 'DATE'; // NUMERIC , NUMERIC affinity
case 'T': return 'DATETIME'; // NUMERIC , NUMERIC affinity
case 'L': return 'TINYINT'; // NUMERIC , INTEGER affinity

case 'R':
case 'I4':
case 'I': return 'INTEGER'; // NUMERIC , INTEGER affinity
case 'I1': return 'TINYINT'; // NUMERIC , INTEGER affinity
case 'I2': return 'SMALLINT'; // NUMERIC , INTEGER affinity
case 'I8': return 'BIGINT'; // NUMERIC , INTEGER affinity

case 'F': return 'DOUBLE'; // NUMERIC , REAL affinity
case 'N': return 'NUMERIC'; // NUMERIC , NUMERIC affinity
default:
return $meta;
}
}

// return string must begin with space
function _CreateSuffix($fname,$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
{
$suffix = '';
if ($funsigned) $suffix .= ' UNSIGNED';
if ($fnotnull) $suffix .= ' NOT NULL';
if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault";
if ($fautoinc) $suffix .= ' AUTOINCREMENT';
if ($fconstraint) $suffix .= ' '.$fconstraint;
return $suffix;
}

function AlterColumnSQL($tabname, $flds)
{
if ($this->debug) ADOConnection::outp("AlterColumnSQL not supported natively by SQLite");
return array();
}

function DropColumnSQL($tabname, $flds)
{
if ($this->debug) ADOConnection::outp("DropColumnSQL not supported natively by SQLite");
return array();
}

function RenameColumnSQL($tabname,$oldcolumn,$newcolumn,$flds='')
{
if ($this->debug) ADOConnection::outp("RenameColumnSQL not supported natively by SQLite");
return array();
}

}
?>
80 changes: 80 additions & 0 deletions library/adodb/drivers/adodb-db2ora.inc.php
@@ -0,0 +1,80 @@
<?php
/*
V5.11 5 May 2010 (c) 2000-2010 John Lim (jlim#natsoft.com). All rights reserved.
Released under both BSD license and Lesser GPL library license.
Whenever there is any discrepancy between the two licenses,
the BSD license will take precedence.
Set tabs to 4 for best viewing.
Latest version is available at http://adodb.sourceforge.net
Microsoft Visual FoxPro data driver. Requires ODBC. Works only on MS Windows.
*/

// security - hide paths
if (!defined('ADODB_DIR')) die();
include(ADODB_DIR."/drivers/adodb-db2.inc.php");


if (!defined('ADODB_DB2OCI')){
define('ADODB_DB2OCI',1);


function _colontrack($p)
{
global $_COLONARR,$_COLONSZ;
$v = (integer) substr($p,1);
if ($v > $_COLONSZ) return $p;
$_COLONARR[] = $v;
return '?';
}

function _colonscope($sql,$arr)
{
global $_COLONARR,$_COLONSZ;

$_COLONARR = array();
$_COLONSZ = sizeof($arr);

$sql2 = preg_replace("/(:[0-9]+)/e","_colontrack('\\1')",$sql);

if (empty($_COLONARR)) return array($sql,$arr);

foreach($_COLONARR as $k => $v) {
$arr2[] = $arr[$v];
}

return array($sql2,$arr2);
}

class ADODB_db2oci extends ADODB_db2 {
var $databaseType = "db2oci";
var $sysTimeStamp = 'sysdate';
var $sysDate = 'trunc(sysdate)';

function ADODB_db2oci()
{
$this->ADODB_db2();
}


function _Execute($sql, $inputarr)
{
if ($inputarr) list($sql,$inputarr) = _colonscope($sql, $inputarr);
return parent::_Execute($sql, $inputarr);
}
};


class ADORecordSet_db2oci extends ADORecordSet_odbc {

var $databaseType = "db2oci";

function ADORecordSet_db2oci($id,$mode=false)
{
return $this->ADORecordSet_db2($id,$mode);
}
}

} //define
?>

0 comments on commit dc434fe

Please sign in to comment.