Skip to content

Commit

Permalink
updated vendors
Browse files Browse the repository at this point in the history
  • Loading branch information
fabpot committed Dec 14, 2010
1 parent e5b5c53 commit f8f5b1c
Show file tree
Hide file tree
Showing 542 changed files with 25,186 additions and 4,987 deletions.
5 changes: 3 additions & 2 deletions bin/install_vendors.sh
Expand Up @@ -39,8 +39,9 @@ git clone git://github.com/doctrine/migrations.git doctrine-migrations
git clone git://github.com/doctrine/data-fixtures.git doctrine-data-fixtures

# Doctrine MongoDB
git clone git://github.com/doctrine/mongodb-odm.git doctrine-mongodb
cd doctrine-mongodb
git clone git://github.com/doctrine/mongodb.git doctrine-mongodb
git clone git://github.com/doctrine/mongodb-odm.git doctrine-mongodb-odm
cd doctrine-mongodb-orm
git checkout -b v1.0.0BETA1 1.0.0BETA1
cd $DIR/vendor

Expand Down
6 changes: 5 additions & 1 deletion bin/update_vendors.sh
Expand Up @@ -34,12 +34,16 @@ cd $VENDOR/doctrine-migrations && git pull
cd $VENDOR/doctrine-data-fixtures && git pull

# Doctrine MongoDB
cd $VENDOR/doctrine-mongodb
cd $VENDOR/doctrine-mongodb-odm
git checkout master
git pull
git checkout -b v1.0.0BETA1 1.0.0BETA1
git checkout master

cd $VENDOR/doctrine-mongodb
git checkout master
git pull

# Swiftmailer
cd $VENDOR/swiftmailer && git pull

Expand Down
Expand Up @@ -43,14 +43,16 @@ class DebugStack implements SQLLogger

public $start = null;

public $currentQuery = 0;

/**
* {@inheritdoc}
*/
public function startQuery($sql, array $params = null, array $types = null)
{
if ($this->enabled) {
$this->start = microtime(true);
$this->queries[] = array('sql' => $sql, 'params' => $params, 'types' => $types, 'executionMS' => 0);
$this->queries[++$this->currentQuery] = array('sql' => $sql, 'params' => $params, 'types' => $types, 'executionMS' => 0);
}
}

Expand All @@ -59,7 +61,7 @@ public function startQuery($sql, array $params = null, array $types = null)
*/
public function stopQuery()
{
$this->queries[(count($this->queries)-1)]['executionMS'] = microtime(true) - $this->start;
$this->queries[$this->currentQuery]['executionMS'] = microtime(true) - $this->start;
}
}

Expand Up @@ -1418,7 +1418,7 @@ public function getForeignKeyReferentialActionSQL($action)
return $upper;
break;
default:
throw \InvalidArgumentException('Invalid foreign key action: ' . $upper);
throw new \InvalidArgumentException('Invalid foreign key action: ' . $upper);
}
}

Expand Down
Expand Up @@ -37,8 +37,8 @@ public function initializeDoctrineTypeMappings()
'character' => 'string',
'clob' => 'text',
'decimal' => 'decimal',
'double' => 'decimal',
'real' => 'decimal',
'double' => 'float',
'real' => 'float',
'timestamp' => 'datetime',
);
}
Expand Down
Expand Up @@ -591,9 +591,9 @@ protected function initializeDoctrineTypeMappings()
'datetime' => 'datetime',
'timestamp' => 'datetime',
'time' => 'time',
'float' => 'decimal',
'double' => 'decimal',
'real' => 'decimal',
'float' => 'float',
'double' => 'float',
'real' => 'float',
'decimal' => 'decimal',
'numeric' => 'decimal',
'year' => 'date',
Expand Down
Expand Up @@ -154,30 +154,17 @@ public function getListDatabasesSQL()
public function getListSequencesSQL($database)
{
return "SELECT
relname
c.relname, n.nspname AS schemaname
FROM
pg_class
WHERE relkind = 'S' AND relnamespace IN
(SELECT oid FROM pg_namespace
WHERE nspname NOT LIKE 'pg_%' AND nspname != 'information_schema')";
pg_class c, pg_namespace n
WHERE relkind = 'S' AND n.oid = c.relnamespace AND
(n.nspname NOT LIKE 'pg_%' AND n.nspname != 'information_schema')";
}

public function getListTablesSQL()
{
return "SELECT
c.relname AS table_name
FROM pg_class c, pg_user u
WHERE c.relowner = u.usesysid
AND c.relkind = 'r'
AND NOT EXISTS (SELECT 1 FROM pg_views WHERE viewname = c.relname)
AND c.relname !~ '^(pg_|sql_)'
UNION
SELECT c.relname AS table_name
FROM pg_class c
WHERE c.relkind = 'r'
AND NOT EXISTS (SELECT 1 FROM pg_views WHERE viewname = c.relname)
AND NOT EXISTS (SELECT 1 FROM pg_user WHERE usesysid = c.relowner)
AND c.relname !~ '^pg_'";
return "SELECT tablename AS table_name, schemaname AS schema_name
FROM pg_tables WHERE schemaname NOT LIKE 'pg_%' AND schemaname != 'information_schema'";
}

