diff options
Diffstat (limited to 'framework/DataAccess/adodb/drivers/adodb-netezza.inc.php')
-rw-r--r-- | framework/DataAccess/adodb/drivers/adodb-netezza.inc.php | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/framework/DataAccess/adodb/drivers/adodb-netezza.inc.php b/framework/DataAccess/adodb/drivers/adodb-netezza.inc.php deleted file mode 100644 index c99e6f32..00000000 --- a/framework/DataAccess/adodb/drivers/adodb-netezza.inc.php +++ /dev/null @@ -1,170 +0,0 @@ -<?php -/* - V4.72 21 Feb 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved. - - First cut at the Netezza Driver by Josh Eldridge joshuae74#hotmail.com - Based on the previous postgres drivers. - http://www.netezza.com/ - Major Additions/Changes: - MetaDatabasesSQL, MetaTablesSQL, MetaColumnsSQL - Note: You have to have admin privileges to access the system tables - Removed non-working keys code (Netezza has no concept of keys) - Fixed the way data types and lengths are returned in MetaColumns() - as well as added the default lengths for certain types - Updated public variables for Netezza - Still need to remove blob functions, as Netezza doesn't suppport blob -*/ -// security - hide paths -if (!defined('ADODB_DIR')) die(); - -include_once(ADODB_DIR.'/drivers/adodb-postgres64.inc.php'); - -class ADODB_netezza extends ADODB_postgres64 { - var $databaseType = 'netezza'; - var $dataProvider = 'netezza'; - var $hasInsertID = false; - var $_resultid = false; - var $concat_operator='||'; - var $random = 'random'; - var $metaDatabasesSQL = "select objname from _v_object_data where objtype='database' order by 1"; - var $metaTablesSQL = "select objname from _v_object_data where objtype='table' order by 1"; - var $isoDates = true; // accepts dates in ISO format - var $sysDate = "CURRENT_DATE"; - var $sysTimeStamp = "CURRENT_TIMESTAMP"; - var $blobEncodeType = 'C'; - var $metaColumnsSQL = "SELECT attname, atttype FROM _v_relation_column_def WHERE name = '%s' AND attnum > 0 ORDER BY attnum"; - var $metaColumnsSQL1 = "SELECT attname, atttype FROM _v_relation_column_def WHERE name = '%s' AND attnum > 0 ORDER BY attnum"; - // netezza doesn't have keys. it does have distributions, so maybe this is - // something that can be pulled from the system tables - var $metaKeySQL = ""; - var $hasAffectedRows = true; - var $hasLimit = true; - var $true = 't'; // string that represents TRUE for a database - var $false = 'f'; // string that represents FALSE for a database - var $fmtDate = "'Y-m-d'"; // used by DBDate() as the default date format used by the database - var $fmtTimeStamp = "'Y-m-d G:i:s'"; // used by DBTimeStamp as the default timestamp fmt. - var $ansiOuter = true; - var $autoRollback = true; // apparently pgsql does not autorollback properly before 4.3.4 - // http://bugs.php.net/bug.php?id=25404 - - - function ADODB_netezza() - { - - } - - function &MetaColumns($table,$upper=true) - { - - // Changed this function to support Netezza which has no concept of keys - // could posisbly work on other things from the system table later. - - global $ADODB_FETCH_MODE; - - $table = strtolower($table); - - $save = $ADODB_FETCH_MODE; - $ADODB_FETCH_MODE = ADODB_FETCH_NUM; - if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false); - - $rs =& $this->Execute(sprintf($this->metaColumnsSQL,$table,$table)); - if (isset($savem)) $this->SetFetchMode($savem); - $ADODB_FETCH_MODE = $save; - - if ($rs === false) return false; - - $retarr = array(); - while (!$rs->EOF) { - $fld = new ADOFieldObject(); - $fld->name = $rs->fields[0]; - - // since we're returning type and length as one string, - // split them out here. - - if ($first = strstr($rs->fields[1], "(")) { - $fld->max_length = trim($first, "()"); - } else { - $fld->max_length = -1; - } - - if ($first = strpos($rs->fields[1], "(")) { - $fld->type = substr($rs->fields[1], 0, $first); - } else { - $fld->type = $rs->fields[1]; - } - - switch ($fld->type) { - case "byteint": - case "boolean": - $fld->max_length = 1; - break; - case "smallint": - $fld->max_length = 2; - break; - case "integer": - case "numeric": - case "date": - $fld->max_length = 4; - break; - case "bigint": - case "time": - case "timestamp": - $fld->max_length = 8; - break; - case "timetz": - case "time with time zone": - $fld->max_length = 12; - break; - } - - if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] = $fld; - else $retarr[($upper) ? strtoupper($fld->name) : $fld->name] = $fld; - - $rs->MoveNext(); - } - $rs->Close(); - return $retarr; - - } - - -} - -/*-------------------------------------------------------------------------------------- - Class Name: Recordset ---------------------------------------------------------------------------------------*/ - -class ADORecordSet_netezza extends ADORecordSet_postgres64 -{ - var $databaseType = "netezza"; - var $canSeek = true; - - function ADORecordSet_netezza($queryID,$mode=false) - { - if ($mode === false) { - global $ADODB_FETCH_MODE; - $mode = $ADODB_FETCH_MODE; - } - switch ($mode) - { - case ADODB_FETCH_NUM: $this->fetchMode = PGSQL_NUM; break; - case ADODB_FETCH_ASSOC:$this->fetchMode = PGSQL_ASSOC; break; - - case ADODB_FETCH_DEFAULT: - case ADODB_FETCH_BOTH: - default: $this->fetchMode = PGSQL_BOTH; break; - } - $this->adodbFetchMode = $mode; - $this->ADORecordSet($queryID); - } - - // _initrs modified to disable blob handling - function _initrs() - { - global $ADODB_COUNTRECS; - $this->_numOfRows = ($ADODB_COUNTRECS)? @pg_numrows($this->_queryID):-1; - $this->_numOfFields = @pg_numfields($this->_queryID); - } - -} -?> |