return get_val("SELECT SCOPE_IDENTITY()"); // @@IDENTITY can return trigger INSERT
}
+ function explain($connection, $query) {
+ $connection->query("SET SHOWPLAN_ALL ON");
+ $return = $connection->query($query);
+ $connection->query("SET SHOWPLAN_ALL OFF"); // connection is used also for indexes
+ return $return;
+ }
+
} else {
class MssqlDb extends PdoDb {
function select_db($database) {
return $connection->lastInsertId();
}
+ function explain($connection, $query) {
+ }
+
if (extension_loaded("pdo_sqlsrv")) {
class Db extends MssqlDb {
public $extension = "PDO_SQLSRV";
;
}
- function explain($connection, $query) {
- $connection->query("SET SHOWPLAN_ALL ON");
- $return = $connection->query($query);
- $connection->query("SET SHOWPLAN_ALL OFF"); // connection is used also for indexes
- return $return;
- }
-
function found_rows($table_status, $where) {
}
return "/$match[1].php?ext=pdo" . ($match[3] ? "&" : "");
}, $file);
$file = str_replace("<tr><td>open</td><td>/coverage.php?coverage=0</td><td></td></tr>\n", "", $file);
+ $file = str_replace("<tr><td>click</td><td>link=Explain</td><td></td></tr>\n<tr><td>verifyTextPresent</td><td>Clustered Index Scan</td><td></td></tr>\n", "", $file); // MS SQL PDO doesn't support EXPLAIN
$file = preg_replace("~//input\[@value='Login']~", "\\0</td><td></td></tr>\n<tr><td>verifyTextPresent</td><td>PDO_", $file, 1);
file_put_contents("pdo-$filename", $file);
}