protected function _getConnect($dsn)
{
if (!isset($this->_dsn[$dsn])) {
$pdsn = parse_url($dsn);
$dsn = DRIVER . ':host=' . $pdsn['host'] . ';dbname=' . substr($pdsn['path'], 1, 1000) . (DRIVER !== 'pgsql' ? ';charset=' . DATABASE_ENCODING : '');
$this->_dsn[$dsn] = new PDO($dsn, $pdsn['user'], isset($pdsn['pass']) ? $pdsn['pass'] : '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC));
}
return $this->_dsn[$dsn];
}