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
f2a2d3e5
Commit
f2a2d3e5
authored
Sep 18, 2006
by
zYne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed DQL OrderBy parser bug
parent
906b1fa6
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
14 additions
and
126 deletions
+14
-126
Orderby.php
Doctrine/Query/Orderby.php
+7
-2
QueryTestCase.php
tests/QueryTestCase.php
+3
-122
run.php
tests/run.php
+4
-2
No files found.
Doctrine/Query/Orderby.php
View file @
f2a2d3e5
...
...
@@ -22,16 +22,21 @@ class Doctrine_Query_Orderby extends Doctrine_Query_Part {
$reference
=
implode
(
"."
,
$a
);
$name
=
end
(
$a
);
$this
->
query
->
load
(
$reference
,
false
);
$alias
=
$this
->
query
->
getTableAlias
(
$reference
);
$tname
=
$this
->
query
->
getTable
(
$alias
)
->
getTableName
();
$r
=
$tname
.
"."
.
$field
;
$r
=
$alias
.
"."
.
$field
;
if
(
isset
(
$e
[
1
]))
$r
.=
" "
.
$e
[
1
];
}
$ret
[]
=
$r
;
}
return
implode
(
", "
,
$ret
);
}
public
function
__toString
()
{
...
...
tests/QueryTestCase.php
View file @
f2a2d3e5
...
...
@@ -29,6 +29,8 @@ class Doctrine_QueryTestCase extends Doctrine_UnitTestCase {
parent
::
prepareTables
();
$this
->
connection
->
clear
();
}
/**
public function testBracktExplode() {
$str = "item OR item || item";
$parts = Doctrine_Query::bracketExplode($str, array(' \|\| ', ' OR '), "(", ")");
...
...
@@ -369,127 +371,6 @@ class Doctrine_QueryTestCase extends Doctrine_UnitTestCase {
$this->assertEqual(($count + 1), $this->dbh->count());
}
public
function
testSelfReferencing
()
{
$query
=
new
Doctrine_Query
(
$this
->
connection
);
$category
=
new
Forum_Category
();
$category
->
name
=
"Root"
;
$category
->
Subcategory
[
0
]
->
name
=
"Sub 1"
;
$category
->
Subcategory
[
1
]
->
name
=
"Sub 2"
;
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
=
"Sub 1 Sub 1"
;
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
=
"Sub 1 Sub 2"
;
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
=
"Sub 2 Sub 1"
;
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
=
"Sub 2 Sub 2"
;
$this
->
connection
->
flush
();
$this
->
connection
->
clear
();
$category
=
$category
->
getTable
()
->
find
(
$category
->
id
);
$this
->
assertEqual
(
$category
->
name
,
"Root"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
,
"Sub 1 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
,
"Sub 1 Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
,
"Sub 2 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
,
"Sub 2 Sub 2"
);
$this
->
connection
->
clear
();
$query
->
from
(
"Forum_Category.Subcategory.Subcategory"
);
$coll
=
$query
->
execute
();
$category
=
$coll
[
0
];
$count
=
count
(
$this
->
dbh
);
$this
->
assertEqual
(
$category
->
name
,
"Root"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
,
"Sub 1 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
,
"Sub 1 Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
,
"Sub 2 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
,
"Sub 2 Sub 2"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
connection
->
clear
();
$query
->
from
(
"Forum_Category.Parent.Parent"
)
->
where
(
"Forum_Category.name LIKE 'Sub%Sub%'"
);
$coll
=
$query
->
execute
();
$count
=
count
(
$this
->
dbh
);
$this
->
assertEqual
(
$coll
->
count
(),
4
);
$this
->
assertEqual
(
$coll
[
0
]
->
name
,
"Sub 1 Sub 1"
);
$this
->
assertEqual
(
$coll
[
1
]
->
name
,
"Sub 1 Sub 2"
);
$this
->
assertEqual
(
$coll
[
2
]
->
name
,
"Sub 2 Sub 1"
);
$this
->
assertEqual
(
$coll
[
3
]
->
name
,
"Sub 2 Sub 2"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$coll
[
0
]
->
Parent
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$coll
[
1
]
->
Parent
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$coll
[
2
]
->
Parent
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$coll
[
3
]
->
Parent
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$coll
[
0
]
->
Parent
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$coll
[
1
]
->
Parent
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$coll
[
2
]
->
Parent
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$coll
[
3
]
->
Parent
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$query
->
from
(
"Forum_Category.Parent, Forum_Category.Subcategory"
)
->
where
(
"Forum_Category.name = 'Sub 1' || Forum_Category.name = 'Sub 2'"
);
$coll
=
$query
->
execute
();
$count
=
count
(
$this
->
dbh
);
$this
->
assertEqual
(
$coll
->
count
(),
2
);
$this
->
assertEqual
(
$coll
[
0
]
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$coll
[
1
]
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$coll
[
0
]
->
Subcategory
[
0
]
->
name
,
"Sub 1 Sub 1"
);
$this
->
assertEqual
(
$coll
[
0
]
->
Subcategory
[
1
]
->
name
,
"Sub 1 Sub 2"
);
$this
->
assertEqual
(
$coll
[
1
]
->
Subcategory
[
0
]
->
name
,
"Sub 2 Sub 1"
);
$this
->
assertEqual
(
$coll
[
1
]
->
Subcategory
[
1
]
->
name
,
"Sub 2 Sub 2"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$coll
[
0
]
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$coll
[
1
]
->
Parent
->
name
,
"Root"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
connection
->
clear
();
$query
->
from
(
"Forum_Category.Subcategory.Subcategory"
)
->
where
(
"Forum_Category.parent_category_id IS NULL"
);
$coll
=
$query
->
execute
();
$this
->
assertEqual
(
$coll
->
count
(),
1
);
$count
=
count
(
$this
->
dbh
);
$this
->
assertEqual
(
$category
->
name
,
"Root"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
name
,
"Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
name
,
"Sub 2"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
0
]
->
name
,
"Sub 1 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
0
]
->
Subcategory
[
1
]
->
name
,
"Sub 1 Sub 2"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
0
]
->
name
,
"Sub 2 Sub 1"
);
$this
->
assertEqual
(
$category
->
Subcategory
[
1
]
->
Subcategory
[
1
]
->
name
,
"Sub 2 Sub 2"
);
$this
->
assertEqual
(
$count
,
count
(
$this
->
dbh
));
}
public function testGetPath() {
$this->query->from("User.Group.Email");
...
...
@@ -1393,6 +1274,6 @@ class Doctrine_QueryTestCase extends Doctrine_UnitTestCase {
//$this->assertTrue(isset($values['max']));
}
*/
}
?>
tests/run.php
View file @
f2a2d3e5
...
...
@@ -24,6 +24,7 @@ require_once("CustomPrimaryKeyTestCase.php");
require_once
(
"FilterTestCase.php"
);
require_once
(
"ValueHolderTestCase.php"
);
require_once
(
"QueryLimitTestCase.php"
);
require_once
(
"QueryReferenceModelTestCase.php"
);
require_once
(
"SchemaTestCase.php"
);
require_once
(
"ImportTestCase.php"
);
...
...
@@ -31,7 +32,7 @@ require_once("ImportTestCase.php");
error_reporting
(
E_ALL
);
$test
=
new
GroupTest
(
"Doctrine Framework Unit Tests"
);
/**
$test->addTestCase(new Doctrine_RecordTestCase());
$test->addTestCase(new Doctrine_AccessTestCase());
...
...
@@ -75,7 +76,8 @@ $test->addTestCase(new Doctrine_ValidatorTestCase());
$test->addTestCase(new Doctrine_CollectionTestCase());
$test->addTestCase(new Doctrine_QueryTestCase());
*/
$test
->
addTestCase
(
new
Doctrine_Query_ReferenceModel_TestCase
());
...
...
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