public function getListViewsSQL($database)
Expand All @@ -192,9 +179,9 @@ public function getListTableForeignKeysSQL($table, $database = null)
WHERE r.conrelid =
(
SELECT c.oid
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relname = '" . $table . "' AND pg_catalog.pg_table_is_visible(c.oid)
FROM pg_catalog.pg_class c, pg_catalog.pg_namespace n
WHERE " .$this->getTableWhereClause($table) ."
AND n.oid = c.relnamespace
)
AND r.contype = 'f'";
}
Expand Down Expand Up @@ -237,11 +224,23 @@ public function getListTableIndexesSQL($table)
FROM pg_class, pg_index
WHERE oid IN (
SELECT indexrelid
FROM pg_index, pg_class
WHERE pg_class.relname='$table' AND pg_class.oid=pg_index.indrelid
FROM pg_index si, pg_class sc, pg_namespace sn
WHERE " . $this->getTableWhereClause($table, 'sc', 'sn')." AND sc.oid=si.indrelid AND sc.relnamespace = sn.oid
) AND pg_index.indexrelid = oid";
}

private function getTableWhereClause($table, $classAlias = 'c', $namespaceAlias = 'n')
{
$whereClause = "";
if (strpos($table, ".") !== false) {
list($schema, $table) = explode(".", $table);
$whereClause = "$classAlias.relname = '" . $table . "' AND $namespaceAlias.nspname = '" . $schema . "'";
} else {
$whereClause = "$classAlias.relname = '" . $table . "'";
}
return $whereClause;
}

public function getListTableColumnsSQL($table)
{
return "SELECT
Expand All @@ -264,11 +263,12 @@ public function getListTableColumnsSQL($table)
WHERE c.oid = pg_attrdef.adrelid
AND pg_attrdef.adnum=a.attnum
) AS default
FROM pg_attribute a, pg_class c, pg_type t
WHERE c.relname = '$table'
FROM pg_attribute a, pg_class c, pg_type t, pg_namespace n
WHERE ".$this->getTableWhereClause($table, 'c', 'n') ."
AND a.attnum > 0
AND a.attrelid = c.oid
AND a.atttypid = t.oid
AND n.oid = c.relnamespace
ORDER BY a.attnum";
}

Expand Down
Expand Up @@ -46,7 +46,7 @@ class Column extends AbstractAsset
/**
* @var int
*/
protected $_precision = 0;
protected $_precision = 10;

/**
* @var int
Expand Down
Expand Up @@ -145,10 +145,12 @@ protected function _getPortableTableColumnDefinition($tableColumn)
case 'varchar':
case 'varchar2':
case 'nvarchar2':
$length = $tableColumn['char_length'];
$fixed = false;
break;
case 'char':
case 'nchar':
$length = $tableColumn['char_length'];
$fixed = true;
break;
case 'date':
Expand Down
Expand Up @@ -109,7 +109,11 @@ protected function _getPortableUserDefinition($user)

protected function _getPortableTableDefinition($table)
{
return $table['table_name'];
if ($table['schema_name'] == 'public') {
return $table['table_name'];
} else {
return $table['schema_name'] . "." . $table['table_name'];
}
}

/**
Expand Down Expand Up @@ -155,8 +159,14 @@ protected function _getPortableDatabaseDefinition($database)

protected function _getPortableSequenceDefinition($sequence)
{
$data = $this->_conn->fetchAll('SELECT min_value, increment_by FROM ' . $sequence['relname']);
return new Sequence($sequence['relname'], $data[0]['increment_by'], $data[0]['min_value']);
if ($sequence['schemaname'] != 'public') {
$sequenceName = $sequence['schemaname'] . "." . $sequence['relname'];
} else {
$sequenceName = $sequence['relname'];
}

$data = $this->_conn->fetchAll('SELECT min_value, increment_by FROM ' . $sequenceName);
return new Sequence($sequenceName, $data[0]['increment_by'], $data[0]['min_value']);
}

protected function _getPortableTableColumnDefinition($tableColumn)
Expand Down
@@ -1,7 +1,5 @@
<?php
/*
* $Id$
*
* 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
Expand Down Expand Up @@ -46,7 +44,7 @@ public function convertToPHPValue($value, \Doctrine\DBAL\Platforms\AbstractPlatf

$value = (is_resource($value)) ? stream_get_contents($value) : $value;
$val = unserialize($value);
if ($val === false) {
if ($val === false && $value != 'b:0;') {
throw ConversionException::conversionFailed($value, $this->getName());
}
return $val;
Expand Down
19 changes: 18 additions & 1 deletion src/vendor/doctrine-dbal/lib/Doctrine/DBAL/Types/ObjectType.php
@@ -1,4 +1,21 @@
<?php
/*
* 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, see
* <http://www.doctrine-project.org>.
*/

