dblayeroo: add tinyint field type
dblayeroo: Do not allow autoincrement if the field is not integer git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@3551 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
This commit is contained in:
@@ -304,15 +304,6 @@ class dblayeroo
|
||||
$sql .= "$this->sep$field$this->sep ";
|
||||
switch ($this->fieldTypeLight ($field))
|
||||
{
|
||||
case "integer":
|
||||
$sql .= "INTEGER";
|
||||
$params = array_slice ($params, 1);
|
||||
break;
|
||||
case "varchar":
|
||||
$length = $this->fieldLength ($field);
|
||||
$sql .= "VARCHAR($length)";
|
||||
$params = array_slice ($params, 1);
|
||||
break;
|
||||
case "datetime":
|
||||
$sql .= "DATETIME";
|
||||
$params = array_slice ($params, 1);
|
||||
@@ -321,6 +312,19 @@ class dblayeroo
|
||||
$sql .= "DATE";
|
||||
$params = array_slice ($params, 1);
|
||||
break;
|
||||
case "integer":
|
||||
$sql .= "INTEGER";
|
||||
$params = array_slice ($params, 1);
|
||||
break;
|
||||
case "tinyint":
|
||||
$sql .= "TINYINT";
|
||||
$params = array_slice ($params, 1);
|
||||
break;
|
||||
case "varchar":
|
||||
$length = $this->fieldLength ($field);
|
||||
$sql .= "VARCHAR($length)";
|
||||
$params = array_slice ($params, 1);
|
||||
break;
|
||||
default:
|
||||
throw new Exception (sprintf (
|
||||
dgettext("domframework",
|
||||
@@ -959,7 +963,8 @@ class dblayeroo
|
||||
if (! array_key_exists (0, $params))
|
||||
$this->DBException ("Parameter fields invalid: ".
|
||||
"No type of column provided for '$field'");
|
||||
if (preg_match ("#^(data|datetime|integer|time|varchar\(\d+\))$#i",
|
||||
if (preg_match ("#^(date|datetime|integer|time|tinyint|".
|
||||
"varchar\(\d+\))$#i",
|
||||
$params[0]) !== 1)
|
||||
$this->DBException ("Parameter fields invalid: ".
|
||||
"Unknown column type provided for '$field'");
|
||||
@@ -971,6 +976,11 @@ class dblayeroo
|
||||
$params[2] !== "autoincrement")
|
||||
$this->DBException ("Parameter fields invalid: ".
|
||||
"Third parameter invalid for '$field'");
|
||||
if ($params[0] !== "integer" && (
|
||||
isset ($params[1]) && $params[1] === "autoincrement" ||
|
||||
isset ($params[2]) && $params[2] === "autoincrement"))
|
||||
$this->DBException ("Parameter fields invalid: ".
|
||||
"Field '$field' can not be autoincrement and not integer");
|
||||
}
|
||||
$this->fields = $fields;
|
||||
return $this;
|
||||
|
||||
Reference in New Issue
Block a user