Changeset 5113
- Timestamp:
- 10/21/08 12:50:05 (9 months ago)
- Location:
- branches/1.0
- Files:
-
- 2 modified
-
lib/Doctrine/Import/Oracle.php (modified) (3 diffs)
-
tests/Import/OracleTestCase.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/1.0/lib/Doctrine/Import/Oracle.php
r5111 r5113 121 121 public function listTableColumns($table) 122 122 { 123 $sql = "SELECT column_name, data_type, data_length, nullable, data_default, data_scale, data_precision FROM all_tab_columns" 124 . " WHERE table_name = '" . $table . "' ORDER BY column_id"; 123 $sql = "SELECT column_name, data_type, " 124 . "CASE WHEN data_type = 'NUMBER' THEN data_precision ELSE data_length END AS data_length, " 125 . "nullable, data_default, data_scale, data_precision FROM all_tab_columns " 126 . "WHERE table_name = '" . $table . "' ORDER BY column_id"; 125 127 126 128 $result = $this->conn->fetchAssoc($sql); … … 143 145 'default' => $val['data_default'], 144 146 'length' => $val['data_length'], 145 'precision' => $val['data_precision'],146 147 'scale' => $val['scale'], 147 148 ); … … 187 188 $result = array_change_key_case($result, CASE_LOWER); 188 189 $relations[] = array('table' => $result['referenced_table_name'], 189 'local' => $result[' column_name'],190 'local' => $result['local_column_name'], 190 191 'foreign' => $result['referenced_column_name']); 191 192 } -
branches/1.0/tests/Import/OracleTestCase.php
r5111 r5113 45 45 $this->import->listTableColumns('table'); 46 46 47 $q = "SELECT column_name, data_type, data_length, nullable, data_default, data_scale, data_precision FROM all_tab_columns WHERE table_name = 'table' ORDER BY column_id";47 $q = "SELECT column_name, data_type, CASE WHEN data_type = 'NUMBER' THEN data_precision ELSE data_length END AS data_length, nullable, data_default, data_scale, data_precision FROM all_tab_columns WHERE table_name = 'table' ORDER BY column_id"; 48 48 49 49 $this->assertEqual($this->adapter->pop(), $q);