return false;
}
- /** Open an SQLite database and return a resource handle to it
- * NOTE: only $dbName is used, the other parameters are irrelevant for SQLite databases
- *
- * @param string $server
- * @param string $user Unused
- * @param string $pass
- * @param string $dbName
- *
- * @throws DBConnectionError
- * @return bool
- */
- function open( $server, $user, $pass, $dbName ) {
+ protected function open( $server, $user, $pass, $dbName ) {
$this->close();
$fileName = self::generateFileName( $this->dbDir, $dbName );
if ( !is_readable( $fileName ) ) {
$this->conn = false;
throw new DBConnectionError( $this, "SQLite database not accessible" );
}
+ // Only $dbName is used, the other parameters are irrelevant for SQLite databases
$this->openFile( $fileName, $dbName );
return (bool)$this->conn;
return $this->query( "ATTACH DATABASE $file AS $name", $fname );
}
- function isWriteQuery( $sql ) {
+ protected function isWriteQuery( $sql ) {
return parent::isWriteQuery( $sql ) && !preg_match( '/^(ATTACH|PRAGMA)\b/i', $sql );
}
/**
* The PDO::Statement class implements the array interface so count() will work
*
- * @param ResultWrapper|array $res
+ * @param ResultWrapper|array|false $res
* @return int
*/
function numRows( $res ) {
+ // false does not implement Countable
$r = $res instanceof ResultWrapper ? $res->result : $res;
- return count( $r );
+ return is_array( $r ) ? count( $r ) : 0;
}
/**
}
$sql = $obj->sql;
$sql = preg_replace(
- '/(?<=\W)"?' . preg_quote( trim( $this->addIdentifierQuotes( $oldName ), '"' ) ) . '"?(?=\W)/',
+ '/(?<=\W)"?' .
+ preg_quote( trim( $this->addIdentifierQuotes( $oldName ), '"' ), '/' ) .
+ '"?(?=\W)/',
$this->addIdentifierQuotes( $newName ),
$sql,
1