dblayeroo: autoincrement fields must be primary too

git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@3706 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
This commit is contained in:
2017-05-19 14:22:37 +00:00
parent 43ba2ba9c1
commit 50e01cc20b

View File

@@ -352,7 +352,14 @@ class dblayeroo
switch ($p)
{
case "not null": $sql .= " NOT NULL"; break;
case "autoincrement": $sql .= " AUTOINCREMENT";break;
case "autoincrement":
if ($this->primary !== $field)
throw new \Exception (sprintf (
dgettext("domframework",
"Field '%s' is autoincrement but not primary"),
$field), 500);
$sql .= " AUTOINCREMENT";
break;
default:
throw new Exception (sprintf (dgettext("domframework",
"Unknown additionnal parameter '%s' for field '%s'"),
@@ -439,7 +446,14 @@ class dblayeroo
switch ($p)
{
case "not null": $sql .= " NOT NULL"; break;
case "autoincrement": $sql .= " AUTO_INCREMENT";break;
case "autoincrement":
if ($this->primary !== $field)
throw new \Exception (sprintf (
dgettext("domframework",
"Field '%s' is autoincrement but not primary"),
$field), 500);
$sql .= " AUTO_INCREMENT";
break;
default:
throw new Exception (sprintf (
dgettext("domframework",
@@ -488,7 +502,14 @@ class dblayeroo
// Name of field
$sql .= "\"$field\" ";
if (in_array ("autoincrement", $params))
{
if ($this->primary !== $field)
throw new \Exception (sprintf (
dgettext("domframework",
"Field '%s' is autoincrement but not primary"),
$field), 500);
$sql .= "SERIAL";
}
else
{
switch ($this->fieldTypeLight ($field))