PMCORE-3844
This commit is contained in:
committed by
Mauricio Veliz
parent
7bb67a97bd
commit
9f1b738093
@@ -91,7 +91,7 @@ abstract class DataModelBuilder {
|
||||
// This is a slight hack to workaround camel case inconsistencies for the DDL classes.
|
||||
// Basically, we want to turn ?.?.?.sqliteDDLBuilder into ?.?.?.SqliteDDLBuilder
|
||||
$lastdotpos = strrpos($classpath, '.');
|
||||
if ($lastdotpos) $classpath{$lastdotpos+1} = strtoupper($classpath{$lastdotpos+1});
|
||||
if ($lastdotpos) $classpath[$lastdotpos+1] = strtoupper($classpath[$lastdotpos+1]);
|
||||
else ucfirst($classpath);
|
||||
|
||||
return Phing::import($classpath);
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* $Id: SqliteDataSQLBuilder.php 3752 2007-04-11 09:11:18Z fabien $
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* This software consists of voluntary contributions made by many individuals
|
||||
* and is licensed under the LGPL. For more information please see
|
||||
* <http://propel.phpdb.org>.
|
||||
*/
|
||||
|
||||
require_once 'propel/engine/builder/sql/DataSQLBuilder.php';
|
||||
|
||||
/**
|
||||
* SQLite class for building data dump SQL.
|
||||
*
|
||||
* @author Hans Lellelid <hans@xmpl.org>
|
||||
* @package propel.engine.builder.sql.sqlite
|
||||
*/
|
||||
class SqliteDataSQLBuilder extends DataSQLBuilder {
|
||||
|
||||
/**
|
||||
* Returns string processed by sqlite_udf_encode_binary() to ensure that binary contents will be handled correctly by sqlite.
|
||||
* @param mixed $blob Blob or string
|
||||
* @return string encoded text
|
||||
*/
|
||||
protected function getBlobSql($blob)
|
||||
{
|
||||
// they took magic __toString() out of PHP5.0.0; this sucks
|
||||
if (is_object($blob)) {
|
||||
$blob = $blob->__toString();
|
||||
}
|
||||
return "'" . sqlite_udf_encode_binary($blob) . "'";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -178,7 +178,7 @@ class XmlToAppData extends AbstractHandler
|
||||
$this->isForReferenceOnly = ($isForRefOnly !== null ? (strtolower($isForRefOnly) === "true") : true); // defaults to TRUE
|
||||
}
|
||||
|
||||
if ($xmlFile{0} != '/') {
|
||||
if ($xmlFile[0] != '/') {
|
||||
$f = new PhingFile($this->currentXmlFile);
|
||||
$xf = new PhingFile($f->getParent(), $xmlFile);
|
||||
$xmlFile = $xf->getPath();
|
||||
|
||||
@@ -1,92 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
* $Id: SqlitePlatform.php 3752 2007-04-11 09:11:18Z fabien $
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* This software consists of voluntary contributions made by many individuals
|
||||
* and is licensed under the LGPL. For more information please see
|
||||
* <http://propel.phpdb.org>.
|
||||
*/
|
||||
|
||||
require_once 'propel/engine/platform/DefaultPlatform.php';
|
||||
|
||||
/**
|
||||
* SQLite Platform implementation.
|
||||
*
|
||||
* @author Hans Lellelid <hans@xmpl.org>
|
||||
* @version $Revision: 536 $
|
||||
* @package propel.engine.platform
|
||||
*/
|
||||
class SqlitePlatform extends DefaultPlatform {
|
||||
|
||||
/**
|
||||
* Initializes db specific domain mapping.
|
||||
*/
|
||||
protected function initialize()
|
||||
{
|
||||
parent::initialize();
|
||||
$this->setSchemaDomainMapping(new Domain(PropelTypes::NUMERIC, "DECIMAL"));
|
||||
$this->setSchemaDomainMapping(new Domain(PropelTypes::LONGVARCHAR, "MEDIUMTEXT"));
|
||||
$this->setSchemaDomainMapping(new Domain(PropelTypes::DATE, "DATETIME"));
|
||||
$this->setSchemaDomainMapping(new Domain(PropelTypes::BINARY, "BLOB"));
|
||||
$this->setSchemaDomainMapping(new Domain(PropelTypes::VARBINARY, "MEDIUMBLOB"));
|
||||
$this->setSchemaDomainMapping(new Domain(PropelTypes::LONGVARBINARY, "LONGBLOB"));
|
||||
$this->setSchemaDomainMapping(new Domain(PropelTypes::BLOB, "LONGBLOB"));
|
||||
$this->setSchemaDomainMapping(new Domain(PropelTypes::CLOB, "LONGTEXT"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Platform#getAutoIncrement()
|
||||
* @link http://www.sqlite.org/autoinc.html
|
||||
*/
|
||||
public function getAutoIncrement()
|
||||
{
|
||||
|
||||
return "PRIMARY KEY";
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Platform#getMaxColumnNameLength()
|
||||
*/
|
||||
public function getMaxColumnNameLength()
|
||||
{
|
||||
return 1024;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Platform#hasSize(String)
|
||||
*/
|
||||
public function hasSize($sqlType) {
|
||||
return !("MEDIUMTEXT" == $sqlType || "LONGTEXT" == $sqlType
|
||||
|| "BLOB" == $sqlType || "MEDIUMBLOB" == $sqlType
|
||||
|| "LONGBLOB" == $sqlType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Escape the string for RDBMS.
|
||||
* @param string $text
|
||||
* @return string
|
||||
*/
|
||||
public function escapeText($text) {
|
||||
return sqlite_escape_string($text);
|
||||
}
|
||||
|
||||
/**
|
||||
* @see Platform::quoteIdentifier()
|
||||
*/
|
||||
public function quoteIdentifier($text)
|
||||
{
|
||||
return '[' . $text . ']';
|
||||
}
|
||||
}
|
||||
@@ -369,7 +369,7 @@ abstract class AbstractPropelDataModelTask extends TaskPhing {
|
||||
// This is a slight hack to workaround camel case inconsistencies for the DDL classes.
|
||||
// Basically, we want to turn ?.?.?.sqliteDDLBuilder into ?.?.?.SqliteDDLBuilder
|
||||
$lastdotpos = strrpos($classpath, '.');
|
||||
if ($lastdotpos) $classpath{$lastdotpos+1} = strtoupper($classpath{$lastdotpos+1});
|
||||
if ($lastdotpos) $classpath[$lastdotpos+1] = strtoupper($classpath[$lastdotpos+1]);
|
||||
else ucfirst($classpath);
|
||||
|
||||
if (empty($classpath)) {
|
||||
|
||||
Reference in New Issue
Block a user