Changeset 29506
- Timestamp:
- 02/04/09 11:54:01 (4 years ago)
- Location:
- lang/php/misc/Hermit/src
- Files:
-
- 14 modified
-
Hermit/HermitContext.php (modified) (2 diffs)
-
Hermit/annote/HermitAnnote.php (modified) (1 diff)
-
Hermit/annote/HermitAnnoteConst.php (modified) (2 diffs)
-
Hermit/command/AbstractHermitSqlCommand.php (modified) (1 diff)
-
Hermit/command/HermitDeleteCommand.php (modified) (1 diff)
-
Hermit/command/HermitDeleteSqlCommandFactory.php (modified) (1 diff)
-
Hermit/command/HermitInsertCommand.php (modified) (1 diff)
-
Hermit/command/HermitInsertSqlCommandFactory.php (modified) (1 diff)
-
Hermit/command/HermitProcedureSqlCommandFactory.php (modified) (1 diff)
-
Hermit/command/HermitSelectCommand.php (modified) (1 diff)
-
Hermit/command/HermitSelectSqlCommandFactory.php (modified) (1 diff)
-
Hermit/command/HermitUpdateCommand.php (modified) (1 diff)
-
Hermit/command/HermitUpdateSqlCommandFactory.php (modified) (1 diff)
-
Queue/HermitQueueDao.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
lang/php/misc/Hermit/src/Hermit/HermitContext.php
r26373 r29506 6 6 class HermitContext { 7 7 protected $reflector; 8 protected $batchMode = false; 8 9 public function __construct(ReflectionClass $reflector){ 9 10 $this->reflector = $reflector; … … 18 19 return $this->reflector; 19 20 } 21 public function setBatchMode($mode){ 22 $this->batchMode = $mode; 23 } 24 public function isBatchMode(){ 25 return $this->batchMode; 26 } 20 27 } -
lang/php/misc/Hermit/src/Hermit/annote/HermitAnnote.php
r26373 r29506 17 17 public abstract function getQuery(ReflectionMethod $method); 18 18 public abstract function getValueType(ReflectionMethod $method); 19 public abstract function getBatchMode(ReflectionMethod $method); 19 20 public static final function create(ReflectionClass $reflector){ 20 21 return new HermitAnnoteConst($reflector); -
lang/php/misc/Hermit/src/Hermit/annote/HermitAnnoteConst.php
r26373 r29506 14 14 const PROCEDURE_SUFFIX = '_PROCEDURE'; 15 15 const VALUE_TYPE_SUFFIX = '_VALUE_TYPE'; 16 const BATCH_MODE_SUFFIX = '_BATCH_MODE'; 16 17 const CHECK_SINGLE_ROW_UPDATE = 'CHECK_SINGLE_ROW_UPDATE'; 17 18 … … 120 121 return $valueType; 121 122 } 123 public function getBatchMode(ReflectionMethod $method){ 124 $batchMode = self::getMethodAnnotation($this->reflector, $method, self::BATCH_MODE_SUFFIX); 125 if(null === $batchMode){ 126 return self::getClassAnnotation($this->reflector, self::DEFAULT_PREFIX . self::BATCH_MODE_SUFFIX); 127 } 128 return $batchMode; 129 } 122 130 public function getColumns(){ 123 131 $columns = $this->reflector->getConstant(self::COLUMNS_KEY); -
lang/php/misc/Hermit/src/Hermit/command/AbstractHermitSqlCommand.php
r26373 r29506 9 9 protected $sqlCreator; 10 10 protected $type; 11 protected $statement; 11 12 public function setContext(HermitContext $ctx){ 12 13 $this->context = $ctx; -
lang/php/misc/Hermit/src/Hermit/command/HermitDeleteCommand.php
r26373 r29506 7 7 public function execute(array $parameters){ 8 8 $pdo = $this->getConnection(HermitEvent::EVT_DELETE); 9 $builder = new HermitStatementBuilder($this->context->getTargetClass(), $this->method, $this->sqlCreator); 10 $stmt = $builder->build($pdo, $parameters); 11 $stmt->execute($parameters); 9 $genStmt = false; 10 if(null === $this->statement){ 11 $genStmt = true; 12 } else { 13 if(!$this->context->isBatchMode()){ 14 $genStmt = true; 15 } 16 } 17 if($genStmt){ 18 $builder = new HermitStatementBuilder($this->context->getTargetClass(), $this->method, $this->sqlCreator); 19 $this->statement = $builder->build($pdo, $parameters); 20 } 21 $this->statement->execute($parameters); 12 22 $resultset = new HermitUpdateQueryResultSet; 13 return $resultset->execute($ stmt, $this->type);23 return $resultset->execute($this->statement, $this->type); 14 24 } 15 25 } -
lang/php/misc/Hermit/src/Hermit/command/HermitDeleteSqlCommandFactory.php
r25869 r29506 16 16 $valueType = HermitValueTypeFactory::create($this->annote, $this->method); 17 17 18 $batchMode = $this->annote->getBatchMode($this->method); 19 $context->setBatchMode($batchMode); 20 18 21 $command = new HermitDeleteCommand; 19 22 $command->setContext($context); -
lang/php/misc/Hermit/src/Hermit/command/HermitInsertCommand.php
r26373 r29506 7 7 public function execute(array $parameters){ 8 8 $pdo = $this->getConnection(HermitEvent::EVT_INSERT); 9 $builder = new HermitStatementBuilder($this->context->getTargetClass(), $this->method, $this->sqlCreator); 10 $stmt = $builder->build($pdo, $parameters); 11 $stmt->execute($parameters); 9 $genStmt = false; 10 if(null === $this->statement){ 11 $genStmt = true; 12 } else { 13 if(!$this->context->isBatchMode()){ 14 $genStmt = true; 15 } 16 } 17 if($genStmt){ 18 $builder = new HermitStatementBuilder($this->context->getTargetClass(), $this->method, $this->sqlCreator); 19 $this->statement = $builder->build($pdo, $parameters); 20 } 21 $this->statement->execute($parameters); 22 12 23 $resultset = new HermitUpdateQueryResultSet; 13 return $resultset->execute($ stmt, $this->type);24 return $resultset->execute($this->statement, $this->type); 14 25 } 15 26 } -
lang/php/misc/Hermit/src/Hermit/command/HermitInsertSqlCommandFactory.php
r23133 r29506 13 13 $valueType = HermitValueTypeFactory::create($this->annote, $this->method); 14 14 15 $batchMode = $this->annote->getBatchMode($this->method); 16 $context->setBatchMode($batchMode); 17 15 18 $command = new HermitInsertCommand; 16 19 $command->setContext($context); -
lang/php/misc/Hermit/src/Hermit/command/HermitProcedureSqlCommandFactory.php
r23133 r29506 18 18 $valueType = HermitValueTypeFactory::create($this->annote, $this->method); 19 19 20 $batchMode = $this->annote->getBatchMode($this->method); 21 $context->setBatchMode($batchMode); 22 20 23 $command = new HermitProcedureCommand; 21 24 $command->setContext($context); -
lang/php/misc/Hermit/src/Hermit/command/HermitSelectCommand.php
r26373 r29506 7 7 public function execute(array $parameters){ 8 8 $pdo = $this->getConnection(HermitEvent::EVT_SELECT); 9 $builder = new HermitStatementBuilder($this->context->getTargetClass(), $this->method, $this->sqlCreator); 10 $stmt = $builder->build($pdo, $parameters); 11 $stmt->execute($parameters); 9 $genStmt = false; 10 if(null === $this->statement){ 11 $genStmt = true; 12 } else { 13 if(!$this->context->isBatchMode()){ 14 $genStmt = true; 15 } 16 } 17 if($genStmt){ 18 $builder = new HermitStatementBuilder($this->context->getTargetClass(), $this->method, $this->sqlCreator); 19 $this->statement = $builder->build($pdo, $parameters); 20 } 21 $this->statement->execute($parameters); 22 12 23 $resultset = HermitResultSetFactory::create($this->method); 13 return $resultset->execute($ stmt, $this->type);24 return $resultset->execute($this->statement, $this->type); 14 25 } 15 26 } -
lang/php/misc/Hermit/src/Hermit/command/HermitSelectSqlCommandFactory.php
r25869 r29506 20 20 } 21 21 $valueType = HermitValueTypeFactory::create($this->annote, $this->method); 22 23 $batchMode = $this->annote->getBatchMode($this->method); 24 $context->setBatchMode($batchMode); 22 25 23 26 $command = new HermitSelectCommand; -
lang/php/misc/Hermit/src/Hermit/command/HermitUpdateCommand.php
r26373 r29506 7 7 public function execute(array $parameters){ 8 8 $pdo = $this->getConnection(HermitEvent::EVT_UPDATE); 9 $builder = new HermitStatementBuilder($this->context->getTargetClass(), $this->method, $this->sqlCreator); 10 $stmt = $builder->build($pdo, $parameters); 11 $stmt->execute($parameters); 9 $genStmt = false; 10 if(null === $this->statement){ 11 $genStmt = true; 12 } else { 13 if(!$this->context->isBatchMode()){ 14 $genStmt = true; 15 } 16 } 17 if($genStmt){ 18 $builder = new HermitStatementBuilder($this->context->getTargetClass(), $this->method, $this->sqlCreator); 19 $this->statement = $builder->build($pdo, $parameters); 20 } 21 $this->statement->execute($parameters); 12 22 $resultset = new HermitUpdateQueryResultSet; 13 return $resultset->execute($ stmt, $this->type);23 return $resultset->execute($this->statement, $this->type); 14 24 } 15 25 } -
lang/php/misc/Hermit/src/Hermit/command/HermitUpdateSqlCommandFactory.php
r25869 r29506 15 15 } 16 16 $valueType = HermitValueTypeFactory::create($this->annote, $this->method); 17 $batchMode = $this->annote->getBatchMode($this->method); 18 $context->setBatchMode($batchMode); 17 19 18 20 $command = new HermitUpdateCommand; -
lang/php/misc/Hermit/src/Queue/HermitQueueDao.php
r27954 r29506 5 5 */ 6 6 interface HermitQueueDao { 7 const default_BATCH_MODE = true; 8 7 9 const wait_SQL = 'SELECT queue_wait(/*table*/"table", /*timeout*/5)'; 8 10 const wait_VALUE_TYPE = 'NUM';
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)