Update database.alt.php

This commit is contained in:
Namhyeon Go 2019-05-11 15:20:46 +09:00 committed by GitHub
parent 65cc6952a5
commit c2c421c14e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,9 +7,9 @@
*/
if(!check_function_exists("exec_db_alt_callback")) {
function exec_db_alt_callback($rules, $params=array()) {
function exec_db_alt_callback($rules, $params=array(), $driver="") {
$result = false;
$db_driver = get_db_driver();
$db_driver = empty($driver) ? get_db_driver() : $driver;
foreach($rules as $rule) {
if($rule['driver'] == $db_driver) {
@ -44,19 +44,28 @@ if(!check_function_exists("get_db_alt_connect")) {
array("driver" => "mysql.old", "callback" => "get_db_mysql_old_connect"),
array("driver" => "mysql.cmd", "callback" => "get_db_mysql_cmd_connect"),
array("driver" => "oracle", "callback" => "get_db_oracle_connect"),
//array("driver" => "pgsql", "callback" => "get_db_pgsql_connect"),
array("driver" => "mssql.pdo", "callback" => "get_db_mssql_pdo_connect");
array("driver" => "pgsql", "callback" => "get_db_pgsql_connect"),
array("driver" => "mssql.pdo", "callback" => "get_db_mssql_pdo_connect"),
);
$conn = exec_db_alt_callback($rules);
$conn = exec_db_alt_callback($rules, array(), $driver);
return $conn;
}
}
if(!check_function_exists("exec_db_alt_query")) {
function exec_db_alt_query($sql, $bind=array(), $driver="") {
function exec_db_alt_query($sql, $bind=array(), $options=array()) {
$result = false;
// allow custom db connection object
if(array_key_empty("dbc", $options)) {
if(!array_key_empty("driver", $options)) {
$options['dbc'] = get_db_alt_connect($options['driver']);
} else {
$options['dbc'] = get_dbc_object();
}
}
$rules = array(
array("driver" => "mysql.pdo", "callback" => "exec_db_mysql_pdo_query"),
@ -64,31 +73,32 @@ if(!check_function_exists("exec_db_alt_query")) {
array("driver" => "mysql.old", "callback" => "exec_db_mysql_old_query"),
array("driver" => "mysql.cmd", "callback" => "exec_db_mysql_cmd_query"),
array("driver" => "oracle", "callback" => "exec_db_oracle_query"),
//array("driver" => "pgsql", "callback" => "exec_db_pgsql_query"),
array("driver" => "pgsql", "callback" => "exec_db_pgsql_query"),
array("driver" => "mssql.pdo", "callback" => "exec_db_mssql_pdo_query"),
);
$result = exec_db_alt_callback($rules, array($sql, $bind));
$result = exec_db_alt_callback($rules, array($sql, $bind, $options), $driver);
return $result;
}
}
if(!check_function_exists("exec_db_alt_fetch_all")) {
function exec_db_alt_fetch_all($sql, $bind=array()) {
function exec_db_alt_fetch_all($sql, $bind=array(), $options=array()) {
$rows = array();
$driver = get_value_in_array("driver", $options, "");
$rules = array(
array("driver" => "mysql.pdo", "callback" => "exec_db_mysql_pdo_fetch_all"),
array("driver" => "mysql.imp", "callback" => "exec_db_mysql_imp_fetch_all"),
array("driver" => "mysql.old", "callback" => "exec_db_mysql_old_fetch_all"),
array("driver" => "mysql.cmd", "callback" => "exec_db_mysql_cmd_fetch_all"),
array("driver" => "oracle", "callback" => "exec_db_oracle_fetch_all"),
//array("driver" => "pgsql", "callback" => "exec_db_pgsql_fetch_all"),
array("driver" => "pgsql", "callback" => "exec_db_pgsql_fetch_all"),
array("driver" => "mssql.pdo", "callback" => "exec_db_mssql_fetch_all"),
);
$rows = exec_db_alt_callback($rules, array($sql, $bind));
$rows = exec_db_alt_callback($rules, array($sql, $bind, $options), $driver);
return $rows;
}