diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-12-31 20:43:43 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2010-12-31 20:43:43 +0000 |
commit | 98f287b55a88d06199cda88b6929af589c182e23 (patch) | |
tree | 50b7a7a71eb8c54e417cbaa8f4d6f1a975e9d72f /modules/simpletest/tests/database_test.test | |
parent | 0c8931dd76d066c5332846d478964d1145c5c6c2 (diff) | |
download | brdo-98f287b55a88d06199cda88b6929af589c182e23.tar.gz brdo-98f287b55a88d06199cda88b6929af589c182e23.tar.bz2 |
#1001242 by agentrickard, pwolanin, Crell, chx: Add DBTNG support for EXISTS conditions.
Diffstat (limited to 'modules/simpletest/tests/database_test.test')
-rw-r--r-- | modules/simpletest/tests/database_test.test | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/modules/simpletest/tests/database_test.test b/modules/simpletest/tests/database_test.test index bfd67de9d..243dbba31 100644 --- a/modules/simpletest/tests/database_test.test +++ b/modules/simpletest/tests/database_test.test @@ -1684,6 +1684,61 @@ class DatabaseSelectSubqueryTestCase extends DatabaseTestCase { $this->assertEqual(count($people), 2, t('Returned the correct number of rows.')); } + + /** + * Test EXISTS subquery conditionals on SELECT statements. + */ + function testExistsSubquerySelect() { + // Put George into {test_people}. + db_insert('test_people') + ->fields(array( + 'name' => 'George', + 'age' => 27, + 'job' => 'Singer', + )) + ->execute(); + // Base query to {test}. + $query = db_select('test', 't') + ->fields('t', array('name')); + // Subquery to {test_people}. + $subquery = db_select('test_people', 'tp') + ->fields('tp', array('name')) + ->condition('name', 'George'); + $query->exists($subquery); + $result = $query->execute(); + + // Ensure that we got the right record. + $record = $result->fetch(); + $this->assertEqual($record->name, 'George', t('Fetched name is correct using EXISTS query.')); + } + + /** + * Test NOT EXISTS subquery conditionals on SELECT statements. + */ + function testNotExistsSubquerySelect() { + // Put George into {test_people}. + db_insert('test_people') + ->fields(array( + 'name' => 'George', + 'age' => 27, + 'job' => 'Singer', + )) + ->execute(); + + // Base query to {test}. + $query = db_select('test', 't') + ->fields('t', array('name')); + // Subquery to {test_people}. + $subquery = db_select('test_people', 'tp') + ->fields('tp', array('name')) + ->condition('name', 'George'); + $query->notExists($subquery); + $result = $query->execute(); + + // Ensure that we got the right record. + $record = $result->fetch(); + $this->assertFalse($record, t('NOT EXISTS query returned no results.')); + } } /** |