Merge remote branch 'origin/master'
This commit is contained in:
@@ -121,6 +121,35 @@ function checkBLOBStreamingPlugins()
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
} // end if (count($bs_variables) <= 0)
|
} // end if (count($bs_variables) <= 0)
|
||||||
|
|
||||||
|
// Check that the required pbms functions exist:
|
||||||
|
if ((function_exists("pbms_connect") == FALSE) ||
|
||||||
|
(function_exists("pbms_error") == FALSE) ||
|
||||||
|
(function_exists("pbms_close") == FALSE) ||
|
||||||
|
(function_exists("pbms_is_blob_reference") == FALSE) ||
|
||||||
|
(function_exists("pbms_get_info") == FALSE) ||
|
||||||
|
(function_exists("pbms_get_metadata_value") == FALSE) ||
|
||||||
|
(function_exists("pbms_add_metadata") == FALSE) ||
|
||||||
|
(function_exists("pbms_read_stream") == FALSE)) {
|
||||||
|
|
||||||
|
// We should probably notify the user that they need to install
|
||||||
|
// the pbms client lib and PHP extension to make use of blob streaming.
|
||||||
|
$PMA_Config->set('BLOBSTREAMING_PLUGINS_EXIST', FALSE);
|
||||||
|
PMA_cacheSet('skip_blobstreaming', true, true);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (function_exists("pbms_connection_pool_size")) {
|
||||||
|
if ( isset($PMA_Config->settings['pbms_connection_pool_size'])) {
|
||||||
|
$pool_size = $PMA_Config->settings['pbms_connection_pool_size'];
|
||||||
|
if ($pool_size == "") {
|
||||||
|
$pool_size = 1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$pool_size = 1;
|
||||||
|
}
|
||||||
|
pbms_connection_pool_size($pool_size);
|
||||||
|
}
|
||||||
|
|
||||||
// get BS server port
|
// get BS server port
|
||||||
$BS_PORT = $bs_variables['pbms_port'];
|
$BS_PORT = $bs_variables['pbms_port'];
|
||||||
|
|
||||||
@@ -290,7 +319,14 @@ function PMA_BS_IsPBMSReference($bs_reference, $db_name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// You do not really need a connection to the PBMS Daemon
|
// You do not really need a connection to the PBMS Daemon
|
||||||
// to check if a reference looks valid.
|
// to check if a reference looks valid but unfortunalty the API
|
||||||
|
// requires one at this point so until the API is updated
|
||||||
|
// we need to epen one here. If you use pool connections this
|
||||||
|
// will not be a performance problem.
|
||||||
|
if (PMA_do_connect($db_name, FALSE) == FALSE) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
$ok = pbms_is_blob_reference($bs_reference);
|
$ok = pbms_is_blob_reference($bs_reference);
|
||||||
return $ok ;
|
return $ok ;
|
||||||
}
|
}
|
||||||
@@ -494,34 +530,4 @@ function PMA_BS_getURL($reference)
|
|||||||
return $bs_url;
|
return $bs_url;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* returns the field name for a primary key of a given table in a given database
|
|
||||||
*
|
|
||||||
* @access public
|
|
||||||
* @param string - database name
|
|
||||||
* @param string - table name
|
|
||||||
* @uses PMA_DBI_select_db()
|
|
||||||
* @uses PMA_backquote()
|
|
||||||
* @uses PMA_DBI_query()
|
|
||||||
* @uses PMA_DBI_fetch_assoc()
|
|
||||||
* @return string - field name for primary key
|
|
||||||
*/
|
|
||||||
function PMA_BS_GetPrimaryField($db_name, $tbl_name)
|
|
||||||
{
|
|
||||||
// select specified database
|
|
||||||
PMA_DBI_select_db($db_name);
|
|
||||||
|
|
||||||
// retrieve table fields
|
|
||||||
$query = "SHOW FULL FIELDS FROM " . PMA_backquote($tbl_name);
|
|
||||||
$result = PMA_DBI_query($query);
|
|
||||||
|
|
||||||
// while there are records to parse
|
|
||||||
while ($data = PMA_DBI_fetch_assoc($result)) {
|
|
||||||
if ("PRI" == $data['Key']) {
|
|
||||||
return $data['Field'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// return NULL on no primary key
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
?>
|
?>
|
||||||
|
@@ -210,10 +210,6 @@ foreach ($loop_array as $rowcount => $where_clause) {
|
|||||||
? $_REQUEST['auto_increment']['multi_edit'][$rowcount]
|
? $_REQUEST['auto_increment']['multi_edit'][$rowcount]
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
if ($blob_streaming_active) {
|
|
||||||
$primary_field = PMA_BS_GetPrimaryField($GLOBALS['db'], $GLOBALS['table']);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fetch the current values of a row to use in case we have a protected field
|
// Fetch the current values of a row to use in case we have a protected field
|
||||||
// @todo possibly move to ./libraries/tbl_replace_fields.inc.php
|
// @todo possibly move to ./libraries/tbl_replace_fields.inc.php
|
||||||
if ($is_insert && $using_key && isset($me_fields_type) && is_array($me_fields_type) && isset($where_clause)) {
|
if ($is_insert && $using_key && isset($me_fields_type) && is_array($me_fields_type) && isset($where_clause)) {
|
||||||
@@ -226,7 +222,7 @@ foreach ($loop_array as $rowcount => $where_clause) {
|
|||||||
require './libraries/tbl_replace_fields.inc.php';
|
require './libraries/tbl_replace_fields.inc.php';
|
||||||
|
|
||||||
// for blobstreaming
|
// for blobstreaming
|
||||||
if ($blob_streaming_active && (NULL != $primary_field || strlen($primary_field) > 0)) {
|
if ($blob_streaming_active) {
|
||||||
$remove_blob_repo = isset($_REQUEST['remove_blob_repo_' . $key]) ? $_REQUEST['remove_blob_repo_' . $key] : NULL;
|
$remove_blob_repo = isset($_REQUEST['remove_blob_repo_' . $key]) ? $_REQUEST['remove_blob_repo_' . $key] : NULL;
|
||||||
$upload_blob_repo = isset($_REQUEST['upload_blob_repo_' . $key]) ? $_REQUEST['upload_blob_repo_' . $key] : NULL;
|
$upload_blob_repo = isset($_REQUEST['upload_blob_repo_' . $key]) ? $_REQUEST['upload_blob_repo_' . $key] : NULL;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user