| @@ 1379-1424 (lines=46) @@ | ||
| 1376 | foreach ($properties as $propObj) { |
|
| 1377 | $propName = $propObj->name; |
|
| 1378 | ||
| 1379 | if (!in_array($propName, $this->BO->getTransientAttributes()) && $propName != 'OID') { |
|
| 1380 | $propReflect = new ReflectionClass($this->BO->getPropObject($propName)); |
|
| 1381 | $propClass = $propReflect->getShortName(); |
|
| 1382 | ||
| 1383 | switch (mb_strtoupper($propClass)) { |
|
| 1384 | case 'INTEGER': |
|
| 1385 | // special properties for RelationLookup OIDs |
|
| 1386 | if ($this->BO instanceof RelationLookup && ($propName == 'leftID' || $propName == 'rightID')) { |
|
| 1387 | $sqlQuery .= "$propName INT(".$this->BO->getPropObject($propName)->getSize().') NOT NULL,'; |
|
| 1388 | } else { |
|
| 1389 | $sqlQuery .= "$propName INT(".$this->BO->getPropObject($propName)->getSize().'),'; |
|
| 1390 | } |
|
| 1391 | break; |
|
| 1392 | case 'DOUBLE': |
|
| 1393 | $sqlQuery .= "$propName REAL(".$this->BO->getPropObject($propName)->getSize(true).'),'; |
|
| 1394 | break; |
|
| 1395 | case 'SMALLTEXT': |
|
| 1396 | $sqlQuery .= "$propName TEXT(".$this->BO->getPropObject($propName)->getSize().'),'; |
|
| 1397 | break; |
|
| 1398 | case 'TEXT': |
|
| 1399 | $sqlQuery .= "$propName TEXT,"; |
|
| 1400 | break; |
|
| 1401 | case 'BOOLEAN': |
|
| 1402 | $sqlQuery .= "$propName INTEGER(1) DEFAULT '0',"; |
|
| 1403 | break; |
|
| 1404 | case 'DATE': |
|
| 1405 | $sqlQuery .= "$propName TEXT,"; |
|
| 1406 | break; |
|
| 1407 | case 'TIMESTAMP': |
|
| 1408 | $sqlQuery .= "$propName TEXT,"; |
|
| 1409 | break; |
|
| 1410 | case 'ENUM': |
|
| 1411 | $sqlQuery .= "$propName TEXT,"; |
|
| 1412 | break; |
|
| 1413 | case 'DENUM': |
|
| 1414 | $tmp = new DEnum(get_class($this->BO).'::'.$propName); |
|
| 1415 | $sqlQuery .= "$propName INTEGER(11),"; |
|
| 1416 | break; |
|
| 1417 | case 'RELATION': |
|
| 1418 | $sqlQuery .= "$propName INTEGER(11),"; |
|
| 1419 | break; |
|
| 1420 | default: |
|
| 1421 | $sqlQuery .= ''; |
|
| 1422 | break; |
|
| 1423 | } |
|
| 1424 | } |
|
| 1425 | } |
|
| 1426 | ||
| 1427 | if ($this->BO->isTableOverloaded()) { |
|
| @@ 1517-1564 (lines=48) @@ | ||
| 1514 | ||
| 1515 | if ($this->isTableOverloaded() && $propName == 'classname') { |
|
| 1516 | $sqlQuery .= 'classname TEXT(100)'; |
|
| 1517 | } else { |
|
| 1518 | if (!in_array($propName, $this->BO->getDefaultAttributes()) && !in_array($propName, $this->BO->getTransientAttributes())) { |
|
| 1519 | $reflection = new ReflectionClass($this->BO->getPropObject($propName)); |
|
| 1520 | $propClass = $reflection->getShortName(); |
|
| 1521 | ||
| 1522 | switch (mb_strtoupper($propClass)) { |
|
| 1523 | case 'INTEGER': |
|
| 1524 | // special properties for RelationLookup OIDs |
|
| 1525 | if ($this->BO instanceof RelationLookup && ($propName == 'leftID' || $propName == 'rightID')) { |
|
| 1526 | $sqlQuery .= "$propName INTEGER(".$this->BO->getPropObject($propName)->getSize().') NOT NULL,'; |
|
| 1527 | } else { |
|
| 1528 | $sqlQuery .= "$propName INTEGER(".$this->BO->getPropObject($propName)->getSize().'),'; |
|
| 1529 | } |
|
| 1530 | break; |
|
| 1531 | case 'DOUBLE': |
|
| 1532 | $sqlQuery .= "$propName REAL(".$this->BO->getPropObject($propName)->getSize(true).'),'; |
|
| 1533 | break; |
|
| 1534 | case 'SMALLTEXT': |
|
| 1535 | $sqlQuery .= "$propName TEXT(".$this->BO->getPropObject($propName)->getSize().'),'; |
|
| 1536 | break; |
|
| 1537 | case 'TEXT': |
|
| 1538 | $sqlQuery .= "$propName TEXT,"; |
|
| 1539 | break; |
|
| 1540 | case 'BOOLEAN': |
|
| 1541 | $sqlQuery .= "$propName INTEGER(1) DEFAULT '0',"; |
|
| 1542 | break; |
|
| 1543 | case 'DATE': |
|
| 1544 | $sqlQuery .= "$propName TEXT,"; |
|
| 1545 | break; |
|
| 1546 | case 'TIMESTAMP': |
|
| 1547 | $sqlQuery .= "$propName TEXT,"; |
|
| 1548 | break; |
|
| 1549 | case 'ENUM': |
|
| 1550 | $sqlQuery .= "$propName TEXT,"; |
|
| 1551 | break; |
|
| 1552 | case 'DENUM': |
|
| 1553 | $tmp = new DEnum(get_class($this->BO).'::'.$propName); |
|
| 1554 | $sqlQuery .= "$propName INTEGER(11),"; |
|
| 1555 | break; |
|
| 1556 | case 'RELATION': |
|
| 1557 | $sqlQuery .= "$propName INTEGER(11),"; |
|
| 1558 | break; |
|
| 1559 | default: |
|
| 1560 | $sqlQuery .= ''; |
|
| 1561 | break; |
|
| 1562 | } |
|
| 1563 | } |
|
| 1564 | } |
|
| 1565 | ||
| 1566 | $this->BO->setLastQuery($sqlQuery); |
|
| 1567 | ||