/** * Extracts the PHP type from DB type. * * @param string $dbType DB type */ public function extractType($dbType) { parent::extractType($dbType); if (false !== strpos($dbType, 'varchar') && null === $this->size) { $this->type = static::TYPE_TEXT; } }
/** * Extracts the PHP type from DB type. * * @param string $dbType DB type */ public function extractType($dbType) { parent::extractType($dbType); if (strpos($dbType, '[') !== false || strpos($dbType, 'char') !== false || strpos($dbType, 'text') !== false) { $this->type = static::TYPE_STRING; } elseif (preg_match('/(real|float|double)/', $dbType)) { $this->type = static::TYPE_DOUBLE; } elseif (preg_match('/(integer|oid|serial|smallint)/', $dbType)) { $this->type = static::TYPE_INTEGER; } }
/** * Extracts the PHP type from DB type. * * @param string $dbType DB type */ public function extractType($dbType) { parent::extractType($dbType); if (strpos($dbType, '[') !== false || strpos($dbType, 'char') !== false || strpos($dbType, 'text') !== false) { $this->type = 'string'; } elseif (preg_match('/(real|float|double)/', $dbType)) { $this->type = 'double'; } elseif (preg_match('/(integer|oid|serial|smallint)/', $dbType)) { $this->type = 'integer'; } }
/** * Extracts the PHP type from DB type. * * @param string $dbType DB type */ public function extractType($dbType) { parent::extractType($dbType); $simpleType = strstr($dbType, '(', true); $simpleType = strtolower($simpleType ?: $dbType); switch ($simpleType) { case 'long varchar': $this->type = static::TYPE_TEXT; break; case 'long nvarchar': $this->type = static::TYPE_TEXT; $this->supportsMultibyte = true; break; } }