| @@ 265-290 (lines=26) @@ | ||
| 262 | * |
|
| 263 | * @return int 0 if operation was successful |
|
| 264 | */ |
|
| 265 | public function addPrimaryKey($table, $fields, $name = '', $tablespace = '') |
|
| 266 | { |
|
| 267 | if (!is_array($fields) || sizeof($fields) == 0) { |
|
| 268 | return -1; |
|
| 269 | } |
|
| 270 | ||
| 271 | $f_schema = $this->_schema; |
|
| 272 | $this->fieldClean($f_schema); |
|
| 273 | $this->fieldClean($table); |
|
| 274 | $this->fieldArrayClean($fields); |
|
| 275 | $this->fieldClean($name); |
|
| 276 | $this->fieldClean($tablespace); |
|
| 277 | ||
| 278 | $sql = "ALTER TABLE \"{$f_schema}\".\"{$table}\" ADD "; |
|
| 279 | if ($name != '') { |
|
| 280 | $sql .= "CONSTRAINT \"{$name}\" "; |
|
| 281 | } |
|
| 282 | ||
| 283 | $sql .= 'PRIMARY KEY ("'.join('","', $fields).'")'; |
|
| 284 | ||
| 285 | if ($tablespace != '' && $this->hasTablespaces()) { |
|
| 286 | $sql .= " USING INDEX TABLESPACE \"{$tablespace}\""; |
|
| 287 | } |
|
| 288 | ||
| 289 | return $this->execute($sql); |
|
| 290 | } |
|
| 291 | ||
| 292 | /** |
|
| 293 | * Adds a unique constraint to a table. |
|
| @@ 302-327 (lines=26) @@ | ||
| 299 | * |
|
| 300 | * @return int 0 if operation was successful |
|
| 301 | */ |
|
| 302 | public function addUniqueKey($table, $fields, $name = '', $tablespace = '') |
|
| 303 | { |
|
| 304 | if (!is_array($fields) || sizeof($fields) == 0) { |
|
| 305 | return -1; |
|
| 306 | } |
|
| 307 | ||
| 308 | $f_schema = $this->_schema; |
|
| 309 | $this->fieldClean($f_schema); |
|
| 310 | $this->fieldClean($table); |
|
| 311 | $this->fieldArrayClean($fields); |
|
| 312 | $this->fieldClean($name); |
|
| 313 | $this->fieldClean($tablespace); |
|
| 314 | ||
| 315 | $sql = "ALTER TABLE \"{$f_schema}\".\"{$table}\" ADD "; |
|
| 316 | if ($name != '') { |
|
| 317 | $sql .= "CONSTRAINT \"{$name}\" "; |
|
| 318 | } |
|
| 319 | ||
| 320 | $sql .= 'UNIQUE ("'.join('","', $fields).'")'; |
|
| 321 | ||
| 322 | if ($tablespace != '' && $this->hasTablespaces()) { |
|
| 323 | $sql .= " USING INDEX TABLESPACE \"{$tablespace}\""; |
|
| 324 | } |
|
| 325 | ||
| 326 | return $this->execute($sql); |
|
| 327 | } |
|
| 328 | ||
| 329 | // Function functions |
|
| 330 | ||