namespace Doctrine\DBAL\Types;

Expand Down Expand Up @@ -27,7 +44,7 @@ public function convertToPHPValue($value, \Doctrine\DBAL\Platforms\AbstractPlatf

$value = (is_resource($value)) ? stream_get_contents($value) : $value;
$val = unserialize($value);
if ($val === false) {
if ($val === false && $value !== 'b:0;') {
throw ConversionException::conversionFailed($value, $this->getName());
}
return $val;
Expand Down
2 changes: 1 addition & 1 deletion src/vendor/doctrine-dbal/lib/Doctrine/DBAL/Version.php
Expand Up @@ -36,7 +36,7 @@ class Version
/**
* Current Doctrine Version
*/
const VERSION = '2.0.0RC4-DEV';
const VERSION = '2.0.0-DEV';

/**
* Compares a Doctrine version with the current one.
Expand Down
Expand Up @@ -98,6 +98,40 @@ public function testAlterTableAutoIncrementDrop()
$tableFinal = $this->_sm->listTableDetails('autoinc_table_drop');
$this->assertFalse($tableFinal->getColumn('id')->getAutoincrement());
}

/**
* @group DBAL-75
*/
public function testTableWithSchema()
{
$this->_conn->exec('CREATE SCHEMA nested');

$nestedRelatedTable = new \Doctrine\DBAL\Schema\Table('nested.schemarelated');
$column = $nestedRelatedTable->addColumn('id', 'integer');
$column->setAutoincrement(true);
$nestedRelatedTable->setPrimaryKey(array('id'));

$nestedSchemaTable = new \Doctrine\DBAL\Schema\Table('nested.schematable');
$column = $nestedSchemaTable->addColumn('id', 'integer');
$column->setAutoincrement(true);
$nestedSchemaTable->setPrimaryKey(array('id'));
$nestedSchemaTable->addUnnamedForeignKeyConstraint($nestedRelatedTable, array('id'), array('id'));

$this->_sm->createTable($nestedRelatedTable);
$this->_sm->createTable($nestedSchemaTable);

$tables = $this->_sm->listTableNames();
$this->assertContains('nested.schematable', $tables, "The table should be detected with its non-public schema.");

$nestedSchemaTable = $this->_sm->listTableDetails('nested.schematable');
$this->assertTrue($nestedSchemaTable->hasColumn('id'));
$this->assertEquals(array('id'), $nestedSchemaTable->getPrimaryKey()->getColumns());

$relatedFks = $nestedSchemaTable->getForeignKeys();
$this->assertEquals(1, count($relatedFks));
$relatedFk = array_pop($relatedFks);
$this->assertEquals("nested.schemarelated", $relatedFk->getForeignTableName());
}
}

class MoneyType extends Type
Expand Down
Expand Up @@ -93,7 +93,7 @@ public function testListTables()
$this->assertTrue( $foundTable , "The 'list_tables_test' table has to be found.");
}

public function testListTableColumns()
public function createListTableColumns()
{
$table = new \Doctrine\DBAL\Schema\Table('list_table_columns');
$table->addColumn('id', 'integer', array('notnull' => true));
Expand All @@ -104,6 +104,13 @@ public function testListTableColumns()
$table->addColumn('baz2', 'time');
$table->addColumn('baz3', 'date');

return $table;
}

public function testListTableColumns()
{
$table = $this->createListTableColumns();

$this->_sm->dropAndCreateTable($table);

$columns = $this->_sm->listTableColumns('list_table_columns');
Expand Down Expand Up @@ -163,6 +170,21 @@ public function testListTableColumns()
$this->assertType('array', $columns['baz3']->getPlatformOptions());
}

public function testDiffListTableColumns()
{
if ($this->_sm->getDatabasePlatform()->getName() == 'oracle') {
$this->markTestSkipped('Does not work with Oracle, since it cannot detect DateTime, Date and Time differenecs (at the moment).');
}

$offlineTable = $this->createListTableColumns();
$onlineTable = $this->_sm->listTableDetails('list_table_columns');

$comparator = new \Doctrine\DBAL\Schema\Comparator();
$diff = $comparator->diffTable($offlineTable, $onlineTable);

$this->assertFalse($diff, "No differences should be detected with the offline vs online schema.");
}

public function testListTableIndexes()
{
$table = $this->getTestTable('list_table_indexes_test');
Expand Down
Expand Up @@ -16,6 +16,12 @@ public function setUp()
$this->_platform = $this->createPlatform();
}

public function testGetInvalidtForeignKeyReferentialActionSQL()
{
$this->setExpectedException('InvalidArgumentException');
$this->_platform->getForeignKeyReferentialActionSQL('unknown');
}

public function testGetUnknownDoctrineMappingType()
{
$this->setExpectedException('Doctrine\DBAL\DBALException');
Expand Down

0 comments on commit f8f5b1c

Please sign in to comment.