Merged in bugfix/PMCORE-496 (pull request #7204)
PMCORE-496 Review why the command ./gulliver has some problems in the version 3.x Approved-by: Julio Cesar Laura Avendaño <contact@julio-laura.com>
This commit is contained in:
@@ -190,7 +190,11 @@ CREATE TABLE ".$this->quoteIdentifier($table->getName())."
|
||||
|
||||
foreach ($table->getIndices() as $index ) {
|
||||
$vendor = $index->getVendorSpecificInfo();
|
||||
$lines[] .= (($vendor && $vendor['Index_type'] == 'FULLTEXT') ? 'FULLTEXT ' : '') . "KEY " . $this->quoteIdentifier($index->getName()) . "(" . $this->getIndexColumnList($index) . ")";
|
||||
$word = "KEY ";
|
||||
if (!empty($index->getIndexType())) {
|
||||
$word = $index->getIndexType() . " ";
|
||||
}
|
||||
$lines[] .= (($vendor && $vendor['Index_type'] == 'FULLTEXT') ? 'FULLTEXT ' : '') . $word . $this->quoteIdentifier($index->getName()) . "(" . $this->getIndexColumnList($index) . ")";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -44,6 +44,12 @@ class Index extends XMLElement {
|
||||
|
||||
/** @var array */
|
||||
private $indexColumnSizes = array();
|
||||
|
||||
/**
|
||||
* Index type of this column.
|
||||
* @var string
|
||||
*/
|
||||
private $indexType;
|
||||
|
||||
/**
|
||||
* Creates a new instance with default characteristics (no name or
|
||||
@@ -192,6 +198,9 @@ class Index extends XMLElement {
|
||||
if (isset($attrib["size"])) {
|
||||
$this->indexColumnSizes[$name] = $attrib["size"];
|
||||
}
|
||||
if (!empty($attrib["indexType"])) {
|
||||
$this->indexType = $attrib["indexType"];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -273,4 +282,13 @@ class Index extends XMLElement {
|
||||
$result .= " </index>\n";
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the index type of this column.
|
||||
* @return string
|
||||
*/
|
||||
public function getIndexType()
|
||||
{
|
||||
return $this->indexType;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,383 +38,392 @@ include_once 'phing/system/io/FileReader.php';
|
||||
* @version $Revision: 536 $
|
||||
* @package propel.engine.database.transform
|
||||
*/
|
||||
class XmlToAppData extends AbstractHandler {
|
||||
|
||||
/** enables debug output */
|
||||
const DEBUG = false;
|
||||
|
||||
private $app;
|
||||
private $platform;
|
||||
private $currDB;
|
||||
private $currTable;
|
||||
private $currColumn;
|
||||
private $currFK;
|
||||
private $currIndex;
|
||||
private $currUnique;
|
||||
private $currValidator;
|
||||
private $currVendorObject;
|
||||
|
||||
private $isForReferenceOnly;
|
||||
private $currentPackage;
|
||||
private $currentXmlFile;
|
||||
private $defaultPackage;
|
||||
|
||||
private $encoding;
|
||||
|
||||
/** two-dimensional array,
|
||||
first dimension is for schemas(key is the path to the schema file),
|
||||
second is for tags within the schema */
|
||||
private $schemasTagsStack = array();
|
||||
|
||||
public $parser;
|
||||
|
||||
/**
|
||||
* Creates a new instance for the specified database type.
|
||||
*
|
||||
* @param Platform $platform The type of database for the application.
|
||||
* @param string $defaultPackage the default PHP package used for the om
|
||||
* @param string $encoding The database encoding.
|
||||
*/
|
||||
public function __construct(Platform $platform, $defaultPackage, $encoding = 'iso-8859-1')
|
||||
{
|
||||
$this->app = new AppData($platform);
|
||||
$this->platform = $platform;
|
||||
$this->defaultPackage = $defaultPackage;
|
||||
$this->firstPass = true;
|
||||
$this->encoding = $encoding;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses a XML input file and returns a newly created and
|
||||
* populated AppData structure.
|
||||
*
|
||||
* @param string $xmlFile The input file to parse.
|
||||
* @return AppData populated by <code>xmlFile</code>.
|
||||
*/
|
||||
public function parseFile($xmlFile)
|
||||
{
|
||||
// we don't want infinite recursion
|
||||
if($this->isAlreadyParsed($xmlFile)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$domDocument = new DomDocument('1.0', 'UTF-8');
|
||||
$domDocument->load($xmlFile);
|
||||
|
||||
// store current schema file path
|
||||
$this->schemasTagsStack[$xmlFile] = array();
|
||||
|
||||
$this->currentXmlFile = $xmlFile;
|
||||
|
||||
try {
|
||||
$fr = new FileReader($xmlFile);
|
||||
} catch (Exception $e) {
|
||||
$f = new PhingFile($xmlFile);
|
||||
throw new Exception("XML File not found: " . $f->getAbsolutePath());
|
||||
}
|
||||
|
||||
$br = new BufferedReader($fr);
|
||||
|
||||
$this->parser = new ExpatParser($br);
|
||||
$this->parser->parserSetOption(XML_OPTION_CASE_FOLDING, 0);
|
||||
$this->parser->setHandler($this);
|
||||
|
||||
try {
|
||||
$this->parser->parse();
|
||||
} catch (Exception $e) {
|
||||
$br->close();
|
||||
throw $e;
|
||||
}
|
||||
$br->close();
|
||||
|
||||
array_pop($this->schemasTagsStack);
|
||||
|
||||
return $this->app;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles opening elements of the xml file.
|
||||
*
|
||||
* @param string $uri
|
||||
* @param string $localName The local name (without prefix), or the empty string if
|
||||
* Namespace processing is not being performed.
|
||||
* @param string $rawName The qualified name (with prefix), or the empty string if
|
||||
* qualified names are not available.
|
||||
* @param string $attributes The specified or defaulted attributes
|
||||
*/
|
||||
public function startElement($name, $attributes) {
|
||||
|
||||
try {
|
||||
|
||||
$parentTag = $this->peekCurrentSchemaTag();
|
||||
|
||||
if ($parentTag === false) {
|
||||
|
||||
switch($name) {
|
||||
case "database":
|
||||
if ($this->isExternalSchema()) {
|
||||
$this->currentPackage = @$attributes["package"];
|
||||
if ($this->currentPackage === null) {
|
||||
$this->currentPackage = $this->defaultPackage;
|
||||
}
|
||||
} else {
|
||||
$this->currDB = $this->app->addDatabase($attributes);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
|
||||
} elseif ($parentTag == "database") {
|
||||
|
||||
switch($name) {
|
||||
|
||||
case "external-schema":
|
||||
$xmlFile = @$attributes["filename"];
|
||||
|
||||
//"referenceOnly" attribute is valid in the main schema XML file only,
|
||||
//and it's ingnored in the nested external-schemas
|
||||
if(!$this->isExternalSchema()) {
|
||||
$isForRefOnly = @$attributes["referenceOnly"];
|
||||
$this->isForReferenceOnly = ($isForRefOnly !== null ? (strtolower($isForRefOnly) === "true") : true); // defaults to TRUE
|
||||
}
|
||||
|
||||
if ($xmlFile{0} != '/') {
|
||||
$f = new PhingFile($this->currentXmlFile);
|
||||
$xf = new PhingFile($f->getParent(), $xmlFile);
|
||||
$xmlFile = $xf->getPath();
|
||||
}
|
||||
|
||||
$this->parseFile($xmlFile);
|
||||
break;
|
||||
|
||||
case "domain":
|
||||
$this->currDB->addDomain($attributes);
|
||||
break;
|
||||
|
||||
case "table":
|
||||
$this->currTable = $this->currDB->addTable($attributes);
|
||||
if ($this->isExternalSchema()) {
|
||||
$this->currTable->setForReferenceOnly($this->isForReferenceOnly);
|
||||
$this->currTable->setPackage($this->currentPackage);
|
||||
}
|
||||
break;
|
||||
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currDB, $attributes['type']);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
|
||||
} elseif ($parentTag == "table") {
|
||||
|
||||
switch($name) {
|
||||
case "column":
|
||||
$this->currColumn = $this->currTable->addColumn($attributes);
|
||||
break;
|
||||
|
||||
case "foreign-key":
|
||||
$this->currFK = $this->currTable->addForeignKey($attributes);
|
||||
break;
|
||||
|
||||
case "index":
|
||||
$this->currIndex = $this->currTable->addIndex($attributes);
|
||||
break;
|
||||
|
||||
case "unique":
|
||||
$this->currUnique = $this->currTable->addUnique($attributes);
|
||||
break;
|
||||
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currTable, $attributes['type']);
|
||||
break;
|
||||
|
||||
case "validator":
|
||||
$this->currValidator = $this->currTable->addValidator($attributes);
|
||||
break;
|
||||
|
||||
case "id-method-parameter":
|
||||
$this->currTable->addIdMethodParameter($attributes);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
|
||||
} elseif ($parentTag == "column") {
|
||||
|
||||
switch($name) {
|
||||
case "inheritance":
|
||||
$this->currColumn->addInheritance($attributes);
|
||||
break;
|
||||
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currColumn, $attributes['type']);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
|
||||
} elseif ($parentTag == "foreign-key") {
|
||||
|
||||
switch($name) {
|
||||
case "reference":
|
||||
$this->currFK->addReference($attributes);
|
||||
break;
|
||||
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currFK, $attributes['type']);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
|
||||
} elseif ($parentTag == "index") {
|
||||
|
||||
switch($name) {
|
||||
case "index-column":
|
||||
$this->currIndex->addColumn($attributes);
|
||||
break;
|
||||
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currIndex, $attributes['type']);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
|
||||
} elseif ($parentTag == "unique") {
|
||||
|
||||
switch($name) {
|
||||
case "unique-column":
|
||||
$this->currUnique->addColumn($attributes);
|
||||
break;
|
||||
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currUnique, $attributes['type']);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
} elseif ($parentTag == "validator") {
|
||||
switch($name) {
|
||||
case "rule":
|
||||
$this->currValidator->addRule($attributes);
|
||||
break;
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
} elseif ($parentTag == "vendor") {
|
||||
|
||||
switch($name) {
|
||||
case "parameter":
|
||||
if($this->currVendorObject->isCompatible($this->platform->getDatabaseType())) {
|
||||
$this->currVendorObject->setVendorParameter($attributes['name'], iconv('utf-8',$this->encoding, $attributes['value']));
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
|
||||
} else {
|
||||
// it must be an invalid tag
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
|
||||
$this->pushCurrentSchemaTag($name);
|
||||
|
||||
} catch (BuildException $e) {
|
||||
throw $e;
|
||||
} catch (Exception $e) {
|
||||
echo $e;
|
||||
echo "\n";
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
function _throwInvalidTagException($tag_name)
|
||||
{
|
||||
throw new BuildException("Unexpected tag <" . $tag_name . ">", $this->parser->getLocation());
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles closing elements of the xml file.
|
||||
*
|
||||
* @param uri
|
||||
* @param localName The local name (without prefix), or the empty string if
|
||||
* Namespace processing is not being performed.
|
||||
* @param rawName The qualified name (with prefix), or the empty string if
|
||||
* qualified names are not available.
|
||||
*/
|
||||
public function endElement($name)
|
||||
{
|
||||
if (self::DEBUG) {
|
||||
print("endElement(" . $name . ") called\n");
|
||||
}
|
||||
|
||||
$this->popCurrentSchemaTag();
|
||||
}
|
||||
|
||||
protected function peekCurrentSchemaTag()
|
||||
{
|
||||
$keys = array_keys($this->schemasTagsStack);
|
||||
return end($this->schemasTagsStack[end($keys)]);
|
||||
}
|
||||
|
||||
protected function popCurrentSchemaTag()
|
||||
{
|
||||
$keys = array_keys($this->schemasTagsStack);
|
||||
array_pop($this->schemasTagsStack[end($keys)]);
|
||||
}
|
||||
|
||||
protected function pushCurrentSchemaTag($tag)
|
||||
{
|
||||
$keys = array_keys($this->schemasTagsStack);
|
||||
$this->schemasTagsStack[end($keys)][] = $tag;
|
||||
}
|
||||
|
||||
protected function isExternalSchema()
|
||||
{
|
||||
return (sizeof($this->schemasTagsStack) > 1);
|
||||
}
|
||||
|
||||
protected function isAlreadyParsed($filePath)
|
||||
{
|
||||
return isset($this->schemasTagsStack[$filePath]);
|
||||
}
|
||||
class XmlToAppData extends AbstractHandler
|
||||
{
|
||||
/** enables debug output */
|
||||
const DEBUG = false;
|
||||
|
||||
private $app;
|
||||
private $platform;
|
||||
private $currDB;
|
||||
private $currTable;
|
||||
private $currColumn;
|
||||
private $currFK;
|
||||
private $currIndex;
|
||||
private $currUnique;
|
||||
private $currValidator;
|
||||
private $currVendorObject;
|
||||
private $isForReferenceOnly;
|
||||
private $currentPackage;
|
||||
private $currentXmlFile;
|
||||
private $defaultPackage;
|
||||
private $encoding;
|
||||
|
||||
/** two-dimensional array,
|
||||
* first dimension is for schemas(key is the path to the schema file),
|
||||
* second is for tags within the schema
|
||||
*/
|
||||
private $schemasTagsStack = array();
|
||||
public $parser;
|
||||
|
||||
/**
|
||||
* Creates a new instance for the specified database type.
|
||||
*
|
||||
* @param Platform $platform The type of database for the application.
|
||||
* @param string $defaultPackage the default PHP package used for the om
|
||||
* @param string $encoding The database encoding.
|
||||
*/
|
||||
public function __construct(Platform $platform, $defaultPackage, $encoding = 'iso-8859-1')
|
||||
{
|
||||
$this->app = new AppData($platform);
|
||||
$this->platform = $platform;
|
||||
$this->defaultPackage = $defaultPackage;
|
||||
$this->firstPass = true;
|
||||
$this->encoding = $encoding;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses a XML input file and returns a newly created and
|
||||
* populated AppData structure.
|
||||
*
|
||||
* @param string $xmlFile The input file to parse.
|
||||
* @return AppData populated by <code>xmlFile</code>.
|
||||
*/
|
||||
public function parseFile($xmlFile)
|
||||
{
|
||||
// we don't want infinite recursion
|
||||
if ($this->isAlreadyParsed($xmlFile)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$domDocument = new DomDocument('1.0', 'UTF-8');
|
||||
$domDocument->load($xmlFile);
|
||||
|
||||
// store current schema file path
|
||||
$this->schemasTagsStack[$xmlFile] = array();
|
||||
|
||||
$this->currentXmlFile = $xmlFile;
|
||||
|
||||
try {
|
||||
$fr = new FileReader($xmlFile);
|
||||
} catch (Exception $e) {
|
||||
$f = new PhingFile($xmlFile);
|
||||
throw new Exception("XML File not found: " . $f->getAbsolutePath());
|
||||
}
|
||||
|
||||
$br = new BufferedReader($fr);
|
||||
|
||||
$this->parser = new ExpatParser($br);
|
||||
$this->parser->parserSetOption(XML_OPTION_CASE_FOLDING, 0);
|
||||
$this->parser->setHandler($this);
|
||||
|
||||
try {
|
||||
$this->parser->parse();
|
||||
} catch (Exception $e) {
|
||||
$br->close();
|
||||
throw $e;
|
||||
}
|
||||
$br->close();
|
||||
|
||||
array_pop($this->schemasTagsStack);
|
||||
|
||||
return $this->app;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles opening elements of the xml file.
|
||||
*
|
||||
* @param string $uri
|
||||
* @param string $localName The local name (without prefix), or the empty string if
|
||||
* Namespace processing is not being performed.
|
||||
* @param string $rawName The qualified name (with prefix), or the empty string if
|
||||
* qualified names are not available.
|
||||
* @param string $attributes The specified or defaulted attributes
|
||||
*/
|
||||
public function startElement($name, $attributes)
|
||||
{
|
||||
|
||||
try {
|
||||
|
||||
$parentTag = $this->peekCurrentSchemaTag();
|
||||
|
||||
if ($parentTag === false) {
|
||||
|
||||
switch ($name) {
|
||||
case "database":
|
||||
if ($this->isExternalSchema()) {
|
||||
$this->currentPackage = @$attributes["package"];
|
||||
if ($this->currentPackage === null) {
|
||||
$this->currentPackage = $this->defaultPackage;
|
||||
}
|
||||
} else {
|
||||
$this->currDB = $this->app->addDatabase($attributes);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
} elseif ($parentTag == "database") {
|
||||
|
||||
switch ($name) {
|
||||
|
||||
case "external-schema":
|
||||
$xmlFile = @$attributes["filename"];
|
||||
|
||||
//"referenceOnly" attribute is valid in the main schema XML file only,
|
||||
//and it's ingnored in the nested external-schemas
|
||||
if (!$this->isExternalSchema()) {
|
||||
$isForRefOnly = @$attributes["referenceOnly"];
|
||||
$this->isForReferenceOnly = ($isForRefOnly !== null ? (strtolower($isForRefOnly) === "true") : true); // defaults to TRUE
|
||||
}
|
||||
|
||||
if ($xmlFile{0} != '/') {
|
||||
$f = new PhingFile($this->currentXmlFile);
|
||||
$xf = new PhingFile($f->getParent(), $xmlFile);
|
||||
$xmlFile = $xf->getPath();
|
||||
}
|
||||
|
||||
$this->parseFile($xmlFile);
|
||||
break;
|
||||
|
||||
case "domain":
|
||||
$this->currDB->addDomain($attributes);
|
||||
break;
|
||||
|
||||
case "table":
|
||||
$this->currTable = $this->currDB->addTable($attributes);
|
||||
if ($this->isExternalSchema()) {
|
||||
$this->currTable->setForReferenceOnly($this->isForReferenceOnly);
|
||||
$this->currTable->setPackage($this->currentPackage);
|
||||
}
|
||||
break;
|
||||
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currDB, $attributes['type']);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
} elseif ($parentTag == "table") {
|
||||
|
||||
switch ($name) {
|
||||
case "column":
|
||||
$this->currColumn = $this->currTable->addColumn($attributes);
|
||||
break;
|
||||
|
||||
case "foreign-key":
|
||||
$this->currFK = $this->currTable->addForeignKey($attributes);
|
||||
break;
|
||||
|
||||
case "index":
|
||||
$this->currIndex = $this->currTable->addIndex($attributes);
|
||||
break;
|
||||
|
||||
case "fulltext":
|
||||
$this->currIndex = $this->currTable->addIndex($attributes);
|
||||
break;
|
||||
|
||||
case "unique":
|
||||
$this->currUnique = $this->currTable->addUnique($attributes);
|
||||
break;
|
||||
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currTable, $attributes['type']);
|
||||
break;
|
||||
|
||||
case "validator":
|
||||
$this->currValidator = $this->currTable->addValidator($attributes);
|
||||
break;
|
||||
|
||||
case "id-method-parameter":
|
||||
$this->currTable->addIdMethodParameter($attributes);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
} elseif ($parentTag == "column") {
|
||||
|
||||
switch ($name) {
|
||||
case "inheritance":
|
||||
$this->currColumn->addInheritance($attributes);
|
||||
break;
|
||||
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currColumn, $attributes['type']);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
} elseif ($parentTag == "foreign-key") {
|
||||
|
||||
switch ($name) {
|
||||
case "reference":
|
||||
$this->currFK->addReference($attributes);
|
||||
break;
|
||||
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currFK, $attributes['type']);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
} elseif ($parentTag == "index") {
|
||||
|
||||
switch ($name) {
|
||||
case "index-column":
|
||||
$this->currIndex->addColumn($attributes);
|
||||
break;
|
||||
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currIndex, $attributes['type']);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
} elseif ($parentTag == "fulltext") {
|
||||
|
||||
switch ($name) {
|
||||
case "index-column":
|
||||
$attributes['indexType'] = "FULLTEXT";
|
||||
$this->currIndex->addColumn($attributes);
|
||||
break;
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currIndex, $attributes['type']);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
} elseif ($parentTag == "unique") {
|
||||
|
||||
switch ($name) {
|
||||
case "unique-column":
|
||||
$this->currUnique->addColumn($attributes);
|
||||
break;
|
||||
|
||||
case "vendor":
|
||||
$this->currVendorObject = new ObjectWithVendorSpecificData($this->currUnique, $attributes['type']);
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
} elseif ($parentTag == "validator") {
|
||||
switch ($name) {
|
||||
case "rule":
|
||||
$this->currValidator->addRule($attributes);
|
||||
break;
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
} elseif ($parentTag == "vendor") {
|
||||
|
||||
switch ($name) {
|
||||
case "parameter":
|
||||
if ($this->currVendorObject->isCompatible($this->platform->getDatabaseType())) {
|
||||
$this->currVendorObject->setVendorParameter($attributes['name'], iconv('utf-8', $this->encoding, $attributes['value']));
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
} else {
|
||||
// it must be an invalid tag
|
||||
$this->_throwInvalidTagException($name);
|
||||
}
|
||||
|
||||
$this->pushCurrentSchemaTag($name);
|
||||
} catch (BuildException $e) {
|
||||
throw $e;
|
||||
} catch (Exception $e) {
|
||||
echo $e;
|
||||
echo "\n";
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
function _throwInvalidTagException($tag_name)
|
||||
{
|
||||
throw new BuildException("Unexpected tag <" . $tag_name . ">", $this->parser->getLocation());
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles closing elements of the xml file.
|
||||
*
|
||||
* @param uri
|
||||
* @param localName The local name (without prefix), or the empty string if
|
||||
* Namespace processing is not being performed.
|
||||
* @param rawName The qualified name (with prefix), or the empty string if
|
||||
* qualified names are not available.
|
||||
*/
|
||||
public function endElement($name)
|
||||
{
|
||||
if (self::DEBUG) {
|
||||
print("endElement(" . $name . ") called\n");
|
||||
}
|
||||
|
||||
$this->popCurrentSchemaTag();
|
||||
}
|
||||
|
||||
protected function peekCurrentSchemaTag()
|
||||
{
|
||||
$keys = array_keys($this->schemasTagsStack);
|
||||
return end($this->schemasTagsStack[end($keys)]);
|
||||
}
|
||||
|
||||
protected function popCurrentSchemaTag()
|
||||
{
|
||||
$keys = array_keys($this->schemasTagsStack);
|
||||
array_pop($this->schemasTagsStack[end($keys)]);
|
||||
}
|
||||
|
||||
protected function pushCurrentSchemaTag($tag)
|
||||
{
|
||||
$keys = array_keys($this->schemasTagsStack);
|
||||
$this->schemasTagsStack[end($keys)][] = $tag;
|
||||
}
|
||||
|
||||
protected function isExternalSchema()
|
||||
{
|
||||
return (sizeof($this->schemasTagsStack) > 1);
|
||||
}
|
||||
|
||||
protected function isAlreadyParsed($filePath)
|
||||
{
|
||||
return isset($this->schemasTagsStack[$filePath]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Utility class used for objects with vendor data.
|
||||
*
|
||||
* @package propel.engine.database.transform
|
||||
* @package propel.engine.database.transform
|
||||
*/
|
||||
class ObjectWithVendorSpecificData
|
||||
{
|
||||
protected $object;
|
||||
protected $vendorType;
|
||||
protected $object;
|
||||
protected $vendorType;
|
||||
|
||||
public function __construct($object, $vendorType)
|
||||
{
|
||||
$this->object = $object;
|
||||
$this->vendorType = $vendorType;
|
||||
}
|
||||
public function __construct($object, $vendorType)
|
||||
{
|
||||
$this->object = $object;
|
||||
$this->vendorType = $vendorType;
|
||||
}
|
||||
|
||||
public function isCompatible($type)
|
||||
{
|
||||
return ($this->vendorType == $type);
|
||||
}
|
||||
public function isCompatible($type)
|
||||
{
|
||||
return ($this->vendorType == $type);
|
||||
}
|
||||
|
||||
public function setVendorParameter($name, $value)
|
||||
{
|
||||
$this->object->setVendorParameter($name, $value);
|
||||
}
|
||||
public function setVendorParameter($name, $value)
|
||||
{
|
||||
$this->object->setVendorParameter($name, $value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ PHP class or method name.
|
||||
note: the interface="true", requires that useManagers=true in the
|
||||
properties file.
|
||||
-->
|
||||
<!ELEMENT table (column+,(foreign-key|index|unique|id-method-parameter|validator|vendor)*)>
|
||||
<!ELEMENT table (column+,(foreign-key|index|fulltext|unique|id-method-parameter|validator|vendor)*)>
|
||||
<!ATTLIST table
|
||||
name CDATA #REQUIRED
|
||||
phpName CDATA #IMPLIED
|
||||
@@ -122,6 +122,11 @@ PHP class or method name.
|
||||
name CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT fulltext (index-column+)>
|
||||
<!ATTLIST fulltext
|
||||
name CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT index-column (vendor*)>
|
||||
<!ATTLIST index-column
|
||||
name CDATA #REQUIRED
|
||||
|
||||
@@ -225,6 +225,14 @@
|
||||
<xs:attribute name="name" type="index_name" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="fulltext">
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element name="index-column" type="index-column" minOccurs="1" maxOccurs="unbounded"/>
|
||||
<xs:element ref="vendor" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="name" type="index_name" use="optional"/>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:complexType name="unique">
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element name="unique-column" type="unique-column" minOccurs="1" maxOccurs="unbounded"/>
|
||||
@@ -307,6 +315,7 @@
|
||||
<xs:element name="column" type="column" maxOccurs="unbounded"/>
|
||||
<xs:element name="foreign-key" type="foreign-key" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="index" type="index" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="fulltext" type="fulltext" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="unique" type="unique" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="id-method-parameter" type="id-method-parameter" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="validator" type="validator" minOccurs="0" maxOccurs="unbounded"/>
|
||||
|
||||
@@ -101,6 +101,7 @@
|
||||
<xsl:apply-templates select='column'/>
|
||||
<xsl:apply-templates select='foreign-key'/>
|
||||
<xsl:apply-templates select='index'/>
|
||||
<xsl:apply-templates select='fulltext'/>
|
||||
<xsl:apply-templates select='unique'/>
|
||||
<xsl:apply-templates select='id-method-parameter'/>
|
||||
<xsl:apply-templates select='validator'/>
|
||||
@@ -129,6 +130,13 @@
|
||||
</index>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match='fulltext'>
|
||||
<fulltext>
|
||||
<xsl:apply-templates select='@*'/>
|
||||
<xsl:apply-templates select='index-column'/>
|
||||
</fulltext>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match='unique'>
|
||||
<unique>
|
||||
<xsl:apply-templates select='@*'/>
|
||||
|
||||
@@ -73,11 +73,11 @@ class JobsPendingMapBuilder
|
||||
|
||||
$tMap->addColumn('ATTEMPTS', 'Attempts', 'int', CreoleTypes::TINYINT, true, 3);
|
||||
|
||||
$tMap->addColumn('RESERVED_AT', 'ReservedAt', 'int', CreoleTypes::TINYINT, false, 10);
|
||||
$tMap->addColumn('RESERVED_AT', 'ReservedAt', 'string', CreoleTypes::BIGINT, false, 10);
|
||||
|
||||
$tMap->addColumn('AVAILABLE_AT', 'AvailableAt', 'int', CreoleTypes::TINYINT, true, 10);
|
||||
$tMap->addColumn('AVAILABLE_AT', 'AvailableAt', 'string', CreoleTypes::BIGINT, true, 10);
|
||||
|
||||
$tMap->addColumn('CREATED_AT', 'CreatedAt', 'int', CreoleTypes::TINYINT, true, 10);
|
||||
$tMap->addColumn('CREATED_AT', 'CreatedAt', 'string', CreoleTypes::BIGINT, true, 10);
|
||||
|
||||
} // doBuild()
|
||||
|
||||
|
||||
@@ -163,19 +163,19 @@ abstract class BaseAppCacheView extends BaseObject implements Persistent
|
||||
* The value for the del_duration field.
|
||||
* @var double
|
||||
*/
|
||||
protected $del_duration = 0;
|
||||
protected $del_duration = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the del_queue_duration field.
|
||||
* @var double
|
||||
*/
|
||||
protected $del_queue_duration = 0;
|
||||
protected $del_queue_duration = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the del_delay_duration field.
|
||||
* @var double
|
||||
*/
|
||||
protected $del_delay_duration = 0;
|
||||
protected $del_delay_duration = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the del_started field.
|
||||
@@ -1281,7 +1281,7 @@ abstract class BaseAppCacheView extends BaseObject implements Persistent
|
||||
public function setDelDuration($v)
|
||||
{
|
||||
|
||||
if ($this->del_duration !== $v || $v === 0) {
|
||||
if ($this->del_duration !== $v || $v === 0.0) {
|
||||
$this->del_duration = $v;
|
||||
$this->modifiedColumns[] = AppCacheViewPeer::DEL_DURATION;
|
||||
}
|
||||
@@ -1297,7 +1297,7 @@ abstract class BaseAppCacheView extends BaseObject implements Persistent
|
||||
public function setDelQueueDuration($v)
|
||||
{
|
||||
|
||||
if ($this->del_queue_duration !== $v || $v === 0) {
|
||||
if ($this->del_queue_duration !== $v || $v === 0.0) {
|
||||
$this->del_queue_duration = $v;
|
||||
$this->modifiedColumns[] = AppCacheViewPeer::DEL_QUEUE_DURATION;
|
||||
}
|
||||
@@ -1313,7 +1313,7 @@ abstract class BaseAppCacheView extends BaseObject implements Persistent
|
||||
public function setDelDelayDuration($v)
|
||||
{
|
||||
|
||||
if ($this->del_delay_duration !== $v || $v === 0) {
|
||||
if ($this->del_delay_duration !== $v || $v === 0.0) {
|
||||
$this->del_delay_duration = $v;
|
||||
$this->modifiedColumns[] = AppCacheViewPeer::DEL_DELAY_DURATION;
|
||||
}
|
||||
|
||||
@@ -139,19 +139,19 @@ abstract class BaseAppDelegation extends BaseObject implements Persistent
|
||||
* The value for the del_duration field.
|
||||
* @var double
|
||||
*/
|
||||
protected $del_duration = 0;
|
||||
protected $del_duration = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the del_queue_duration field.
|
||||
* @var double
|
||||
*/
|
||||
protected $del_queue_duration = 0;
|
||||
protected $del_queue_duration = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the del_delay_duration field.
|
||||
* @var double
|
||||
*/
|
||||
protected $del_delay_duration = 0;
|
||||
protected $del_delay_duration = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the del_started field.
|
||||
@@ -181,7 +181,7 @@ abstract class BaseAppDelegation extends BaseObject implements Persistent
|
||||
* The value for the app_overdue_percentage field.
|
||||
* @var double
|
||||
*/
|
||||
protected $app_overdue_percentage = 0;
|
||||
protected $app_overdue_percentage = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the usr_id field.
|
||||
@@ -1079,7 +1079,7 @@ abstract class BaseAppDelegation extends BaseObject implements Persistent
|
||||
public function setDelDuration($v)
|
||||
{
|
||||
|
||||
if ($this->del_duration !== $v || $v === 0) {
|
||||
if ($this->del_duration !== $v || $v === 0.0) {
|
||||
$this->del_duration = $v;
|
||||
$this->modifiedColumns[] = AppDelegationPeer::DEL_DURATION;
|
||||
}
|
||||
@@ -1095,7 +1095,7 @@ abstract class BaseAppDelegation extends BaseObject implements Persistent
|
||||
public function setDelQueueDuration($v)
|
||||
{
|
||||
|
||||
if ($this->del_queue_duration !== $v || $v === 0) {
|
||||
if ($this->del_queue_duration !== $v || $v === 0.0) {
|
||||
$this->del_queue_duration = $v;
|
||||
$this->modifiedColumns[] = AppDelegationPeer::DEL_QUEUE_DURATION;
|
||||
}
|
||||
@@ -1111,7 +1111,7 @@ abstract class BaseAppDelegation extends BaseObject implements Persistent
|
||||
public function setDelDelayDuration($v)
|
||||
{
|
||||
|
||||
if ($this->del_delay_duration !== $v || $v === 0) {
|
||||
if ($this->del_delay_duration !== $v || $v === 0.0) {
|
||||
$this->del_delay_duration = $v;
|
||||
$this->modifiedColumns[] = AppDelegationPeer::DEL_DELAY_DURATION;
|
||||
}
|
||||
@@ -1215,7 +1215,7 @@ abstract class BaseAppDelegation extends BaseObject implements Persistent
|
||||
public function setAppOverduePercentage($v)
|
||||
{
|
||||
|
||||
if ($this->app_overdue_percentage !== $v || $v === 0) {
|
||||
if ($this->app_overdue_percentage !== $v || $v === 0.0) {
|
||||
$this->app_overdue_percentage = $v;
|
||||
$this->modifiedColumns[] = AppDelegationPeer::APP_OVERDUE_PERCENTAGE;
|
||||
}
|
||||
|
||||
@@ -145,13 +145,13 @@ abstract class BaseApplication extends BaseObject implements Persistent
|
||||
* The value for the app_duration field.
|
||||
* @var double
|
||||
*/
|
||||
protected $app_duration = 0;
|
||||
protected $app_duration = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the app_delay_duration field.
|
||||
* @var double
|
||||
*/
|
||||
protected $app_delay_duration = 0;
|
||||
protected $app_delay_duration = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the app_drive_folder_uid field.
|
||||
@@ -971,7 +971,7 @@ abstract class BaseApplication extends BaseObject implements Persistent
|
||||
public function setAppDuration($v)
|
||||
{
|
||||
|
||||
if ($this->app_duration !== $v || $v === 0) {
|
||||
if ($this->app_duration !== $v || $v === 0.0) {
|
||||
$this->app_duration = $v;
|
||||
$this->modifiedColumns[] = ApplicationPeer::APP_DURATION;
|
||||
}
|
||||
@@ -987,7 +987,7 @@ abstract class BaseApplication extends BaseObject implements Persistent
|
||||
public function setAppDelayDuration($v)
|
||||
{
|
||||
|
||||
if ($this->app_delay_duration !== $v || $v === 0) {
|
||||
if ($this->app_delay_duration !== $v || $v === 0.0) {
|
||||
$this->app_delay_duration = $v;
|
||||
$this->modifiedColumns[] = ApplicationPeer::APP_DELAY_DURATION;
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ abstract class BaseDashboardIndicator extends BaseObject implements Persistent
|
||||
* The value for the das_ind_goal field.
|
||||
* @var double
|
||||
*/
|
||||
protected $das_ind_goal = 0;
|
||||
protected $das_ind_goal = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the das_ind_direction field.
|
||||
@@ -427,7 +427,7 @@ abstract class BaseDashboardIndicator extends BaseObject implements Persistent
|
||||
public function setDasIndGoal($v)
|
||||
{
|
||||
|
||||
if ($this->das_ind_goal !== $v || $v === 0) {
|
||||
if ($this->das_ind_goal !== $v || $v === 0.0) {
|
||||
$this->das_ind_goal = $v;
|
||||
$this->modifiedColumns[] = DashboardIndicatorPeer::DAS_IND_GOAL;
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ abstract class BaseEvent extends BaseObject implements Persistent
|
||||
* The value for the evn_tas_estimated_duration field.
|
||||
* @var double
|
||||
*/
|
||||
protected $evn_tas_estimated_duration = 0;
|
||||
protected $evn_tas_estimated_duration = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the evn_time_unit field.
|
||||
@@ -91,7 +91,7 @@ abstract class BaseEvent extends BaseObject implements Persistent
|
||||
* The value for the evn_when field.
|
||||
* @var double
|
||||
*/
|
||||
protected $evn_when = 0;
|
||||
protected $evn_when = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the evn_max_attempts field.
|
||||
@@ -566,7 +566,7 @@ abstract class BaseEvent extends BaseObject implements Persistent
|
||||
public function setEvnTasEstimatedDuration($v)
|
||||
{
|
||||
|
||||
if ($this->evn_tas_estimated_duration !== $v || $v === 0) {
|
||||
if ($this->evn_tas_estimated_duration !== $v || $v === 0.0) {
|
||||
$this->evn_tas_estimated_duration = $v;
|
||||
$this->modifiedColumns[] = EventPeer::EVN_TAS_ESTIMATED_DURATION;
|
||||
}
|
||||
@@ -604,7 +604,7 @@ abstract class BaseEvent extends BaseObject implements Persistent
|
||||
public function setEvnWhen($v)
|
||||
{
|
||||
|
||||
if ($this->evn_when !== $v || $v === 0) {
|
||||
if ($this->evn_when !== $v || $v === 0.0) {
|
||||
$this->evn_when = $v;
|
||||
$this->modifiedColumns[] = EventPeer::EVN_WHEN;
|
||||
}
|
||||
|
||||
@@ -53,19 +53,19 @@ abstract class BaseJobsPending extends BaseObject implements Persistent
|
||||
|
||||
/**
|
||||
* The value for the reserved_at field.
|
||||
* @var int
|
||||
* @var string
|
||||
*/
|
||||
protected $reserved_at;
|
||||
|
||||
/**
|
||||
* The value for the available_at field.
|
||||
* @var int
|
||||
* @var string
|
||||
*/
|
||||
protected $available_at;
|
||||
|
||||
/**
|
||||
* The value for the created_at field.
|
||||
* @var int
|
||||
* @var string
|
||||
*/
|
||||
protected $created_at;
|
||||
|
||||
@@ -130,7 +130,7 @@ abstract class BaseJobsPending extends BaseObject implements Persistent
|
||||
/**
|
||||
* Get the [reserved_at] column value.
|
||||
*
|
||||
* @return int
|
||||
* @return string
|
||||
*/
|
||||
public function getReservedAt()
|
||||
{
|
||||
@@ -141,7 +141,7 @@ abstract class BaseJobsPending extends BaseObject implements Persistent
|
||||
/**
|
||||
* Get the [available_at] column value.
|
||||
*
|
||||
* @return int
|
||||
* @return string
|
||||
*/
|
||||
public function getAvailableAt()
|
||||
{
|
||||
@@ -152,7 +152,7 @@ abstract class BaseJobsPending extends BaseObject implements Persistent
|
||||
/**
|
||||
* Get the [created_at] column value.
|
||||
*
|
||||
* @return int
|
||||
* @return string
|
||||
*/
|
||||
public function getCreatedAt()
|
||||
{
|
||||
@@ -251,16 +251,16 @@ abstract class BaseJobsPending extends BaseObject implements Persistent
|
||||
/**
|
||||
* Set the value of [reserved_at] column.
|
||||
*
|
||||
* @param int $v new value
|
||||
* @param string $v new value
|
||||
* @return void
|
||||
*/
|
||||
public function setReservedAt($v)
|
||||
{
|
||||
|
||||
// Since the native PHP type for this column is integer,
|
||||
// we will cast the input value to an int (if it is not).
|
||||
if ($v !== null && !is_int($v) && is_numeric($v)) {
|
||||
$v = (int) $v;
|
||||
// Since the native PHP type for this column is string,
|
||||
// we will cast the input to a string (if it is not).
|
||||
if ($v !== null && !is_string($v)) {
|
||||
$v = (string) $v;
|
||||
}
|
||||
|
||||
if ($this->reserved_at !== $v) {
|
||||
@@ -273,16 +273,16 @@ abstract class BaseJobsPending extends BaseObject implements Persistent
|
||||
/**
|
||||
* Set the value of [available_at] column.
|
||||
*
|
||||
* @param int $v new value
|
||||
* @param string $v new value
|
||||
* @return void
|
||||
*/
|
||||
public function setAvailableAt($v)
|
||||
{
|
||||
|
||||
// Since the native PHP type for this column is integer,
|
||||
// we will cast the input value to an int (if it is not).
|
||||
if ($v !== null && !is_int($v) && is_numeric($v)) {
|
||||
$v = (int) $v;
|
||||
// Since the native PHP type for this column is string,
|
||||
// we will cast the input to a string (if it is not).
|
||||
if ($v !== null && !is_string($v)) {
|
||||
$v = (string) $v;
|
||||
}
|
||||
|
||||
if ($this->available_at !== $v) {
|
||||
@@ -295,16 +295,16 @@ abstract class BaseJobsPending extends BaseObject implements Persistent
|
||||
/**
|
||||
* Set the value of [created_at] column.
|
||||
*
|
||||
* @param int $v new value
|
||||
* @param string $v new value
|
||||
* @return void
|
||||
*/
|
||||
public function setCreatedAt($v)
|
||||
{
|
||||
|
||||
// Since the native PHP type for this column is integer,
|
||||
// we will cast the input value to an int (if it is not).
|
||||
if ($v !== null && !is_int($v) && is_numeric($v)) {
|
||||
$v = (int) $v;
|
||||
// Since the native PHP type for this column is string,
|
||||
// we will cast the input to a string (if it is not).
|
||||
if ($v !== null && !is_string($v)) {
|
||||
$v = (string) $v;
|
||||
}
|
||||
|
||||
if ($this->created_at !== $v) {
|
||||
@@ -339,11 +339,11 @@ abstract class BaseJobsPending extends BaseObject implements Persistent
|
||||
|
||||
$this->attempts = $rs->getInt($startcol + 3);
|
||||
|
||||
$this->reserved_at = $rs->getInt($startcol + 4);
|
||||
$this->reserved_at = $rs->getString($startcol + 4);
|
||||
|
||||
$this->available_at = $rs->getInt($startcol + 5);
|
||||
$this->available_at = $rs->getString($startcol + 5);
|
||||
|
||||
$this->created_at = $rs->getInt($startcol + 6);
|
||||
$this->created_at = $rs->getString($startcol + 6);
|
||||
|
||||
$this->resetModified();
|
||||
|
||||
|
||||
@@ -49,61 +49,61 @@ abstract class BaseProReporting extends BaseObject implements Persistent
|
||||
* The value for the avg_time field.
|
||||
* @var double
|
||||
*/
|
||||
protected $avg_time = 0;
|
||||
protected $avg_time = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the sdv_time field.
|
||||
* @var double
|
||||
*/
|
||||
protected $sdv_time = 0;
|
||||
protected $sdv_time = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the total_cases_in field.
|
||||
* @var double
|
||||
*/
|
||||
protected $total_cases_in = 0;
|
||||
protected $total_cases_in = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the total_cases_out field.
|
||||
* @var double
|
||||
*/
|
||||
protected $total_cases_out = 0;
|
||||
protected $total_cases_out = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the configured_process_time field.
|
||||
* @var double
|
||||
*/
|
||||
protected $configured_process_time = 0;
|
||||
protected $configured_process_time = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the configured_process_cost field.
|
||||
* @var double
|
||||
*/
|
||||
protected $configured_process_cost = 0;
|
||||
protected $configured_process_cost = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the total_cases_open field.
|
||||
* @var double
|
||||
*/
|
||||
protected $total_cases_open = 0;
|
||||
protected $total_cases_open = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the total_cases_overdue field.
|
||||
* @var double
|
||||
*/
|
||||
protected $total_cases_overdue = 0;
|
||||
protected $total_cases_overdue = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the total_cases_on_time field.
|
||||
* @var double
|
||||
*/
|
||||
protected $total_cases_on_time = 0;
|
||||
protected $total_cases_on_time = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the pro_cost field.
|
||||
* @var double
|
||||
*/
|
||||
protected $pro_cost = 0;
|
||||
protected $pro_cost = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the pro_unit_cost field.
|
||||
@@ -354,7 +354,7 @@ abstract class BaseProReporting extends BaseObject implements Persistent
|
||||
public function setAvgTime($v)
|
||||
{
|
||||
|
||||
if ($this->avg_time !== $v || $v === 0) {
|
||||
if ($this->avg_time !== $v || $v === 0.0) {
|
||||
$this->avg_time = $v;
|
||||
$this->modifiedColumns[] = ProReportingPeer::AVG_TIME;
|
||||
}
|
||||
@@ -370,7 +370,7 @@ abstract class BaseProReporting extends BaseObject implements Persistent
|
||||
public function setSdvTime($v)
|
||||
{
|
||||
|
||||
if ($this->sdv_time !== $v || $v === 0) {
|
||||
if ($this->sdv_time !== $v || $v === 0.0) {
|
||||
$this->sdv_time = $v;
|
||||
$this->modifiedColumns[] = ProReportingPeer::SDV_TIME;
|
||||
}
|
||||
@@ -386,7 +386,7 @@ abstract class BaseProReporting extends BaseObject implements Persistent
|
||||
public function setTotalCasesIn($v)
|
||||
{
|
||||
|
||||
if ($this->total_cases_in !== $v || $v === 0) {
|
||||
if ($this->total_cases_in !== $v || $v === 0.0) {
|
||||
$this->total_cases_in = $v;
|
||||
$this->modifiedColumns[] = ProReportingPeer::TOTAL_CASES_IN;
|
||||
}
|
||||
@@ -402,7 +402,7 @@ abstract class BaseProReporting extends BaseObject implements Persistent
|
||||
public function setTotalCasesOut($v)
|
||||
{
|
||||
|
||||
if ($this->total_cases_out !== $v || $v === 0) {
|
||||
if ($this->total_cases_out !== $v || $v === 0.0) {
|
||||
$this->total_cases_out = $v;
|
||||
$this->modifiedColumns[] = ProReportingPeer::TOTAL_CASES_OUT;
|
||||
}
|
||||
@@ -418,7 +418,7 @@ abstract class BaseProReporting extends BaseObject implements Persistent
|
||||
public function setConfiguredProcessTime($v)
|
||||
{
|
||||
|
||||
if ($this->configured_process_time !== $v || $v === 0) {
|
||||
if ($this->configured_process_time !== $v || $v === 0.0) {
|
||||
$this->configured_process_time = $v;
|
||||
$this->modifiedColumns[] = ProReportingPeer::CONFIGURED_PROCESS_TIME;
|
||||
}
|
||||
@@ -434,7 +434,7 @@ abstract class BaseProReporting extends BaseObject implements Persistent
|
||||
public function setConfiguredProcessCost($v)
|
||||
{
|
||||
|
||||
if ($this->configured_process_cost !== $v || $v === 0) {
|
||||
if ($this->configured_process_cost !== $v || $v === 0.0) {
|
||||
$this->configured_process_cost = $v;
|
||||
$this->modifiedColumns[] = ProReportingPeer::CONFIGURED_PROCESS_COST;
|
||||
}
|
||||
@@ -450,7 +450,7 @@ abstract class BaseProReporting extends BaseObject implements Persistent
|
||||
public function setTotalCasesOpen($v)
|
||||
{
|
||||
|
||||
if ($this->total_cases_open !== $v || $v === 0) {
|
||||
if ($this->total_cases_open !== $v || $v === 0.0) {
|
||||
$this->total_cases_open = $v;
|
||||
$this->modifiedColumns[] = ProReportingPeer::TOTAL_CASES_OPEN;
|
||||
}
|
||||
@@ -466,7 +466,7 @@ abstract class BaseProReporting extends BaseObject implements Persistent
|
||||
public function setTotalCasesOverdue($v)
|
||||
{
|
||||
|
||||
if ($this->total_cases_overdue !== $v || $v === 0) {
|
||||
if ($this->total_cases_overdue !== $v || $v === 0.0) {
|
||||
$this->total_cases_overdue = $v;
|
||||
$this->modifiedColumns[] = ProReportingPeer::TOTAL_CASES_OVERDUE;
|
||||
}
|
||||
@@ -482,7 +482,7 @@ abstract class BaseProReporting extends BaseObject implements Persistent
|
||||
public function setTotalCasesOnTime($v)
|
||||
{
|
||||
|
||||
if ($this->total_cases_on_time !== $v || $v === 0) {
|
||||
if ($this->total_cases_on_time !== $v || $v === 0.0) {
|
||||
$this->total_cases_on_time = $v;
|
||||
$this->modifiedColumns[] = ProReportingPeer::TOTAL_CASES_ON_TIME;
|
||||
}
|
||||
@@ -498,7 +498,7 @@ abstract class BaseProReporting extends BaseObject implements Persistent
|
||||
public function setProCost($v)
|
||||
{
|
||||
|
||||
if ($this->pro_cost !== $v || $v === 0) {
|
||||
if ($this->pro_cost !== $v || $v === 0.0) {
|
||||
$this->pro_cost = $v;
|
||||
$this->modifiedColumns[] = ProReportingPeer::PRO_COST;
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ abstract class BaseUsers extends BaseObject implements Persistent
|
||||
* The value for the usr_cost_by_hour field.
|
||||
* @var double
|
||||
*/
|
||||
protected $usr_cost_by_hour = 0;
|
||||
protected $usr_cost_by_hour = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the usr_unit_cost field.
|
||||
@@ -1394,7 +1394,7 @@ abstract class BaseUsers extends BaseObject implements Persistent
|
||||
public function setUsrCostByHour($v)
|
||||
{
|
||||
|
||||
if ($this->usr_cost_by_hour !== $v || $v === 0) {
|
||||
if ($this->usr_cost_by_hour !== $v || $v === 0.0) {
|
||||
$this->usr_cost_by_hour = $v;
|
||||
$this->modifiedColumns[] = UsersPeer::USR_COST_BY_HOUR;
|
||||
}
|
||||
|
||||
@@ -61,67 +61,67 @@ abstract class BaseUsrReporting extends BaseObject implements Persistent
|
||||
* The value for the total_queue_time_by_task field.
|
||||
* @var double
|
||||
*/
|
||||
protected $total_queue_time_by_task = 0;
|
||||
protected $total_queue_time_by_task = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the total_time_by_task field.
|
||||
* @var double
|
||||
*/
|
||||
protected $total_time_by_task = 0;
|
||||
protected $total_time_by_task = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the total_cases_in field.
|
||||
* @var double
|
||||
*/
|
||||
protected $total_cases_in = 0;
|
||||
protected $total_cases_in = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the total_cases_out field.
|
||||
* @var double
|
||||
*/
|
||||
protected $total_cases_out = 0;
|
||||
protected $total_cases_out = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the user_hour_cost field.
|
||||
* @var double
|
||||
*/
|
||||
protected $user_hour_cost = 0;
|
||||
protected $user_hour_cost = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the avg_time field.
|
||||
* @var double
|
||||
*/
|
||||
protected $avg_time = 0;
|
||||
protected $avg_time = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the sdv_time field.
|
||||
* @var double
|
||||
*/
|
||||
protected $sdv_time = 0;
|
||||
protected $sdv_time = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the configured_task_time field.
|
||||
* @var double
|
||||
*/
|
||||
protected $configured_task_time = 0;
|
||||
protected $configured_task_time = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the total_cases_overdue field.
|
||||
* @var double
|
||||
*/
|
||||
protected $total_cases_overdue = 0;
|
||||
protected $total_cases_overdue = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the total_cases_on_time field.
|
||||
* @var double
|
||||
*/
|
||||
protected $total_cases_on_time = 0;
|
||||
protected $total_cases_on_time = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the pro_cost field.
|
||||
* @var double
|
||||
*/
|
||||
protected $pro_cost = 0;
|
||||
protected $pro_cost = 0.0;
|
||||
|
||||
/**
|
||||
* The value for the pro_unit_cost field.
|
||||
@@ -449,7 +449,7 @@ abstract class BaseUsrReporting extends BaseObject implements Persistent
|
||||
public function setTotalQueueTimeByTask($v)
|
||||
{
|
||||
|
||||
if ($this->total_queue_time_by_task !== $v || $v === 0) {
|
||||
if ($this->total_queue_time_by_task !== $v || $v === 0.0) {
|
||||
$this->total_queue_time_by_task = $v;
|
||||
$this->modifiedColumns[] = UsrReportingPeer::TOTAL_QUEUE_TIME_BY_TASK;
|
||||
}
|
||||
@@ -465,7 +465,7 @@ abstract class BaseUsrReporting extends BaseObject implements Persistent
|
||||
public function setTotalTimeByTask($v)
|
||||
{
|
||||
|
||||
if ($this->total_time_by_task !== $v || $v === 0) {
|
||||
if ($this->total_time_by_task !== $v || $v === 0.0) {
|
||||
$this->total_time_by_task = $v;
|
||||
$this->modifiedColumns[] = UsrReportingPeer::TOTAL_TIME_BY_TASK;
|
||||
}
|
||||
@@ -481,7 +481,7 @@ abstract class BaseUsrReporting extends BaseObject implements Persistent
|
||||
public function setTotalCasesIn($v)
|
||||
{
|
||||
|
||||
if ($this->total_cases_in !== $v || $v === 0) {
|
||||
if ($this->total_cases_in !== $v || $v === 0.0) {
|
||||
$this->total_cases_in = $v;
|
||||
$this->modifiedColumns[] = UsrReportingPeer::TOTAL_CASES_IN;
|
||||
}
|
||||
@@ -497,7 +497,7 @@ abstract class BaseUsrReporting extends BaseObject implements Persistent
|
||||
public function setTotalCasesOut($v)
|
||||
{
|
||||
|
||||
if ($this->total_cases_out !== $v || $v === 0) {
|
||||
if ($this->total_cases_out !== $v || $v === 0.0) {
|
||||
$this->total_cases_out = $v;
|
||||
$this->modifiedColumns[] = UsrReportingPeer::TOTAL_CASES_OUT;
|
||||
}
|
||||
@@ -513,7 +513,7 @@ abstract class BaseUsrReporting extends BaseObject implements Persistent
|
||||
public function setUserHourCost($v)
|
||||
{
|
||||
|
||||
if ($this->user_hour_cost !== $v || $v === 0) {
|
||||
if ($this->user_hour_cost !== $v || $v === 0.0) {
|
||||
$this->user_hour_cost = $v;
|
||||
$this->modifiedColumns[] = UsrReportingPeer::USER_HOUR_COST;
|
||||
}
|
||||
@@ -529,7 +529,7 @@ abstract class BaseUsrReporting extends BaseObject implements Persistent
|
||||
public function setAvgTime($v)
|
||||
{
|
||||
|
||||
if ($this->avg_time !== $v || $v === 0) {
|
||||
if ($this->avg_time !== $v || $v === 0.0) {
|
||||
$this->avg_time = $v;
|
||||
$this->modifiedColumns[] = UsrReportingPeer::AVG_TIME;
|
||||
}
|
||||
@@ -545,7 +545,7 @@ abstract class BaseUsrReporting extends BaseObject implements Persistent
|
||||
public function setSdvTime($v)
|
||||
{
|
||||
|
||||
if ($this->sdv_time !== $v || $v === 0) {
|
||||
if ($this->sdv_time !== $v || $v === 0.0) {
|
||||
$this->sdv_time = $v;
|
||||
$this->modifiedColumns[] = UsrReportingPeer::SDV_TIME;
|
||||
}
|
||||
@@ -561,7 +561,7 @@ abstract class BaseUsrReporting extends BaseObject implements Persistent
|
||||
public function setConfiguredTaskTime($v)
|
||||
{
|
||||
|
||||
if ($this->configured_task_time !== $v || $v === 0) {
|
||||
if ($this->configured_task_time !== $v || $v === 0.0) {
|
||||
$this->configured_task_time = $v;
|
||||
$this->modifiedColumns[] = UsrReportingPeer::CONFIGURED_TASK_TIME;
|
||||
}
|
||||
@@ -577,7 +577,7 @@ abstract class BaseUsrReporting extends BaseObject implements Persistent
|
||||
public function setTotalCasesOverdue($v)
|
||||
{
|
||||
|
||||
if ($this->total_cases_overdue !== $v || $v === 0) {
|
||||
if ($this->total_cases_overdue !== $v || $v === 0.0) {
|
||||
$this->total_cases_overdue = $v;
|
||||
$this->modifiedColumns[] = UsrReportingPeer::TOTAL_CASES_OVERDUE;
|
||||
}
|
||||
@@ -593,7 +593,7 @@ abstract class BaseUsrReporting extends BaseObject implements Persistent
|
||||
public function setTotalCasesOnTime($v)
|
||||
{
|
||||
|
||||
if ($this->total_cases_on_time !== $v || $v === 0) {
|
||||
if ($this->total_cases_on_time !== $v || $v === 0.0) {
|
||||
$this->total_cases_on_time = $v;
|
||||
$this->modifiedColumns[] = UsrReportingPeer::TOTAL_CASES_ON_TIME;
|
||||
}
|
||||
@@ -609,7 +609,7 @@ abstract class BaseUsrReporting extends BaseObject implements Persistent
|
||||
public function setProCost($v)
|
||||
{
|
||||
|
||||
if ($this->pro_cost !== $v || $v === 0) {
|
||||
if ($this->pro_cost !== $v || $v === 0.0) {
|
||||
$this->pro_cost = $v;
|
||||
$this->modifiedColumns[] = UsrReportingPeer::PRO_COST;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user