original_string: public function createTemporaryTable( $tableNamePattern, $tableDefinition )
      {
      	$tableNamePattern = $this->getPrefixedTableNames($tableNamePattern);
          if ( strpos( $tableNamePattern, '%' ) === false )
          {
              $tableName = $tableNamePattern;
          }
          else // generate unique table name with the given pattern
          {
              $maxTries = 10;
              do
              {
                  $num = rand( 10000000, 99999999 );
                  $tableName = strtoupper( str_replace( '%', $num, $tableNamePattern ) );
                  $query = "SELECT count(*) AS cnt FROM user_tables WHERE table_name='$tableName'";
                  $cnt = (int) $this->db->query( $query )->fetchColumn( 0 );
                  $maxTries--;
              } while ( $cnt > 0 && $maxTries > 0 );
  
              if ( $maxTries == 0 )
              {
                  throw ezcDbException(
                      ezcDbException::GENERIC_ERROR,
                      "Tried to generate an uninque temp table name for {$maxTries} time with no luck."
                  );
              }
          }
  
          $this->db->exec( "CREATE GLOBAL TEMPORARY TABLE $tableName ($tableDefinition)" );
          return $tableName;
      }
code: public function createTemporaryTable( $tableNamePattern, $tableDefinition )
      {
      	$tableNamePattern = $this->getPrefixedTableNames($tableNamePattern);
          if ( strpos( $tableNamePattern, '%' ) === false )
          {
              $tableName = $tableNamePattern;
          }
          else // generate unique table name with the given pattern
          {
              $maxTries = 10;
              do
              {
                  $num = rand( 10000000, 99999999 );
                  $tableName = strtoupper( str_replace( '%', $num, $tableNamePattern ) );
                  $query = "SELECT count(*) AS cnt FROM user_tables WHERE table_name='$tableName'";
                  $cnt = (int) $this->db->query( $query )->fetchColumn( 0 );
                  $maxTries--;
              } while ( $cnt > 0 && $maxTries > 0 );
  
              if ( $maxTries == 0 )
              {
                  throw ezcDbException(
                      ezcDbException::GENERIC_ERROR,
                      "Tried to generate an uninque temp table name for {$maxTries} time with no luck."
                  );
              }
          }
  
          $this->db->exec( "CREATE GLOBAL TEMPORARY TABLE $tableName ($tableDefinition)" );
          return $tableName;
      }
code_tokens: public function createTemporaryTable ( $ tableNamePattern , $ tableDefinition ) { $ tableNamePattern = $ this -> getPrefixedTableNames ( $ tableNamePattern ) ; if ( strpos ( $ tableNamePattern , '%' ) === false ) { $ tableName = $ tableNamePattern ; } else // generate unique table name with the given pattern { $ maxTries = 10 ; do { $ num = rand ( 10000000 , 99999999 ) ; $ tableName = strtoupper ( str_replace ( '%' , $ num , $ tableNamePattern ) ) ; $ query = "SELECT count(*) AS cnt FROM user_tables WHERE table_name='$tableName'" ; $ cnt = ( int ) $ this -> db -> query ( $ query ) -> fetchColumn ( 0 ) ; $ maxTries -- ; } while ( $ cnt > 0 && $ maxTries > 0 ) ; if ( $ maxTries == 0 ) { throw ezcDbException ( ezcDbException :: GENERIC_ERROR , "Tried to generate an uninque temp table name for {$maxTries} time with no luck." ) ; } } $ this -> db -> exec ( "CREATE GLOBAL TEMPORARY TABLE $tableName ($tableDefinition)" ) ; return $ tableName ; }
docstring: Creates a new temporary table and returns the name.
  
  @throws ezcDbException::GENERIC_ERROR in case of inability to generate
  a unique temporary table name.
  @see ezcDbHandler::createTemporaryTable()
  
  
  @param   string $tableNamePattern  Name of temporary table user wants
  to create.
  @param   string $tableDefinition Definition for the table, i.e.
  everything that goes between braces after
  CREATE TEMPORARY TABLE clause.
  @return string                  Table name, that might have been changed
  by the handler to guarantee its uniqueness.
  @todo move out
docstring_tokens: Creates a new temporary table and returns the name .