- Timestamp:
- 10/02/08 18:12:10 (3 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/php/misc/Hermit/src/Hermit/meta/HermitMySQLDatabaseMeta.php
r20314 r20492 5 5 */ 6 6 class HermitMySQLDatabaseMeta implements HermitDatabaseMeta { 7 7 8 const USING_DB_NAME_SQL = 'SELECT database()'; 8 9 const TABLE_INFO_SQL = 'SELECT * FROM %s LIMIT 0'; 9 10 const PROCEDIRE_INFO_SQL = 'SELECT param_list, returns FROM mysql.proc WHERE db = :db AND name = :name'; 11 10 12 private $tables = array(); 11 13 private $procedures = array(); … … 37 39 } 38 40 } 41 $stmt->closeCursor(); 42 unset($stmt); 39 43 return $this->tables[$table] = $info; 40 44 } … … 46 50 $stmt->execute(array(':db' => $this->databaseName, ':name' => $procedure)); 47 51 $paramList = $stmt->fetchColumn(0); 52 if(false === $paramList){ 53 throw new InvalidArgumentException('not found procedure name: ' . $procedure . ' in db: ' . $this->databaseName); 54 } 48 55 49 56 $info = new HermitProcedureInfo; 57 $info->setName($procedure); 50 58 $chunk = array_map('trim', explode(',', $paramList)); 51 59 foreach($chunk as $field){ … … 78 86 } 79 87 88 $stmt->closeCursor(); 89 unset($stmt); 80 90 return $this->procedures[$procedure] = $info; 81 91 } … … 84 94 $stmt = $this->pdo->prepare(self::USING_DB_NAME_SQL); 85 95 $stmt->execute(); 86 return $stmt->fetchColumn(0); 96 $result = $stmt->fetchColumn(0); 97 98 $stmt->closeCursor(); 99 unset($stmt); 100 return $result; 87 101 } 88 102 }
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)