1. 14 Jul, 2009 3 commits
    • Sebastian Kurfürst's avatar
      Extbase: · 525c977f
      Sebastian Kurfürst authored
      * Fixed issue that cache is tried to be cleared even if a relation is changed
    • Jochen Rau's avatar
      Extbase: · a00ac9fa
      Jochen Rau authored
      * Implemented the handling of values === NULL in Queries; related to #3838 (needs feed-back)
      * Changed all calls to t3lib_div::makeInstance('Tx_Extbase_Persistence_Manager') to Tx_Extbase_Dispatcher::getPersistenceManager()
      * Fixed conversion of DateTime objects in Query values
      * Eliminated unnecessary braces
      * Fixed "NOT" ( from "(NOT foo='bar')" to "NOT (foor='bar')" )
    • Jochen Rau's avatar
      Extbase: · 8bc2e42f
      Jochen Rau authored
      * Changed Argument: Check for is_object($result) instead of $result !== NULL prevents fatal error; empty result should be catched anyway
      * Change: The database handler is now injected to the Typo3DbBackend (for better testability)
      * bindVariable() uses now a unique variable name; resolves #3885
      * Typo3DbBackend: the variable $sql (and its subparts) are now initialized as arrays (related to #3885 and #3826)
      * Typo3DbBackend: Implemented a class variable $useEnableFields (by now only used for better testability)
  2. 13 Jul, 2009 3 commits
    • Sebastian Kurfürst's avatar
      Extbase: · b9a0d318
      Sebastian Kurfürst authored
      * Implemented cache clearing by TYPO3s clearCacheCmd. This is not particularily fine-grained, but works. references #3421
      * Made AbstractEntity have a different compare method inside _isDirty() which compares objects in-depth, and not just their references.
    • Jochen Rau's avatar
      Extbase (follow up to r930): · 71b8dcba
      Jochen Rau authored
      * The SQL string should be syntactically correct now (needs some more testing)
      * Implemented a test before calling enableFields()
    • Jochen Rau's avatar
      Extbase: · 8a3f44ca
      Jochen Rau authored
      * Fixed internal method _memorizeCleanState($propertyName); nothing was memorized if $property name was set
      * Removed call to $GLOBASL['TYPO3_DB']->fullQuoteString() as this should be the job of the persistence backend
      * Fixed Query and Query Object Model Factory (patch contributed by Frans van der Veen); Resolves #3879
      * Removed obsolete commit() method in Session
      * Fixed invalid SQL without enableFields; Resolves #3826
      * First step taken to implement the parsing of Orderings
  3. 11 Jul, 2009 1 commit
    • Jochen Rau's avatar
      Extbase: · 3d3c9eda
      Jochen Rau authored
      * Removed unused class Literal
      * Added check for having the same number of $parameters and placeholders ("?") in a statement
  4. 10 Jul, 2009 1 commit
    • Sebastian Kurfürst's avatar
      Extbase: · db92f57d
      Sebastian Kurfürst authored
      (Changes by Jochen)
      This commit merges the rewrite of the persistence layer back to trunk. It will probably break your existing installation. Please check out fluid and blog_example again.
      * Implemented an Object Manager (a wrapper for t3lib_div::makeInstance())
      * !!! Backport of the Query and the Query Object Model from FLOW3.
      * !!! Removed Repository->fetch*()
      * Splited the functionality of the Object Relational Mapper into the Persistence Backend, the Data Mapper and the SQL Storage Backend.
      * Implemented the Lazy Loading Proxy.
      * supported Request types is now Tx_Extbase_MVC_Request instead of Tx_Extbase_MVC_Web_Request.
      * Changed _reconstituteProperty() to _setProperty() (according to FLOW3).
      * Added _getProperty() to the Domain Object.
      * The Dispatcher now instanciates and uses a PersistenceManager to commit changes.
      * Added TypoScript converter method (to convert from new TS to classic TS). Fixes #3293.
      * Renamed SqlBackend to Typo3DbBackend
      * Now using constants in Tx_Extbase_Persistence_PropertyType instead of Tx_Extbase_Persistence_Mapper_ColumnMap
      * Improved conversion from table value to property value
      * Persistence_Repository: findByUid() checks now for positive integer
      * Fixed: Only Aggregate Roots are now registered as Reconstituted Objects
      * !!! Added _isNew() to the Domain Object Interface
      * Revision of the Persistence Backend (CRUD operations work now - again)
      * Fixed Query Object Model "UpperCase"
      * Implemented addRow(), deleteRow() and updateRow()
      * Fixed: _memorizeCleanState() now clones a property value if it is an object
      * Argument->findObjectByUid() memorizes now the clean state (todo: check if the object is an Aggregate Root)
      * Removed unnecessary method getRelations()
      * Fixed wrong class name of PropertyError; resolves issue #3855
      * Fixed typo in Persistence Query; resolves issue #3831
      * Changed: Equivalent Value Objects (all properties are equal) are now persisted only once
      * Backport and enhanced several Unit Tests (not finished yet)
      * Enhanced Base Test Case
      * Changed signature of hasValueObject()
      * Changed: hasValueObject() returns the uid of the already persisted value object - if any
      * Fixed: relation tables are now filled with the right values if a value object already exists in the database
      * Changed: The Persistence Manager and the Query Factory are now "injected" into the Arguments and Argument
      * Deleted obsolete files