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 ";
|
$sql .= "$this->sep$field$this->sep ";
|
||||||
switch ($this->fieldTypeLight ($field))
|
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":
|
case "datetime":
|
||||||
$sql .= "DATETIME";
|
$sql .= "DATETIME";
|
||||||
$params = array_slice ($params, 1);
|
$params = array_slice ($params, 1);
|
||||||
@@ -321,6 +312,19 @@ class dblayeroo
|
|||||||
$sql .= "DATE";
|
$sql .= "DATE";
|
||||||
$params = array_slice ($params, 1);
|
$params = array_slice ($params, 1);
|
||||||
break;
|
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:
|
default:
|
||||||
throw new Exception (sprintf (
|
throw new Exception (sprintf (
|
||||||
dgettext("domframework",
|
dgettext("domframework",
|
||||||
@@ -959,7 +963,8 @@ class dblayeroo
|
|||||||
if (! array_key_exists (0, $params))
|
if (! array_key_exists (0, $params))
|
||||||
$this->DBException ("Parameter fields invalid: ".
|
$this->DBException ("Parameter fields invalid: ".
|
||||||
"No type of column provided for '$field'");
|
"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)
|
$params[0]) !== 1)
|
||||||
$this->DBException ("Parameter fields invalid: ".
|
$this->DBException ("Parameter fields invalid: ".
|
||||||
"Unknown column type provided for '$field'");
|
"Unknown column type provided for '$field'");
|
||||||
@@ -971,6 +976,11 @@ class dblayeroo
|
|||||||
$params[2] !== "autoincrement")
|
$params[2] !== "autoincrement")
|
||||||
$this->DBException ("Parameter fields invalid: ".
|
$this->DBException ("Parameter fields invalid: ".
|
||||||
"Third parameter invalid for '$field'");
|
"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;
|
$this->fields = $fields;
|
||||||
return $this;
|
return $this;
|
||||||
|
|||||||
Reference in New Issue
Block a user