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
d77ffb28
Commit
d77ffb28
authored
Jan 23, 2007
by
zYne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added support for column aliases
parent
8a1766e9
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
241 additions
and
55 deletions
+241
-55
Query.php
lib/Doctrine/Query.php
+25
-21
Where.php
lib/Doctrine/Query/Where.php
+13
-5
Record.php
lib/Doctrine/Record.php
+8
-4
Table.php
lib/Doctrine/Table.php
+44
-11
CollectionTestCase.php
tests/CollectionTestCase.php
+26
-13
ColumnAliasTestCase.php
tests/ColumnAliasTestCase.php
+89
-0
CustomResultSetOrderTestCaseTestCase.php
tests/CustomResultSetOrderTestCaseTestCase.php
+34
-0
run.php
tests/run.php
+2
-1
No files found.
lib/Doctrine/Query.php
View file @
d77ffb28
...
@@ -111,12 +111,12 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
...
@@ -111,12 +111,12 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
{
{
$tableAlias
=
$this
->
getTableAlias
(
$componentAlias
);
$tableAlias
=
$this
->
getTableAlias
(
$componentAlias
);
if
(
!
isset
(
$this
->
tables
[
$tableAlias
]))
if
(
!
isset
(
$this
->
tables
[
$tableAlias
]))
throw
new
Doctrine_Query_Exception
(
'Unknown component path '
.
$componentPath
);
throw
new
Doctrine_Query_Exception
(
'Unknown component path '
.
$componentPath
);
$table
=
$this
->
tables
[
$tableAlias
];
$table
=
$this
->
tables
[
$tableAlias
];
if
(
isset
(
$this
->
pendingFields
[
$componentAlias
]))
{
if
(
isset
(
$this
->
pendingFields
[
$componentAlias
]))
{
$fields
=
$this
->
pendingFields
[
$componentAlias
];
$fields
=
$this
->
pendingFields
[
$componentAlias
];
if
(
in_array
(
'*'
,
$fields
))
if
(
in_array
(
'*'
,
$fields
))
...
@@ -124,7 +124,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
...
@@ -124,7 +124,9 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
else
else
$fields
=
array_unique
(
array_merge
(
$table
->
getPrimaryKeys
(),
$fields
));
$fields
=
array_unique
(
array_merge
(
$table
->
getPrimaryKeys
(),
$fields
));
}
}
foreach
(
$fields
as
$name
)
{
foreach
(
$fields
as
$name
)
{
$name
=
$table
->
getColumnName
(
$name
);
$this
->
parts
[
"select"
][]
=
$tableAlias
.
'.'
.
$name
.
' AS '
.
$tableAlias
.
'__'
.
$name
;
$this
->
parts
[
"select"
][]
=
$tableAlias
.
'.'
.
$name
.
' AS '
.
$tableAlias
.
'__'
.
$name
;
}
}
...
@@ -159,34 +161,34 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
...
@@ -159,34 +161,34 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
if
(
method_exists
(
$this
->
conn
->
expression
,
$name
))
{
if
(
method_exists
(
$this
->
conn
->
expression
,
$name
))
{
$argStr
=
substr
(
$func
,
(
$pos
+
1
),
-
1
);
$argStr
=
substr
(
$func
,
(
$pos
+
1
),
-
1
);
$args
=
explode
(
','
,
$argStr
);
$args
=
explode
(
','
,
$argStr
);
$e2
=
explode
(
' '
,
$args
[
0
]);
$e2
=
explode
(
' '
,
$args
[
0
]);
$distinct
=
''
;
$distinct
=
''
;
if
(
count
(
$e2
)
>
1
)
{
if
(
count
(
$e2
)
>
1
)
{
if
(
strtoupper
(
$e2
[
0
])
==
'DISTINCT'
)
if
(
strtoupper
(
$e2
[
0
])
==
'DISTINCT'
)
$distinct
=
'DISTINCT '
;
$distinct
=
'DISTINCT '
;
$args
[
0
]
=
$e2
[
1
];
$args
[
0
]
=
$e2
[
1
];
}
}
$parts
=
explode
(
'.'
,
$args
[
0
]);
$parts
=
explode
(
'.'
,
$args
[
0
]);
$owner
=
$parts
[
0
];
$owner
=
$parts
[
0
];
$alias
=
(
isset
(
$e
[
1
]))
?
$e
[
1
]
:
$name
;
$alias
=
(
isset
(
$e
[
1
]))
?
$e
[
1
]
:
$name
;
$e3
=
explode
(
'.'
,
$alias
);
$e3
=
explode
(
'.'
,
$alias
);
if
(
count
(
$e3
)
>
1
)
{
if
(
count
(
$e3
)
>
1
)
{
$alias
=
$e3
[
1
];
$alias
=
$e3
[
1
];
$owner
=
$e3
[
0
];
$owner
=
$e3
[
0
];
}
}
$this
->
pendingAggregates
[
$owner
][]
=
array
(
$name
,
$args
,
$distinct
,
$alias
);
$this
->
pendingAggregates
[
$owner
][]
=
array
(
$name
,
$args
,
$distinct
,
$alias
);
}
else
{
}
else
{
throw
new
Doctrine_Query_Exception
(
'Unknown aggregate function '
.
$name
);
throw
new
Doctrine_Query_Exception
(
'Unknown aggregate function '
.
$name
);
}
}
...
@@ -212,6 +214,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
...
@@ -212,6 +214,8 @@ class Doctrine_Query extends Doctrine_Hydrate implements Countable {
$tableAlias
=
$this
->
getTableAlias
(
$e
[
0
]);
$tableAlias
=
$this
->
getTableAlias
(
$e
[
0
]);
$table
=
$this
->
tables
[
$tableAlias
];
$table
=
$this
->
tables
[
$tableAlias
];
$e
[
1
]
=
$table
->
getColumnName
(
$e
[
1
]);
if
(
!
$table
->
hasColumn
(
$e
[
1
]))
{
if
(
!
$table
->
hasColumn
(
$e
[
1
]))
{
throw
new
Doctrine_Query_Exception
(
'Unknown column '
.
$e
[
1
]);
throw
new
Doctrine_Query_Exception
(
'Unknown column '
.
$e
[
1
]);
}
}
...
...
lib/Doctrine/Query/Where.php
View file @
d77ffb28
...
@@ -83,8 +83,13 @@ class Doctrine_Query_Where extends Doctrine_Query_Condition
...
@@ -83,8 +83,13 @@ class Doctrine_Query_Where extends Doctrine_Query_Condition
$field
=
array_pop
(
$a
);
$field
=
array_pop
(
$a
);
$reference
=
implode
(
'.'
,
$a
);
$reference
=
implode
(
'.'
,
$a
);
$table
=
$this
->
query
->
load
(
$reference
,
false
);
$table
=
$this
->
query
->
load
(
$reference
,
false
);
$field
=
$table
->
getColumnName
(
$field
);
array_pop
(
$a
);
array_pop
(
$a
);
$reference2
=
implode
(
'.'
,
$a
);
$reference2
=
implode
(
'.'
,
$a
);
$alias
=
$this
->
query
->
getTableAlias
(
$reference2
);
$alias
=
$this
->
query
->
getTableAlias
(
$reference2
);
$stack
=
$this
->
query
->
getRelationStack
();
$stack
=
$this
->
query
->
getRelationStack
();
...
@@ -103,9 +108,10 @@ class Doctrine_Query_Where extends Doctrine_Query_Condition
...
@@ -103,9 +108,10 @@ class Doctrine_Query_Where extends Doctrine_Query_Condition
}
}
$where
=
array
();
$where
=
array
();
foreach
(
$values
as
$value
)
{
foreach
(
$values
as
$value
)
{
$where
[]
=
$alias
.
'.'
.
$relation
->
getLocal
()
.
$where
[]
=
$alias
.
'.'
.
$relation
->
getLocal
()
' IN (SELECT '
.
$relation
->
getForeign
()
.
.
' IN (SELECT '
.
$relation
->
getForeign
()
' FROM '
.
$relation
->
getTable
()
->
getTableName
()
.
' WHERE '
.
$field
.
$operator
.
$value
.
')'
;
.
' FROM '
.
$relation
->
getTable
()
->
getTableName
()
.
' WHERE '
.
$field
.
$operator
.
$value
.
')'
;
}
}
$where
=
implode
(
' AND '
,
$where
);
$where
=
implode
(
' AND '
,
$where
);
break
;
break
;
...
@@ -116,6 +122,8 @@ class Doctrine_Query_Where extends Doctrine_Query_Condition
...
@@ -116,6 +122,8 @@ class Doctrine_Query_Where extends Doctrine_Query_Condition
$table
=
$this
->
query
->
load
(
$reference
,
false
);
$table
=
$this
->
query
->
load
(
$reference
,
false
);
$alias
=
$this
->
query
->
getTableAlias
(
$reference
);
$alias
=
$this
->
query
->
getTableAlias
(
$reference
);
$table
=
$this
->
query
->
getTable
(
$alias
);
$table
=
$this
->
query
->
getTable
(
$alias
);
$field
=
$table
->
getColumnName
(
$field
);
// check if value is enumerated value
// check if value is enumerated value
$enumIndex
=
$table
->
enumIndex
(
$field
,
trim
(
$value
,
"'"
));
$enumIndex
=
$table
->
enumIndex
(
$field
,
trim
(
$value
,
"'"
));
...
@@ -161,8 +169,8 @@ class Doctrine_Query_Where extends Doctrine_Query_Condition
...
@@ -161,8 +169,8 @@ class Doctrine_Query_Where extends Doctrine_Query_Condition
$value
=
$enumIndex
;
$value
=
$enumIndex
;
}
}
default
:
default
:
$where
=
$alias
.
'.'
.
$field
.
' '
$where
=
$alias
.
'.'
.
$field
.
' '
.
$operator
.
' '
.
$value
;
.
$operator
.
' '
.
$value
;
}
}
}
}
}
}
...
...
lib/Doctrine/Record.php
View file @
d77ffb28
...
@@ -469,7 +469,7 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite
...
@@ -469,7 +469,7 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite
}
}
}
}
break
;
break
;
}
;
}
}
}
/**
/**
* serialize
* serialize
...
@@ -501,7 +501,7 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite
...
@@ -501,7 +501,7 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite
case
"object"
:
case
"object"
:
$vars
[
'_data'
][
$k
]
=
serialize
(
$vars
[
'_data'
][
$k
]);
$vars
[
'_data'
][
$k
]
=
serialize
(
$vars
[
'_data'
][
$k
]);
break
;
break
;
}
;
}
}
}
}
}
...
@@ -726,11 +726,12 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite
...
@@ -726,11 +726,12 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite
*/
*/
public
function
get
(
$name
,
$invoke
=
true
)
public
function
get
(
$name
,
$invoke
=
true
)
{
{
$listener
=
$this
->
_table
->
getAttribute
(
Doctrine
::
ATTR_LISTENER
);
$listener
=
$this
->
_table
->
getAttribute
(
Doctrine
::
ATTR_LISTENER
);
$value
=
self
::
$null
;
$value
=
self
::
$null
;
$lower
=
strtolower
(
$name
);
$lower
=
strtolower
(
$name
);
$lower
=
$this
->
_table
->
getColumnName
(
$lower
);
if
(
isset
(
$this
->
_data
[
$lower
]))
{
if
(
isset
(
$this
->
_data
[
$lower
]))
{
// check if the property is null (= it is the Doctrine_Null object located in self::$null)
// check if the property is null (= it is the Doctrine_Null object located in self::$null)
if
(
$this
->
_data
[
$lower
]
===
self
::
$null
)
{
if
(
$this
->
_data
[
$lower
]
===
self
::
$null
)
{
...
@@ -810,12 +811,15 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite
...
@@ -810,12 +811,15 @@ abstract class Doctrine_Record extends Doctrine_Access implements Countable, Ite
{
{
$lower
=
strtolower
(
$name
);
$lower
=
strtolower
(
$name
);
$lower
=
$this
->
_table
->
getColumnName
(
$lower
);
if
(
isset
(
$this
->
_data
[
$lower
]))
{
if
(
isset
(
$this
->
_data
[
$lower
]))
{
if
(
$value
instanceof
Doctrine_Record
)
{
if
(
$value
instanceof
Doctrine_Record
)
{
$id
=
$value
->
getIncremented
();
$id
=
$value
->
getIncremented
();
if
(
$id
!==
null
)
if
(
$id
!==
null
)
{
$value
=
$id
;
$value
=
$id
;
}
}
}
if
(
$load
)
{
if
(
$load
)
{
...
...
lib/Doctrine/Table.php
View file @
d77ffb28
...
@@ -92,24 +92,29 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable
...
@@ -92,24 +92,29 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable
*/
*/
protected
$columns
=
array
();
protected
$columns
=
array
();
/**
/**
* @var array $bound bound relations
* @var array $columnAliases an array of column aliases
* keys as column aliases and values as column names
*/
protected
$columnAliases
=
array
();
/**
* @var array $bound bound relations
*/
*/
private
$bound
=
array
();
private
$bound
=
array
();
/**
/**
* @var array $boundAliases
bound relation aliases
* @var array $boundAliases bound relation aliases
*/
*/
private
$boundAliases
=
array
();
private
$boundAliases
=
array
();
/**
/**
* @var integer $columnCount
cached column count, Doctrine_Record uses this column count in when
* @var integer $columnCount cached column count, Doctrine_Record uses this column count in when
*
determining its state
* determining its state
*/
*/
private
$columnCount
;
private
$columnCount
;
/**
/**
* @var array $parents
the parent classes of this component
* @var array $parents the parent classes of this component
*/
*/
private
$parents
=
array
();
private
$parents
=
array
();
/**
/**
* @var boolean $hasDefaultValues
whether or not this table has default values
* @var boolean $hasDefaultValues whether or not this table has default values
*/
*/
private
$hasDefaultValues
;
private
$hasDefaultValues
;
/**
/**
...
@@ -392,6 +397,24 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable
...
@@ -392,6 +397,24 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable
}
}
return
null
;
return
null
;
}
}
/**
* getColumnName
*
* returns a column name for column alias
* if the actual name for the alias cannot be found
* this method returns the given alias
*
* @param string $alias column alias
* @return string column name
*/
public
function
getColumnName
(
$alias
)
{
if
(
isset
(
$this
->
columnAliases
[
$alias
]))
{
return
$this
->
columnAliases
[
$alias
];
}
return
$alias
;
}
/**
/**
* setColumn
* setColumn
*
*
...
@@ -402,7 +425,8 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable
...
@@ -402,7 +425,8 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable
* @throws Doctrine_Table_Exception if trying use wrongly typed parameter
* @throws Doctrine_Table_Exception if trying use wrongly typed parameter
* @return void
* @return void
*/
*/
final
public
function
setColumn
(
$name
,
$type
,
$length
=
null
,
$options
=
array
())
{
public
function
setColumn
(
$name
,
$type
,
$length
=
null
,
$options
=
array
())
{
if
(
is_string
(
$options
))
{
if
(
is_string
(
$options
))
{
$options
=
explode
(
'|'
,
$options
);
$options
=
explode
(
'|'
,
$options
);
}
}
...
@@ -415,12 +439,21 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable
...
@@ -415,12 +439,21 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable
unset
(
$options
[
$k
]);
unset
(
$options
[
$k
]);
}
}
}
}
$name
=
strtolower
(
$name
);
if
(
$length
==
null
)
$name
=
strtolower
(
$name
);
$parts
=
explode
(
' as '
,
$name
);
if
(
count
(
$parts
)
>
1
)
{
$this
->
columnAliases
[
$parts
[
1
]]
=
$parts
[
0
];
$name
=
$parts
[
0
];
}
if
(
$length
==
null
)
{
$length
=
2147483647
;
$length
=
2147483647
;
}
if
((
string
)
(
int
)
$length
!==
(
string
)
$length
)
{
if
((
string
)
(
int
)
$length
!==
(
string
)
$length
)
{
throw
new
Doctrine_Table_Exception
(
'Invalid argument given for column length'
);
throw
new
Doctrine_Table_Exception
(
'Invalid argument given for column length'
);
}
}
...
...
tests/CollectionTestCase.php
View file @
d77ffb28
...
@@ -30,8 +30,10 @@
...
@@ -30,8 +30,10 @@
* @since 1.0
* @since 1.0
* @version $Revision$
* @version $Revision$
*/
*/
class
Doctrine_Collection_TestCase
extends
Doctrine_UnitTestCase
{
class
Doctrine_Collection_TestCase
extends
Doctrine_UnitTestCase
public
function
testLoadRelatedForAssociation
()
{
{
public
function
testLoadRelatedForAssociation
()
{
$coll
=
$this
->
connection
->
query
(
"FROM User"
);
$coll
=
$this
->
connection
->
query
(
"FROM User"
);
$this
->
assertEqual
(
$coll
->
count
(),
8
);
$this
->
assertEqual
(
$coll
->
count
(),
8
);
...
@@ -96,7 +98,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
...
@@ -96,7 +98,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
$this
->
assertEqual
(
$coll
[
0
]
->
name
,
'zYne'
);
$this
->
assertEqual
(
$coll
[
0
]
->
name
,
'zYne'
);
}
}
public
function
testLoadRelatedForNormalAssociation
()
{
public
function
testLoadRelatedForNormalAssociation
()
{
$resource
=
new
Doctrine_Collection
(
'Resource'
);
$resource
=
new
Doctrine_Collection
(
'Resource'
);
$resource
[
0
]
->
name
=
'resource 1'
;
$resource
[
0
]
->
name
=
'resource 1'
;
$resource
[
0
]
->
Type
[
0
]
->
type
=
'type 1'
;
$resource
[
0
]
->
Type
[
0
]
->
type
=
'type 1'
;
...
@@ -126,7 +129,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
...
@@ -126,7 +129,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
$this
->
assertEqual
((
$count
+
1
),
$this
->
dbh
->
count
());
$this
->
assertEqual
((
$count
+
1
),
$this
->
dbh
->
count
());
}
}
public
function
testAdd
()
{
public
function
testAdd
()
{
$coll
=
new
Doctrine_Collection
(
$this
->
objTable
);
$coll
=
new
Doctrine_Collection
(
$this
->
objTable
);
$coll
->
add
(
new
User
());
$coll
->
add
(
new
User
());
$this
->
assertEqual
(
$coll
->
count
(),
1
);
$this
->
assertEqual
(
$coll
->
count
(),
1
);
...
@@ -142,7 +146,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
...
@@ -142,7 +146,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
}
}
public
function
testLoadRelated
()
{
public
function
testLoadRelated
()
{
$coll
=
$this
->
connection
->
query
(
"FROM User(id)"
);
$coll
=
$this
->
connection
->
query
(
"FROM User(id)"
);
$q
=
$coll
->
loadRelated
();
$q
=
$coll
->
loadRelated
();
...
@@ -158,7 +163,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
...
@@ -158,7 +163,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
$coll
[
0
]
->
Group
[
0
];
$coll
[
0
]
->
Group
[
0
];
$this
->
assertEqual
(
$count
,
$this
->
dbh
->
count
());
$this
->
assertEqual
(
$count
,
$this
->
dbh
->
count
());
}
}
public
function
testLoadRelatedForLocalKeyRelation
()
{
public
function
testLoadRelatedForLocalKeyRelation
()
{
$coll
=
$this
->
connection
->
query
(
"FROM User"
);
$coll
=
$this
->
connection
->
query
(
"FROM User"
);
$this
->
assertEqual
(
$coll
->
count
(),
8
);
$this
->
assertEqual
(
$coll
->
count
(),
8
);
...
@@ -182,7 +188,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
...
@@ -182,7 +188,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
$this
->
connection
->
clear
();
$this
->
connection
->
clear
();
}
}
public
function
testLoadRelatedForForeignKey
()
{
public
function
testLoadRelatedForForeignKey
()
{
$coll
=
$this
->
connection
->
query
(
"FROM User"
);
$coll
=
$this
->
connection
->
query
(
"FROM User"
);
$this
->
assertEqual
(
$coll
->
count
(),
8
);
$this
->
assertEqual
(
$coll
->
count
(),
8
);
...
@@ -214,13 +221,15 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
...
@@ -214,13 +221,15 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
$this
->
connection
->
clear
();
$this
->
connection
->
clear
();
}
}
public
function
testCount
()
{
public
function
testCount
()
{
$coll
=
new
Doctrine_Collection
(
$this
->
connection
->
getTable
(
'User'
));
$coll
=
new
Doctrine_Collection
(
$this
->
connection
->
getTable
(
'User'
));
$this
->
assertEqual
(
$coll
->
count
(),
0
);
$this
->
assertEqual
(
$coll
->
count
(),
0
);
$coll
[
0
];
$coll
[
0
];
$this
->
assertEqual
(
$coll
->
count
(),
1
);
$this
->
assertEqual
(
$coll
->
count
(),
1
);
}
}
public
function
testExpand
()
{
public
function
testExpand
()
{
$users
=
$this
->
connection
->
query
(
"FROM User-b.Phonenumber-l WHERE User.Phonenumber.phonenumber LIKE '%123%'"
);
$users
=
$this
->
connection
->
query
(
"FROM User-b.Phonenumber-l WHERE User.Phonenumber.phonenumber LIKE '%123%'"
);
$this
->
assertTrue
(
$users
instanceof
Doctrine_Collection_Batch
);
$this
->
assertTrue
(
$users
instanceof
Doctrine_Collection_Batch
);
...
@@ -248,7 +257,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
...
@@ -248,7 +257,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
$user
=
$this
->
connection
->
getTable
(
"User"
)
->
find
(
4
);
$user
=
$this
->
connection
->
getTable
(
"User"
)
->
find
(
4
);
}
}
public
function
testGenerator
()
{
public
function
testGenerator
()
{
$coll
=
new
Doctrine_Collection
(
$this
->
objTable
);
$coll
=
new
Doctrine_Collection
(
$this
->
objTable
);
$coll
->
setKeyColumn
(
'name'
);
$coll
->
setKeyColumn
(
'name'
);
...
@@ -266,7 +276,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
...
@@ -266,7 +276,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
}
}
}
}
public
function
testFetchCollectionWithIdAsIndex
()
{
public
function
testFetchCollectionWithIdAsIndex
()
{
$user
=
new
User
();
$user
=
new
User
();
$user
->
attribute
(
Doctrine
::
ATTR_COLL_KEY
,
'id'
);
$user
->
attribute
(
Doctrine
::
ATTR_COLL_KEY
,
'id'
);
...
@@ -277,7 +288,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
...
@@ -277,7 +288,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
$this
->
assertEqual
(
$users
[
0
]
->
state
(),
Doctrine_Record
::
STATE_TCLEAN
);
$this
->
assertEqual
(
$users
[
0
]
->
state
(),
Doctrine_Record
::
STATE_TCLEAN
);
$this
->
assertEqual
(
$users
[
4
]
->
state
(),
Doctrine_Record
::
STATE_CLEAN
);
$this
->
assertEqual
(
$users
[
4
]
->
state
(),
Doctrine_Record
::
STATE_CLEAN
);
}
}
public
function
testFetchCollectionWithNameAsIndex
()
{
public
function
testFetchCollectionWithNameAsIndex
()
{
$user
=
new
User
();
$user
=
new
User
();
$user
->
attribute
(
Doctrine
::
ATTR_COLL_KEY
,
'name'
);
$user
->
attribute
(
Doctrine
::
ATTR_COLL_KEY
,
'name'
);
...
@@ -288,7 +300,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
...
@@ -288,7 +300,8 @@ class Doctrine_Collection_TestCase extends Doctrine_UnitTestCase {
$this
->
assertEqual
(
$users
[
0
]
->
state
(),
Doctrine_Record
::
STATE_TCLEAN
);
$this
->
assertEqual
(
$users
[
0
]
->
state
(),
Doctrine_Record
::
STATE_TCLEAN
);
$this
->
assertEqual
(
$users
[
'zYne'
]
->
state
(),
Doctrine_Record
::
STATE_CLEAN
);
$this
->
assertEqual
(
$users
[
'zYne'
]
->
state
(),
Doctrine_Record
::
STATE_CLEAN
);
}
}
public
function
testFetchMultipleCollections
()
{
public
function
testFetchMultipleCollections
()
{
$this
->
connection
->
clear
();
$this
->
connection
->
clear
();
$user
=
new
User
();
$user
=
new
User
();
...
...
tests/ColumnAliasTestCase.php
0 → 100644
View file @
d77ffb28
<?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
* 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.phpdoctrine.com>.
*/
/**
* Doctrine_ColumnAlias_TestCase
*
* @package Doctrine
* @author Konsta Vesterinen <kvesteri@cc.hut.fi>
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @since 1.0
* @version $Revision$
*/
class
Doctrine_ColumnAlias_TestCase
extends
Doctrine_UnitTestCase
{
public
function
prepareData
()
{
}
public
function
prepareTables
()
{
}
public
function
testAliasesAreSupportedForRecordPropertyAccessors
()
{
$record
=
new
ColumnAliasTest
;
try
{
$record
->
alias1
=
'someone'
;
$record
->
alias2
=
187
;
$this
->
assertEqual
(
$record
->
alias1
,
'someone'
);
$this
->
assertEqual
(
$record
->
alias2
,
187
);
}
catch
(
Doctrine_Record_Exception
$e
)
{
$this
->
fail
();
}
$record
->
save
();
}
public
function
testAliasesAreSupportedForDqlSelectPart
()
{
$q
=
new
Doctrine_Query
();
$q
->
select
(
'c.alias1, c.alias2'
)
->
from
(
'ColumnAliasTest c'
);
$coll
=
$q
->
execute
();
$this
->
assertEqual
(
$coll
[
0
]
->
alias1
,
'someone'
);
$this
->
assertEqual
(
$coll
[
0
]
->
alias2
,
187
);
}
public
function
testAliasesAreSupportedForDqlWherePart
()
{
$q
=
new
Doctrine_Query
();
$q
->
select
(
'c.alias1, c.alias2'
)
->
from
(
'ColumnAliasTest c'
)
->
where
(
'c.alias1 = ?'
);
$coll
=
$q
->
execute
(
array
(
'someone'
));
$this
->
assertEqual
(
$coll
[
0
]
->
alias1
,
'someone'
);
$this
->
assertEqual
(
$coll
[
0
]
->
alias2
,
187
);
}
}
class
ColumnAliasTest
extends
Doctrine_Record
{
public
function
setTableDefinition
()
{
$this
->
hasColumn
(
'column1 as alias1'
,
'string'
,
200
);
$this
->
hasColumn
(
'column2 as alias2'
,
'integer'
,
11
);
}
public
function
setUp
()
{
}
}
tests/CustomResultSetOrderTestCaseTestCase.php
0 → 100644
View file @
d77ffb28
<?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
* 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.phpdoctrine.com>.
*/
/**
* Doctrine_CustomResultSetOrderTestCase
*
* @package Doctrine
* @author Konsta Vesterinen <kvesteri@cc.hut.fi>
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @since 1.0
* @version $Revision$
*/
class
Doctrine_CustomResultSetOrderTestCase
extends
Doctrine_UnitTestCase
{
}
tests/run.php
View file @
d77ffb28
...
@@ -106,7 +106,7 @@ $test->addTestCase(new Doctrine_Sequence_Sqlite_TestCase());
...
@@ -106,7 +106,7 @@ $test->addTestCase(new Doctrine_Sequence_Sqlite_TestCase());
// Export module (not yet fully tested)
// Export module (not yet fully tested)
$test
->
addTestCase
(
new
Doctrine_Export_TestCase
());
$test
->
addTestCase
(
new
Doctrine_Export_TestCase
());
$test
->
addTestCase
(
new
Doctrine_Export_Reporter_TestCase
());
//
$test->addTestCase(new Doctrine_Export_Reporter_TestCase());
$test
->
addTestCase
(
new
Doctrine_Export_Firebird_TestCase
());
$test
->
addTestCase
(
new
Doctrine_Export_Firebird_TestCase
());
$test
->
addTestCase
(
new
Doctrine_Export_Informix_TestCase
());
$test
->
addTestCase
(
new
Doctrine_Export_Informix_TestCase
());
$test
->
addTestCase
(
new
Doctrine_Export_Mysql_TestCase
());
$test
->
addTestCase
(
new
Doctrine_Export_Mysql_TestCase
());
...
@@ -214,6 +214,7 @@ $test->addTestCase(new Doctrine_Query_Having_TestCase());
...
@@ -214,6 +214,7 @@ $test->addTestCase(new Doctrine_Query_Having_TestCase());
$test
->
addTestCase
(
new
Doctrine_Query_JoinCondition_TestCase
());
$test
->
addTestCase
(
new
Doctrine_Query_JoinCondition_TestCase
());
$test
->
addTestCase
(
new
Doctrine_Query_Join_TestCase
());
$test
->
addTestCase
(
new
Doctrine_Query_Join_TestCase
());
$test
->
addTestCase
(
new
Doctrine_ColumnAlias_TestCase
());
// Cache tests
// Cache tests
//$test->addTestCase(new Doctrine_Cache_Query_SqliteTestCase());
//$test->addTestCase(new Doctrine_Cache_Query_SqliteTestCase());
//$test->addTestCase(new Doctrine_Cache_FileTestCase());
//$test->addTestCase(new Doctrine_Cache_FileTestCase());
...
...
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