Changeset 655
- Timestamp:
- 05/02/07 22:52:10 (1 year ago)
- Files:
-
- trunk/experiments/people/mikey/persistence/deleteEntry.php (added)
- trunk/src/main/php/net/stubbles/rdbms/persistence/eraser (added)
- trunk/src/main/php/net/stubbles/rdbms/persistence/eraser/stubDatabaseEraser.php (added)
- trunk/src/main/php/net/stubbles/rdbms/persistence/eraser/stubDatabaseEraserException.php (added)
- trunk/src/main/php/net/stubbles/rdbms/querybuilder/stubDatabaseMySQLQueryBuilder.php (modified) (5 diffs)
- trunk/src/main/php/net/stubbles/rdbms/querybuilder/stubDatabaseQueryBuilder.php (modified) (3 diffs)
- trunk/src/test/php/net/stubbles/rdbms/RDBMSTestSuite.php (modified) (1 diff)
- trunk/src/test/php/net/stubbles/rdbms/persistence/TestNonPersistable.php (added)
- trunk/src/test/php/net/stubbles/rdbms/persistence/eraser (added)
- trunk/src/test/php/net/stubbles/rdbms/persistence/eraser/stubDatabaseEraserTestCase.php (added)
- trunk/src/test/php/net/stubbles/rdbms/persistence/finder/stubDatabaseFinderTestCase.php (modified) (1 diff)
- trunk/src/test/php/net/stubbles/rdbms/querybuilder/TeststubDatabaseQueryBuilder.php (modified) (3 diffs)
- trunk/src/test/php/net/stubbles/rdbms/querybuilder/stubDatabaseMySQLQueryBuilderTestCase.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/main/php/net/stubbles/rdbms/querybuilder/stubDatabaseMySQLQueryBuilder.php
r482 r655 53 53 'FIXED' 54 54 ); 55 55 56 /** 56 57 * creates a select query … … 65 66 $joins = $select->getJoins(); 66 67 foreach ($joins as $join) { 67 $selectQuery .= ' ' . $join->getType();68 $selectQuery .= (($join->getType() != 'STRAIGHT') ? (' ') : ('_'));69 $selectQuery .= 'JOIN `' . $join->getName() . '`';70 if ($join->hasCondition() == true) {71 $selectQuery .= ' ' . $join->getConditionType() . ' ';72 if ($join->getConditionType() == 'USING') {73 $selectQuery .= '(' . $join->getCondition() . ')';74 } else {75 $selectQuery .= $join->getCondition();76 }77 }68 $selectQuery .= ' ' . $join->getType(); 69 $selectQuery .= (($join->getType() != 'STRAIGHT') ? (' ') : ('_')); 70 $selectQuery .= 'JOIN `' . $join->getName() . '`'; 71 if ($join->hasCondition() == true) { 72 $selectQuery .= ' ' . $join->getConditionType() . ' '; 73 if ($join->getConditionType() == 'USING') { 74 $selectQuery .= '(' . $join->getCondition() . ')'; 75 } else { 76 $selectQuery .= $join->getCondition(); 77 } 78 } 78 79 } 79 80 } … … 85 86 return $selectQuery; 86 87 } 87 88 88 89 /** 89 90 * creates insert queries from a serialized value … … 125 126 return $queries; 126 127 } 127 128 128 129 /** 129 130 * creates update queries from a serialized value … … 169 170 return $queries; 170 171 } 171 172 173 /** 174 * creates a delete query 175 * 176 * @param string $table the table to delete from 177 * @param stubCriterion $criterion the criterion to use for deletion 178 * @return string 179 */ 180 public function createDelete($table, stubCriterion $criterion) 181 { 182 return 'DELETE FROM `' . $table . '` WHERE ' . $criterion->toSQL(); 183 } 184 172 185 /** 173 186 * creates the query to create a table for the given class trunk/src/main/php/net/stubbles/rdbms/querybuilder/stubDatabaseQueryBuilder.php
r482 r655 29 29 */ 30 30 public function createSelect(stubDatabaseSelect $select); 31 31 32 32 /** 33 33 * creates insert queries from a serialized value … … 38 38 */ 39 39 public function createInsert(array $tableRows); 40 40 41 41 /** 42 42 * creates update queries from a serialized value … … 47 47 */ 48 48 public function createUpdate(array $tableRows); 49 49 50 /** 51 * creates a delete query 52 * 53 * @param string $table the table to delete from 54 * @param stubCriterion $criterion the criterion to use for deletion 55 * @return string 56 */ 57 public function createDelete($table, stubCriterion $criterion); 58 50 59 /** 51 60 * creates the query to create a table for the given class trunk/src/test/php/net/stubbles/rdbms/RDBMSTestSuite.php
r538 r655 43 43 // persistence 44 44 $this->addTestFile($dir . '/persistence/creator/stubDatabaseCreatorTestCase.php'); 45 $this->addTestFile($dir . '/persistence/eraser/stubDatabaseEraserTestCase.php'); 45 46 $this->addTestFile($dir . '/persistence/finder/stubDatabaseFinderTestCase.php'); 46 47 $this->addTestFile($dir . '/persistence/serializer/stubDatabaseSerializerTestCase.php'); trunk/src/test/php/net/stubbles/rdbms/persistence/finder/stubDatabaseFinderTestCase.php
r492 r655 14 14 require_once dirname(__FILE__) . '/../MockNoTableAnnotationPersistable.php'; 15 15 require_once dirname(__FILE__) . '/../MockSinglePrimaryKeyPersistable.php'; 16 /** 17 * This is a class not implementing the persistable interface. 18 * 19 * @DBTable(name='bar') 20 */ 21 class TestNonPersistable { } 16 require_once dirname(__FILE__) . '/../TestNonPersistable.php'; 22 17 /** 23 18 * This is a persistable that requires arguments in the constructor. trunk/src/test/php/net/stubbles/rdbms/querybuilder/TeststubDatabaseQueryBuilder.php
r482 r655 36 36 protected $updateQueries = array(); 37 37 /** 38 * the query to be returned on createDelete() 39 * 40 * @var string 41 */ 42 protected $deleteQuery = ''; 43 /** 38 44 * the create table query to be returned on createTable() 39 45 * … … 59 65 */ 60 66 protected $updateTableRows = null; 67 /** 68 * the table from the createDelete() method 69 * 70 * @var string 71 */ 72 protected $deleteTable = null; 73 /** 74 * the criterion from the createDelete() method 75 * 76 * @var stubCriterion 77 */ 78 protected $deleteCriterion = null; 61 79 /** 62 80 * table description from the createTable() method … … 169 187 { 170 188 return $this->updateTableRows; 189 } 190 191 /** 192 * set the delete query to be returned on createDelete() 193 * 194 * @param string $deleteQuery 195 */ 196 public function setDeleteQuery($deleteQuery) 197 { 198 $this->deleteQuery = $deleteQuery; 199 } 200 201 /** 202 * creates a delete query 203 * 204 * @param string $table the table to delete from 205 * @param stubCriterion $criterion the criterion to use for deletion 206 * @return string 207 */ 208 public function createDelete($table, stubCriterion $criterion) 209 { 210 $this->deleteTable = $table; 211 $this->deleteCriterion = $criterion; 212 return $this->deleteQuery; 213 } 214 215 /** 216 * returns the delete table argument 217 * 218 * @return string 219 */ 220 public function getDeleteTable() 221 { 222 return $this->deleteTable; 223 } 224 225 /** 226 * returns the delete criterion argument 227 * 228 * @return stubCriterion 229 */ 230 public function getDeleteCriterion() 231 { 232 return $this->deleteCriterion; 171 233 } 172 234 trunk/src/test/php/net/stubbles/rdbms/querybuilder/stubDatabaseMySQLQueryBuilderTestCase.php
r482 r655 123 123 124 124 /** 125 * test creating a delete query 126 */ 127 public function testCreateDelete() 128 { 129 $mockCriterion = new MockstubCriterion(); 130 $mockCriterion->setReturnValue('toSQL', "`foo`.`id` = 'mock'"); 131 $this->assertEqual($this->mySqlQueryBuilder->createDelete('bar', $mockCriterion), "DELETE FROM `bar` WHERE `foo`.`id` = 'mock'"); 132 } 133 134 /** 125 135 * test creating a create table query 126 136 */
