original_string: function MetaType($t,$len=-1,$fieldobj=false)
  	{
  		if (is_object($t)) {
  			$fieldobj = $t;
  			$t = $fieldobj->type;
  			$len = $fieldobj->max_length;
  		}
  		$is_serial = is_object($fieldobj) && $fieldobj->primary_key && $fieldobj->auto_increment;
  
  		$len = -1; // mysql max_length is not accurate
  		switch (strtoupper($t)) {
  		case 'STRING':
  		case 'CHAR':
  		case 'VARCHAR':
  		case 'TINYBLOB':
  		case 'TINYTEXT':
  		case 'ENUM':
  		case 'SET':
  			if ($len <= $this->blobSize) return 'C';
  
  		case 'TEXT':
  		case 'LONGTEXT':
  		case 'MEDIUMTEXT':
  			return 'X';
  
  		// php_mysql extension always returns 'blob' even if 'text'
  		// so we have to check whether binary...
  		case 'IMAGE':
  		case 'LONGBLOB':
  		case 'BLOB':
  		case 'MEDIUMBLOB':
  			return !empty($fieldobj->binary) ? 'B' : 'X';
  
  		case 'YEAR':
  		case 'DATE': return 'D';
  
  		case 'TIME':
  		case 'DATETIME':
  		case 'TIMESTAMP': return 'T';
  
  		case 'FLOAT':
  		case 'DOUBLE':
  			return 'F';
  
  		case 'INT':
  		case 'INTEGER': return $is_serial ? 'R' : 'I';
  		case 'TINYINT': return $is_serial ? 'R' : 'I1';
  		case 'SMALLINT': return $is_serial ? 'R' : 'I2';
  		case 'MEDIUMINT': return $is_serial ? 'R' : 'I4';
  		case 'BIGINT':  return $is_serial ? 'R' : 'I8';
  		default: return 'N';
  		}
  	}
code: function MetaType($t,$len=-1,$fieldobj=false)
  	{
  		if (is_object($t)) {
  			$fieldobj = $t;
  			$t = $fieldobj->type;
  			$len = $fieldobj->max_length;
  		}
  		$is_serial = is_object($fieldobj) && $fieldobj->primary_key && $fieldobj->auto_increment;
  
  		$len = -1; // mysql max_length is not accurate
  		switch (strtoupper($t)) {
  		case 'STRING':
  		case 'CHAR':
  		case 'VARCHAR':
  		case 'TINYBLOB':
  		case 'TINYTEXT':
  		case 'ENUM':
  		case 'SET':
  			if ($len <= $this->blobSize) return 'C';
  
  		case 'TEXT':
  		case 'LONGTEXT':
  		case 'MEDIUMTEXT':
  			return 'X';
  
  		// php_mysql extension always returns 'blob' even if 'text'
  		// so we have to check whether binary...
  		case 'IMAGE':
  		case 'LONGBLOB':
  		case 'BLOB':
  		case 'MEDIUMBLOB':
  			return !empty($fieldobj->binary) ? 'B' : 'X';
  
  		case 'YEAR':
  		case 'DATE': return 'D';
  
  		case 'TIME':
  		case 'DATETIME':
  		case 'TIMESTAMP': return 'T';
  
  		case 'FLOAT':
  		case 'DOUBLE':
  			return 'F';
  
  		case 'INT':
  		case 'INTEGER': return $is_serial ? 'R' : 'I';
  		case 'TINYINT': return $is_serial ? 'R' : 'I1';
  		case 'SMALLINT': return $is_serial ? 'R' : 'I2';
  		case 'MEDIUMINT': return $is_serial ? 'R' : 'I4';
  		case 'BIGINT':  return $is_serial ? 'R' : 'I8';
  		default: return 'N';
  		}
  	}
code_tokens: function MetaType ( $ t , $ len = - 1 , $ fieldobj = false ) { if ( is_object ( $ t ) ) { $ fieldobj = $ t ; $ t = $ fieldobj -> type ; $ len = $ fieldobj -> max_length ; } $ is_serial = is_object ( $ fieldobj ) && $ fieldobj -> primary_key && $ fieldobj -> auto_increment ; $ len = - 1 ; // mysql max_length is not accurate switch ( strtoupper ( $ t ) ) { case 'STRING' : case 'CHAR' : case 'VARCHAR' : case 'TINYBLOB' : case 'TINYTEXT' : case 'ENUM' : case 'SET' : if ( $ len <= $ this -> blobSize ) return 'C' ; case 'TEXT' : case 'LONGTEXT' : case 'MEDIUMTEXT' : return 'X' ; // php_mysql extension always returns 'blob' even if 'text' // so we have to check whether binary... case 'IMAGE' : case 'LONGBLOB' : case 'BLOB' : case 'MEDIUMBLOB' : return ! empty ( $ fieldobj -> binary ) ? 'B' : 'X' ; case 'YEAR' : case 'DATE' : return 'D' ; case 'TIME' : case 'DATETIME' : case 'TIMESTAMP' : return 'T' ; case 'FLOAT' : case 'DOUBLE' : return 'F' ; case 'INT' : case 'INTEGER' : return $ is_serial ? 'R' : 'I' ; case 'TINYINT' : return $ is_serial ? 'R' : 'I1' ; case 'SMALLINT' : return $ is_serial ? 'R' : 'I2' ; case 'MEDIUMINT' : return $ is_serial ? 'R' : 'I4' ; case 'BIGINT' : return $ is_serial ? 'R' : 'I8' ; default : return 'N' ; } }
docstring: needs column-definition!
docstring_tokens: needs column - definition!