Author: Tobias Schlitt Date: 2007-04-02 09:02:19 +0200 (Mon, 02 Apr 2007) New Revision: 4795
Log: - Fix use of sequence generator with SQLite (native must be used here, too). - Optimized wrapping of native generator in sequence generator. Modified: trunk/PersistentObject/src/generators/sequence_generator.php Modified: trunk/PersistentObject/src/generators/sequence_generator.php =================================================================== --- trunk/PersistentObject/src/generators/sequence_generator.php 2007-03-31 09:55:19 UTC (rev 4794) +++ trunk/PersistentObject/src/generators/sequence_generator.php 2007-04-02 07:02:19 UTC (rev 4795) @@ -33,6 +33,12 @@ class ezcPersistentSequenceGenerator extends ezcPersistentIdentifierGenerator { /** + * Native generator, if sequence generator is used with MySQL or SQLite. + * + * @var ezcPersistentNativeGenerator + */ + private $nativeGenerator; + /** * Fetches the next sequence value for PostgreSQL and Oracle implementations. * Fetches the next sequence value for PostgreSQL and Oracle implementations. * Dispatches to [EMAIL PROTECTED] ezcPersistentNativeGenerator} for MySQL. @@ -46,10 +52,13 @@ { // We first had the native generator within here // For BC reasons we still allow to use the seq generator with MySQL. - if ( $db->getName() == "mysql" ) + if ( $db->getName() === "mysql" || $db->getName() === "sqlite" ) { - $native = new ezcPersistentNativeGenerator(); - return $native->preSave( $def, $db, $q ); + if ( $this->nativeGenerator === null ) + { + $this->nativeGenerator = new ezcPersistentNativeGenerator(); + } + return $this->nativeGenerator->preSave( $def, $db, $q ); } if ( isset( $def->idProperty->generator->params["sequence"] ) ) -- svn-components mailing list svn-components@lists.ez.no http://lists.ez.no/mailman/listinfo/svn-components