public function setPGTStorageDb($dsn_or_pdo, $username = '', $password = '', $table = '', $driver_options = null)
{
// Sequence validation
$this->ensureIsProxy();
// Argument validation
if (is_object($dsn_or_pdo) && !$dsn_or_pdo instanceof PDO || gettype($dsn_or_pdo) != 'string') {
throw new CAS_TypeMismatchException($dsn_or_pdo, '$dsn_or_pdo', 'string or PDO object');
}
if (gettype($username) != 'string') {
throw new CAS_TypeMismatchException($username, '$username', 'string');
}
if (gettype($password) != 'string') {
throw new CAS_TypeMismatchException($password, '$password', 'string');
}
if (gettype($table) != 'string') {
throw new CAS_TypeMismatchException($table, '$password', 'string');
}
// create the storage object
$this->setPGTStorage(new CAS_PGTStorage_Db($this, $dsn_or_pdo, $username, $password, $table, $driver_options));
}