diff options
| author | Damien Regad <dregad@mantisbt.org> | 2021-08-22 12:26:35 +0200 |
|---|---|---|
| committer | Damien Regad <dregad@mantisbt.org> | 2021-08-22 12:26:35 +0200 |
| commit | 5a6bc22606c1a137ec7447097895b6077490f7f7 (patch) | |
| tree | 8e2b81c6f3b41628fa7ee4176410d10833aeaf08 /datadict | |
| parent | 256ef62bcc71b993bea2494b08e84f42b64ce4b3 (diff) | |
| download | adodb-5a6bc22606c1a137ec7447097895b6077490f7f7.tar.gz adodb-5a6bc22606c1a137ec7447097895b6077490f7f7.tar.bz2 adodb-5a6bc22606c1a137ec7447097895b6077490f7f7.zip | |
Fix Whitespace, coding guidelines, PHPDoc
Diffstat (limited to 'datadict')
| -rw-r--r-- | datadict/datadict-firebird.inc.php | 255 |
1 files changed, 142 insertions, 113 deletions
diff --git a/datadict/datadict-firebird.inc.php b/datadict/datadict-firebird.inc.php index af72e176..4f114310 100644 --- a/datadict/datadict-firebird.inc.php +++ b/datadict/datadict-firebird.inc.php @@ -22,8 +22,8 @@ // security - hide paths if (!defined('ADODB_DIR')) die(); -class ADODB2_firebird extends ADODB_DataDict { - +class ADODB2_firebird extends ADODB_DataDict +{ var $databaseType = 'firebird'; var $seqField = false; var $seqPrefix = 's_'; @@ -32,77 +32,91 @@ class ADODB2_firebird extends ADODB_DataDict { var $alterCol = ' ALTER'; var $dropCol = ' DROP'; - function ActualType($meta) + function actualType($meta) { - + $meta = strtoupper($meta); - - /* - * Add support for custom meta types. We do this - * first, that allows us to override existing types - */ - if (isset($this->connection->customMetaTypes[$meta])) + + // Add support for custom meta types. + // We do this first, that allows us to override existing types + if (isset($this->connection->customMetaTypes[$meta])) { return $this->connection->customMetaTypes[$meta]['actual']; - + } + switch($meta) { - case 'C': return 'VARCHAR'; - case 'XL': return 'BLOB SUB_TYPE BINARY'; - case 'X': return 'BLOB SUB_TYPE TEXT'; + case 'C': + return 'VARCHAR'; + case 'XL': + return 'BLOB SUB_TYPE BINARY'; + case 'X': + return 'BLOB SUB_TYPE TEXT'; - case 'C2': return 'VARCHAR(32765)'; // up to 32K - case 'X2': return 'VARCHAR(4096)'; + case 'C2': + return 'VARCHAR(32765)'; // up to 32K + case 'X2': + return 'VARCHAR(4096)'; - case 'V': return 'CHAR'; - case 'C1': return 'CHAR(1)'; + case 'V': + return 'CHAR'; + case 'C1': + return 'CHAR(1)'; - case 'B': return 'BLOB'; + case 'B': + return 'BLOB'; - case 'D': return 'DATE'; - case 'TS': - case 'T': return 'TIMESTAMP'; + case 'D': + return 'DATE'; + case 'TS': + case 'T': + return 'TIMESTAMP'; - case 'L': return 'SMALLINT'; - case 'I': return 'INTEGER'; - case 'I1': return 'SMALLINT'; - case 'I2': return 'SMALLINT'; - case 'I4': return 'INTEGER'; - case 'I8': return 'BIGINT'; + case 'L': + case 'I1': + case 'I2': + return 'SMALLINT'; + case 'I': + case 'I4': + return 'INTEGER'; + case 'I8': + return 'BIGINT'; - case 'F': return 'DOUBLE PRECISION'; - case 'N': return 'DECIMAL'; - default: - return $meta; + case 'F': + return 'DOUBLE PRECISION'; + case 'N': + return 'DECIMAL'; + default: + return $meta; } } - function NameQuote($name = NULL,$allowBrackets=false) + function nameQuote($name = null, $allowBrackets = false) { if (!is_string($name)) { - return FALSE; + return false; } $name = trim($name); - if ( !is_object($this->connection) ) { + if (!is_object($this->connection)) { return $name; } $quote = $this->connection->nameQuote; // if name is of the form `name`, quote it - if ( preg_match('/^`(.+)`$/', $name, $matches) ) { + if (preg_match('/^`(.+)`$/', $name, $matches)) { return $quote . $matches[1] . $quote; } // if name contains special characters, quote it - if ( !preg_match('/^[' . $this->nameRegex . ']+$/', $name) ) { + if (!preg_match('/^[' . $this->nameRegex . ']+$/', $name)) { return $quote . $name . $quote; } return $quote . $name . $quote; } - function CreateDatabase($dbname, $options=false) + function createDatabase($dbname, $options = false) { $options = $this->_Options($options); $sql = array(); @@ -112,50 +126,62 @@ class ADODB2_firebird extends ADODB_DataDict { return $sql; } - function _DropAutoIncrement($t) + function _dropAutoIncrement($tabname) { - if (strpos($t,'.') !== false) { - $tarr = explode('.',$t); - return 'DROP SEQUENCE '.$tarr[0].'."s_'.$tarr[1].'"'; + if (strpos($tabname, '.') !== false) { + $tarr = explode('.', $tabname); + return 'DROP SEQUENCE ' . $tarr[0] . '."s_' . $tarr[1] . '"'; } - return 'DROP SEQUENCE s_'.$t; + return 'DROP SEQUENCE s_' . $tabname; } - function _CreateSuffix($fname,&$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned) + function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned) { $suffix = ''; - if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault"; - if ($fnotnull) $suffix .= ' NOT NULL'; - if ($fautoinc) $this->seqField = $fname; + if (strlen($fdefault)) { + $suffix .= " DEFAULT $fdefault"; + } + if ($fnotnull) { + $suffix .= ' NOT NULL'; + } + if ($fautoinc) { + $this->seqField = $fname; + } $fconstraint = preg_replace("/``/", "\"", $fconstraint); - if ($fconstraint) $suffix .= ' '.$fconstraint; + if ($fconstraint) { + $suffix .= ' ' . $fconstraint; + } return $suffix; } /** - Generate the SQL to create table. Returns an array of sql strings. - */ - function CreateTableSQL($tabname, $flds, $tableoptions=array()) + * Generate the SQL to create table. Returns an array of sql strings. + */ + function createTableSQL($tabname, $flds, $tableoptions = array()) { - list($lines,$pkey,$idxs) = $this->_GenFields($flds, true); + list($lines, $pkey, $idxs) = $this->_GenFields($flds, true); // genfields can return FALSE at times - if ($lines == null) $lines = array(); + if ($lines == null) { + $lines = array(); + } $taboptions = $this->_Options($tableoptions); - $tabname = $this->TableName ($tabname); - $sql = $this->_TableSQL($tabname,$lines,$pkey,$taboptions); + $tabname = $this->TableName($tabname); + $sql = $this->_TableSQL($tabname, $lines, $pkey, $taboptions); - if ($this->autoIncrement && !isset($taboptions['DROP'])) - { $tsql = $this->_Triggers($tabname,$taboptions); - foreach($tsql as $s) $sql[] = $s; + if ($this->autoIncrement && !isset($taboptions['DROP'])) { + $tsql = $this->_Triggers($tabname, $taboptions); + foreach ($tsql as $s) { + $sql[] = $s; + } } if (is_array($idxs)) { - foreach($idxs as $idx => $idxdef) { - $sql_idxs = $this->CreateIndexSql($idx, $tabname, $idxdef['cols'], $idxdef['opts']); + foreach ($idxs as $idx => $idxdef) { + $sql_idxs = $this->CreateIndexSql($idx, $tabname, $idxdef['cols'], $idxdef['opts']); $sql = array_merge($sql, $sql_idxs); } } @@ -164,44 +190,47 @@ class ADODB2_firebird extends ADODB_DataDict { } -/* -CREATE or replace TRIGGER jaddress_insert -before insert on jaddress -for each row -begin -IF ( NEW."seqField" IS NULL OR NEW."seqField" = 0 ) THEN - NEW."seqField" = GEN_ID("GEN_tabname", 1); -end; -*/ - function _Triggers($tabname,$tableoptions) + /* + CREATE or replace TRIGGER jaddress_insert + before insert on jaddress + for each row + begin + IF ( NEW."seqField" IS NULL OR NEW."seqField" = 0 ) THEN + NEW."seqField" = GEN_ID("GEN_tabname", 1); + end; + */ + function _triggers($tabname, $taboptions) { - if (!$this->seqField) return array(); + if (!$this->seqField) { + return array(); + } - $tab1 = preg_replace( '/"/', '', $tabname ); + $tab1 = preg_replace('/"/', '', $tabname); if ($this->schema) { - $t = strpos($tab1,'.'); - if ($t !== false) $tab = substr($tab1,$t+1); - else $tab = $tab1; + $t = strpos($tab1, '.'); + if ($t !== false) { + $tab = substr($tab1, $t + 1); + } else { + $tab = $tab1; + } $seqField = $this->seqField; - $seqname = $this->schema.'.'.$this->seqPrefix.$tab; - $trigname = $this->schema.'.t_'.$this->seqPrefix.$tab; + $seqname = $this->schema . '.' . $this->seqPrefix . $tab; + $trigname = $this->schema . '.t_' . $this->seqPrefix . $tab; } else { $seqField = $this->seqField; - $seqname = $this->seqPrefix.$tab1; - $trigname = 't_'.$seqname; + $seqname = $this->seqPrefix . $tab1; + $trigname = 't_' . $seqname; } - if (isset($tableoptions['DROP'])) - { $sql[] = "DROP SEQUENCE $seqname"; - } - elseif (isset($tableoptions['REPLACE'])) - { $sql[] = "DROP SEQUENCE \"$seqname\""; - $sql[] = "CREATE SEQUENCE \"$seqname\""; - $sql[] = "ALTER TRIGGER \"$trigname\" BEFORE INSERT OR UPDATE AS BEGIN IF ( NEW.$seqField IS NULL OR NEW.$seqField = 0 ) THEN NEW.$seqField = GEN_ID(\"$seqname\", 1); END"; - } - else - { $sql[] = "CREATE SEQUENCE $seqname"; - $sql[] = "CREATE TRIGGER $trigname FOR $tabname BEFORE INSERT OR UPDATE AS BEGIN IF ( NEW.$seqField IS NULL OR NEW.$seqField = 0 ) THEN NEW.$seqField = GEN_ID($seqname, 1); END"; + if (isset($taboptions['DROP'])) { + $sql[] = "DROP SEQUENCE $seqname"; + } elseif (isset($taboptions['REPLACE'])) { + $sql[] = "DROP SEQUENCE \"$seqname\""; + $sql[] = "CREATE SEQUENCE \"$seqname\""; + $sql[] = "ALTER TRIGGER \"$trigname\" BEFORE INSERT OR UPDATE AS BEGIN IF ( NEW.$seqField IS NULL OR NEW.$seqField = 0 ) THEN NEW.$seqField = GEN_ID(\"$seqname\", 1); END"; + } else { + $sql[] = "CREATE SEQUENCE $seqname"; + $sql[] = "CREATE TRIGGER $trigname FOR $tabname BEFORE INSERT OR UPDATE AS BEGIN IF ( NEW.$seqField IS NULL OR NEW.$seqField = 0 ) THEN NEW.$seqField = GEN_ID($seqname, 1); END"; } $this->seqField = false; @@ -209,41 +238,41 @@ end; } /** - * Change the definition of one column - * - * @param string $tabname table-name - * @param string $flds column-name and type for the changed column - * @param string $tableflds='' - * @param array/string $tableoptions='' options for the new table - * - * @return array with SQL strings - */ - public function alterColumnSQL($tabname, $flds, $tableflds='',$tableoptions='') + * Change the definition of one column + * + * @param string $tabname table-name + * @param string $flds column-name and type for the changed column + * @param string $tableflds Unused + * @param array|string $tableoptions Unused + * + * @return array with SQL strings + */ + public function alterColumnSQL($tabname, $flds, $tableflds = '', $tableoptions = '') { - $tabname = $this->TableName ($tabname); + $tabname = $this->TableName($tabname); $sql = array(); - list($lines,$pkey,$idxs) = $this->_GenFields($flds); + list($lines, $pkey, $idxs) = $this->_GenFields($flds); // genfields can return FALSE at times - - if ($lines == null) + + if ($lines == null) { $lines = array(); - + } + $alter = 'ALTER TABLE ' . $tabname . $this->alterCol . ' '; - - foreach($lines as $v) - { + + foreach ($lines as $v) { /* * The type must be preceded by the keyword 'TYPE' */ - $vExplode = explode(' ',$v); + $vExplode = explode(' ', $v); $vExplode = array_filter($vExplode); - array_splice($vExplode,1,0,array('TYPE')); - $v = implode(' ',$vExplode); + array_splice($vExplode, 1, 0, array('TYPE')); + $v = implode(' ', $vExplode); $sql[] = $alter . $v; } - + if (is_array($idxs)) { - foreach($idxs as $idx => $idxdef) { + foreach ($idxs as $idx => $idxdef) { $sql_idxs = $this->CreateIndexSql($idx, $tabname, $idxdef['cols'], $idxdef['opts']); $sql = array_merge($sql, $sql_idxs); } |
