Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
doctrine-dbal
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tomáš Trávníček
doctrine-dbal
Commits
7006f4dd
Commit
7006f4dd
authored
Apr 22, 2010
by
Guilherme Blanco
Browse files
Options
Browse Files
Download
Plain Diff
Merge commit 'upstream/master'
parents
5ecca4f5
4b39705c
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
171 additions
and
99 deletions
+171
-99
Configuration.php
lib/Doctrine/DBAL/Configuration.php
+4
-18
Configuration.php
lib/Doctrine/ORM/Configuration.php
+51
-48
SingleTablePersister.php
lib/Doctrine/ORM/Persisters/SingleTablePersister.php
+0
-1
PathExpression.php
lib/Doctrine/ORM/Query/AST/PathExpression.php
+0
-5
Parser.php
lib/Doctrine/ORM/Query/Parser.php
+12
-14
SqlWalker.php
lib/Doctrine/ORM/Query/SqlWalker.php
+7
-9
CompanyEvent.php
tests/Doctrine/Tests/Models/Company/CompanyEvent.php
+2
-2
ClassTableInheritanceTest.php
...ctrine/Tests/ORM/Functional/ClassTableInheritanceTest.php
+0
-1
DDC512Test.php
tests/Doctrine/Tests/ORM/Functional/Ticket/DDC512Test.php
+94
-0
SelectSqlGenerationTest.php
tests/Doctrine/Tests/ORM/Query/SelectSqlGenerationTest.php
+1
-1
No files found.
lib/Doctrine/DBAL/Configuration.php
View file @
7006f4dd
<?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
...
...
@@ -21,15 +19,12 @@
namespace
Doctrine\DBAL
;
use
Doctrine\DBAL\
Types\Type
;
use
Doctrine\DBAL\
Logging\SQLLogger
;
/**
* Configuration container for the Doctrine DBAL.
*
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @link www.doctrine-project.org
* @since 2.0
* @version $Revision: 3938 $
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
* @author Jonathan Wage <jonwage@gmail.com>
* @author Roman Borschel <roman@code-factory.org>
...
...
@@ -46,22 +41,12 @@ class Configuration
*/
protected
$_attributes
=
array
();
/**
* Creates a new DBAL configuration instance.
*/
public
function
__construct
()
{
$this
->
_attributes
=
array
(
'sqlLogger'
=>
null
);
}
/**
* Sets the SQL logger to use. Defaults to NULL which means SQL logging is disabled.
*
* @param SQLLogger $logger
*/
public
function
setSQLLogger
(
$logger
)
public
function
setSQLLogger
(
SQLLogger
$logger
)
{
$this
->
_attributes
[
'sqlLogger'
]
=
$logger
;
}
...
...
@@ -73,6 +58,7 @@ class Configuration
*/
public
function
getSQLLogger
()
{
return
$this
->
_attributes
[
'sqlLogger'
];
return
isset
(
$this
->
_attributes
[
'sqlLogger'
])
?
$this
->
_attributes
[
'sqlLogger'
]
:
null
;
}
}
\ No newline at end of file
lib/Doctrine/ORM/Configuration.php
View file @
7006f4dd
...
...
@@ -27,8 +27,7 @@ use Doctrine\Common\Cache\Cache,
* It combines all configuration options from DBAL & ORM.
*
* @since 2.0
* @internal When adding a new configuration option just write a getter/setter
* pair and add the option to the _attributes array with a proper default value.
* @internal When adding a new configuration option just write a getter/setter pair.
* @author Benjamin Eberlei <kontakt@beberlei.de>
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
* @author Jonathan Wage <jonwage@gmail.com>
...
...
@@ -36,31 +35,6 @@ use Doctrine\Common\Cache\Cache,
*/
class
Configuration
extends
\Doctrine\DBAL\Configuration
{
/**
* Creates a new configuration that can be used for Doctrine.
*/
public
function
__construct
()
{
parent
::
__construct
();
$this
->
_attributes
=
array_merge
(
$this
->
_attributes
,
array
(
'resultCacheImpl'
=>
null
,
'queryCacheImpl'
=>
null
,
'metadataCacheImpl'
=>
null
,
'metadataDriverImpl'
=>
null
,
'proxyDir'
=>
null
,
'useCExtension'
=>
false
,
'autoGenerateProxyClasses'
=>
true
,
'proxyNamespace'
=>
null
,
'entityNamespaces'
=>
array
(),
'namedNativeQueries'
=>
array
(),
'namedQueries'
=>
array
(),
// Custom DQL Functions
'customDatetimeFunctions'
=>
array
(),
'customNumericFunctions'
=>
array
(),
'customStringFunctions'
=>
array
()
));
}
/**
* Sets the directory where Doctrine generates any necessary proxy class files.
*
...
...
@@ -78,7 +52,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
*/
public
function
getProxyDir
()
{
return
$this
->
_attributes
[
'proxyDir'
];
return
isset
(
$this
->
_attributes
[
'proxyDir'
])
?
$this
->
_attributes
[
'proxyDir'
]
:
null
;
}
/**
...
...
@@ -89,7 +64,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
*/
public
function
getAutoGenerateProxyClasses
()
{
return
$this
->
_attributes
[
'autoGenerateProxyClasses'
];
return
isset
(
$this
->
_attributes
[
'autoGenerateProxyClasses'
])
?
$this
->
_attributes
[
'autoGenerateProxyClasses'
]
:
true
;
}
/**
...
...
@@ -110,7 +86,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
*/
public
function
getProxyNamespace
()
{
return
$this
->
_attributes
[
'proxyNamespace'
];
return
isset
(
$this
->
_attributes
[
'proxyNamespace'
])
?
$this
->
_attributes
[
'proxyNamespace'
]
:
null
;
}
/**
...
...
@@ -195,7 +172,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
*/
public
function
getMetadataDriverImpl
()
{
return
$this
->
_attributes
[
'metadataDriverImpl'
];
return
isset
(
$this
->
_attributes
[
'metadataDriverImpl'
])
?
$this
->
_attributes
[
'metadataDriverImpl'
]
:
null
;
}
/**
...
...
@@ -205,7 +183,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
*/
public
function
getResultCacheImpl
()
{
return
$this
->
_attributes
[
'resultCacheImpl'
];
return
isset
(
$this
->
_attributes
[
'resultCacheImpl'
])
?
$this
->
_attributes
[
'resultCacheImpl'
]
:
null
;
}
/**
...
...
@@ -225,7 +204,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
*/
public
function
getQueryCacheImpl
()
{
return
$this
->
_attributes
[
'queryCacheImpl'
];
return
isset
(
$this
->
_attributes
[
'queryCacheImpl'
])
?
$this
->
_attributes
[
'queryCacheImpl'
]
:
null
;
}
/**
...
...
@@ -245,7 +225,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
*/
public
function
getMetadataCacheImpl
()
{
return
$this
->
_attributes
[
'metadataCacheImpl'
];
return
isset
(
$this
->
_attributes
[
'metadataCacheImpl'
])
?
$this
->
_attributes
[
'metadataCacheImpl'
]
:
null
;
}
/**
...
...
@@ -266,7 +247,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
*/
public
function
getUseCExtension
()
{
return
$this
->
_attributes
[
'useCExtension'
];
return
isset
(
$this
->
_attributes
[
'useCExtension'
])
?
$this
->
_attributes
[
'useCExtension'
]
:
false
;
}
/**
...
...
@@ -357,6 +339,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
* Such a function can then be used in any DQL statement in any place where string
* functions are allowed.
*
* DQL function names are case-insensitive.
*
* @param string $name
* @param string $className
*/
...
...
@@ -374,18 +358,23 @@ class Configuration extends \Doctrine\DBAL\Configuration
public
function
getCustomStringFunction
(
$name
)
{
$name
=
strtolower
(
$name
);
return
isset
(
$this
->
_attributes
[
'customStringFunctions'
][
$name
])
?
$this
->
_attributes
[
'customStringFunctions'
][
$name
]
:
null
;
}
/**
* Clean custom DQL functions that produces string values.
* Sets a map of custom DQL string functions.
*
* Keys must be function names and values the FQCN of the implementing class.
* The function names will be case-insensitive in DQL.
*
* Any previously added string functions are discarded.
*
* @param array $functions The map of custom DQL string functions.
*/
public
function
clearCustomStringFunctions
(
)
public
function
setCustomStringFunctions
(
array
$functions
)
{
$this
->
_attributes
[
'customStringFunctions'
]
=
array
(
);
$this
->
_attributes
[
'customStringFunctions'
]
=
array
_change_key_case
(
$functions
);
}
/**
...
...
@@ -393,6 +382,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
* Such a function can then be used in any DQL statement in any place where numeric
* functions are allowed.
*
* DQL function names are case-insensitive.
*
* @param string $name
* @param string $className
*/
...
...
@@ -410,18 +401,23 @@ class Configuration extends \Doctrine\DBAL\Configuration
public
function
getCustomNumericFunction
(
$name
)
{
$name
=
strtolower
(
$name
);
return
isset
(
$this
->
_attributes
[
'customNumericFunctions'
][
$name
])
?
$this
->
_attributes
[
'customNumericFunctions'
][
$name
]
:
null
;
}
/**
* Clean custom DQL functions that produces numeric values.
* Sets a map of custom DQL numeric functions.
*
* Keys must be function names and values the FQCN of the implementing class.
* The function names will be case-insensitive in DQL.
*
* Any previously added numeric functions are discarded.
*
* @param array $functions The map of custom DQL numeric functions.
*/
public
function
clearCustomNumericFunctions
(
)
public
function
setCustomNumericFunctions
(
array
$functions
)
{
$this
->
_attributes
[
'customNumericFunctions'
]
=
array
(
);
$this
->
_attributes
[
'customNumericFunctions'
]
=
array
_change_key_case
(
$functions
);
}
/**
...
...
@@ -429,6 +425,8 @@ class Configuration extends \Doctrine\DBAL\Configuration
* Such a function can then be used in any DQL statement in any place where date/time
* functions are allowed.
*
* DQL function names are case-insensitive.
*
* @param string $name
* @param string $className
*/
...
...
@@ -446,17 +444,22 @@ class Configuration extends \Doctrine\DBAL\Configuration
public
function
getCustomDatetimeFunction
(
$name
)
{
$name
=
strtolower
(
$name
);
return
isset
(
$this
->
_attributes
[
'customDatetimeFunctions'
][
$name
])
?
$this
->
_attributes
[
'customDatetimeFunctions'
][
$name
]
:
null
;
}
/**
* Clean custom DQL functions that produces date/time values.
*
* Sets a map of custom DQL date/time functions.
*
* Keys must be function names and values the FQCN of the implementing class.
* The function names will be case-insensitive in DQL.
*
* Any previously added date/time functions are discarded.
*
* @param array $functions The map of custom DQL date/time functions.
*/
public
function
clearCustomDatetimeFunctions
(
)
public
function
setCustomDatetimeFunctions
(
array
$functions
)
{
$this
->
_attributes
[
'customDatetimeFunctions'
]
=
array
(
);
$this
->
_attributes
[
'customDatetimeFunctions'
]
=
array
_change_key_case
(
$functions
);
}
}
\ No newline at end of file
lib/Doctrine/ORM/Persisters/SingleTablePersister.php
View file @
7006f4dd
...
...
@@ -26,7 +26,6 @@ use Doctrine\ORM\Mapping\ClassMetadata;
* SINGLE_TABLE strategy.
*
* @author Roman Borschel <roman@code-factory.org>
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @since 2.0
* @link http://martinfowler.com/eaaCatalog/singleTableInheritance.html
*/
...
...
lib/Doctrine/ORM/Query/AST/PathExpression.php
View file @
7006f4dd
<?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
...
...
@@ -31,10 +29,7 @@ namespace Doctrine\ORM\Query\AST;
* SimpleStateFieldPathExpression ::= IdentificationVariable "." StateField
* SimpleStateFieldAssociationPathExpression ::= SingleValuedAssociationPathExpression "." StateField
*
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @link www.doctrine-project.org
* @since 2.0
* @version $Revision: 3938 $
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
* @author Jonathan Wage <jonwage@gmail.com>
* @author Roman Borschel <roman@code-factory.org>
...
...
lib/Doctrine/ORM/Query/Parser.php
View file @
7006f4dd
<?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
...
...
@@ -27,10 +25,7 @@ use Doctrine\ORM\Query;
* An LL(*) recursive-descent parser for the context-free grammar of the Doctrine Query Language.
* Parses a DQL query, reports any errors in it, and generates an AST.
*
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @link www.doctrine-project.org
* @since 2.0
* @version $Revision: 3938 $
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
* @author Jonathan Wage <jonwage@gmail.com>
* @author Roman Borschel <roman@code-factory.org>
...
...
@@ -2624,9 +2619,10 @@ class Parser
public
function
CustomFunctionsReturningNumerics
()
{
$funcNameLower
=
strtolower
(
$this
->
_lexer
->
lookahead
[
'value'
]);
$funcClass
=
$this
->
_em
->
getConfiguration
()
->
getCustomNumericFunction
(
$funcNameLower
);
$function
=
new
$funcClass
(
$funcNameLower
);
$funcName
=
strtolower
(
$this
->
_lexer
->
lookahead
[
'value'
]);
// getCustomNumericFunction is case-insensitive
$funcClass
=
$this
->
_em
->
getConfiguration
()
->
getCustomNumericFunction
(
$funcName
);
$function
=
new
$funcClass
(
$funcName
);
$function
->
parse
(
$this
);
return
$function
;
...
...
@@ -2647,9 +2643,10 @@ class Parser
public
function
CustomFunctionsReturningDatetime
()
{
$funcNameLower
=
strtolower
(
$this
->
_lexer
->
lookahead
[
'value'
]);
$funcClass
=
$this
->
_em
->
getConfiguration
()
->
getCustomDatetimeFunction
(
$funcNameLower
);
$function
=
new
$funcClass
(
$funcNameLower
);
$funcName
=
$this
->
_lexer
->
lookahead
[
'value'
];
// getCustomDatetimeFunction is case-insensitive
$funcClass
=
$this
->
_em
->
getConfiguration
()
->
getCustomDatetimeFunction
(
$funcName
);
$function
=
new
$funcClass
(
$funcName
);
$function
->
parse
(
$this
);
return
$function
;
...
...
@@ -2675,9 +2672,10 @@ class Parser
public
function
CustomFunctionsReturningStrings
()
{
$funcNameLower
=
strtolower
(
$this
->
_lexer
->
lookahead
[
'value'
]);
$funcClass
=
$this
->
_em
->
getConfiguration
()
->
getCustomStringFunction
(
$funcNameLower
);
$function
=
new
$funcClass
(
$funcNameLower
);
$funcName
=
$this
->
_lexer
->
lookahead
[
'value'
];
// getCustomStringFunction is case-insensitive
$funcClass
=
$this
->
_em
->
getConfiguration
()
->
getCustomStringFunction
(
$funcName
);
$function
=
new
$funcClass
(
$funcName
);
$function
->
parse
(
$this
);
return
$function
;
...
...
lib/Doctrine/ORM/Query/SqlWalker.php
View file @
7006f4dd
<?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
...
...
@@ -240,16 +238,17 @@ class SqlWalker implements TreeWalker
{
$sql
=
''
;
$baseTableAlias
=
$this
->
getS
ql
TableAlias
(
$class
->
table
[
'name'
],
$dqlAlias
);
$baseTableAlias
=
$this
->
getS
QL
TableAlias
(
$class
->
table
[
'name'
],
$dqlAlias
);
// INNER JOIN parent class tables
foreach
(
$class
->
parentClasses
as
$parentClassName
)
{
$parentClass
=
$this
->
_em
->
getClassMetadata
(
$parentClassName
);
$tableAlias
=
$this
->
getSqlTableAlias
(
$parentClass
->
table
[
'name'
],
$dqlAlias
);
$sql
.=
' INNER JOIN '
.
$parentClass
->
getQuotedTableName
(
$this
->
_platform
)
$tableAlias
=
$this
->
getSQLTableAlias
(
$parentClass
->
table
[
'name'
],
$dqlAlias
);
// If this is a joined association we must use left joins to preserve the correct result.
$sql
.=
isset
(
$this
->
_queryComponents
[
$dqlAlias
][
'relation'
])
?
' LEFT '
:
' INNER '
;
$sql
.=
'JOIN '
.
$parentClass
->
getQuotedTableName
(
$this
->
_platform
)
.
' '
.
$tableAlias
.
' ON '
;
$first
=
true
;
foreach
(
$class
->
identifier
as
$idField
)
{
if
(
$first
)
$first
=
false
;
else
$sql
.=
' AND '
;
...
...
@@ -260,14 +259,13 @@ class SqlWalker implements TreeWalker
}
}
// LEFT JOIN subclass tables, if partial objects disallowed
// LEFT JOIN subclass tables, if partial objects disallowed
.
if
(
!
$this
->
_query
->
getHint
(
Query
::
HINT_FORCE_PARTIAL_LOAD
))
{
foreach
(
$class
->
subClasses
as
$subClassName
)
{
$subClass
=
$this
->
_em
->
getClassMetadata
(
$subClassName
);
$tableAlias
=
$this
->
getS
ql
TableAlias
(
$subClass
->
table
[
'name'
],
$dqlAlias
);
$tableAlias
=
$this
->
getS
QL
TableAlias
(
$subClass
->
table
[
'name'
],
$dqlAlias
);
$sql
.=
' LEFT JOIN '
.
$subClass
->
getQuotedTableName
(
$this
->
_platform
)
.
' '
.
$tableAlias
.
' ON '
;
$first
=
true
;
foreach
(
$class
->
identifier
as
$idField
)
{
if
(
$first
)
$first
=
false
;
else
$sql
.=
' AND '
;
...
...
tests/Doctrine/Tests/Models/Company/CompanyEvent.php
View file @
7006f4dd
...
...
@@ -6,9 +6,9 @@ namespace Doctrine\Tests\Models\Company;
* @Entity @Table(name="company_events")
* @InheritanceType("JOINED")
* @DiscriminatorColumn(name="event_type", type="string")
* @DiscriminatorMap({"auction"
= "CompanyAuction", "raffle" =
"CompanyRaffle"})
* @DiscriminatorMap({"auction"
="CompanyAuction", "raffle"=
"CompanyRaffle"})
*/
class
CompanyEvent
{
abstract
class
CompanyEvent
{
/**
* @Id @Column(type="integer")
* @GeneratedValue
...
...
tests/Doctrine/Tests/ORM/Functional/ClassTableInheritanceTest.php
View file @
7006f4dd
...
...
@@ -294,5 +294,4 @@ class ClassTableInheritanceTest extends \Doctrine\Tests\OrmFunctionalTestCase
->
getResult
())
>
0
);
}
}
tests/Doctrine/Tests/ORM/Functional/Ticket/DDC512Test.php
0 → 100644
View file @
7006f4dd
<?php
namespace
Doctrine\Tests\ORM\Functional\Ticket
;
require_once
__DIR__
.
'/../../../TestInit.php'
;
class
DDC512Test
extends
\Doctrine\Tests\OrmFunctionalTestCase
{
protected
function
setUp
()
{
parent
::
setUp
();
$this
->
_schemaTool
->
createSchema
(
array
(
$this
->
_em
->
getClassMetadata
(
__NAMESPACE__
.
'\DDC512Customer'
),
$this
->
_em
->
getClassMetadata
(
__NAMESPACE__
.
'\DDC512OfferItem'
),
$this
->
_em
->
getClassMetadata
(
__NAMESPACE__
.
'\DDC512Item'
),
));
}
public
function
testIssue
()
{
$customer1
=
new
DDC512Customer
();
$item
=
new
DDC512OfferItem
();
$customer1
->
item
=
$item
;
$this
->
_em
->
persist
(
$customer1
);
$customer2
=
new
DDC512Customer
();
$this
->
_em
->
persist
(
$customer2
);
$this
->
_em
->
flush
();
$this
->
_em
->
clear
();
$q
=
$this
->
_em
->
createQuery
(
"select u,i from "
.
__NAMESPACE__
.
"
\\
DDC512Customer u left join u.item i"
);
$result
=
$q
->
getResult
();
$this
->
assertEquals
(
2
,
count
(
$result
));
$this
->
assertTrue
(
$result
[
0
]
instanceof
DDC512Customer
);
$this
->
assertTrue
(
$result
[
1
]
instanceof
DDC512Customer
);
if
(
$result
[
0
]
->
id
==
$customer1
->
id
)
{
$this
->
assertTrue
(
$result
[
0
]
->
item
instanceof
DDC512OfferItem
);
$this
->
assertEquals
(
$item
->
id
,
$result
[
0
]
->
item
->
id
);
$this
->
assertNull
(
$result
[
1
]
->
item
);
}
else
{
$this
->
assertTrue
(
$result
[
1
]
->
item
instanceof
DDC512OfferItem
);
$this
->
assertNull
(
$result
[
0
]
->
item
);
}
}
}
/**
* @Entity
*/
class
DDC512Customer
{
/**
* @Id
* @Column(type="integer")
* @GeneratedValue(strategy="AUTO")
*/
public
$id
;
/**
* NOTE that we can currently not name the join column the same as the field
* (item = item), this currently confuses Doctrine.
*
* @OneToOne(targetEntity="DDC512OfferItem", cascade={"remove","persist"})
* @JoinColumn(name="item_id", referencedColumnName="id")
*/
public
$item
;
}
/**
* @Entity
*/
class
DDC512OfferItem
extends
DDC512Item
{
}
/**
* @Entity
* @InheritanceType("JOINED")
* @DiscriminatorColumn(name="discr", type="string")
* @DiscriminatorMap({"item" = "DDC512Item", "offerItem" = "DDC512OfferItem"})
*/
class
DDC512Item
{
/**
* @Id
* @Column(type="integer")
* @GeneratedValue(strategy="AUTO")
*/
public
$id
;
}
tests/Doctrine/Tests/ORM/Query/SelectSqlGenerationTest.php
View file @
7006f4dd
...
...
@@ -610,7 +610,7 @@ class SelectSqlGenerationTest extends \Doctrine\Tests\OrmTestCase
'SELECT ABS(c0_.phonenumber) AS sclr0 FROM cms_phonenumbers c0_'
);
$config
->
clearCustomNumericFunctions
(
);
$config
->
setCustomNumericFunctions
(
array
()
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment