diff --git a/libraries/blobstreaming.lib.php b/libraries/blobstreaming.lib.php index 17a05e08f..adc0b1436 100755 --- a/libraries/blobstreaming.lib.php +++ b/libraries/blobstreaming.lib.php @@ -121,6 +121,35 @@ function checkBLOBStreamingPlugins() return FALSE; } // 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 $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 - // 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); return $ok ; } @@ -494,34 +530,4 @@ function PMA_BS_getURL($reference) 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; -} ?> diff --git a/po/ug.po b/po/ug.po index e06c396c8..b42fc0ab3 100644 --- a/po/ug.po +++ b/po/ug.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: phpMyAdmin 3.4.0-dev\n" "Report-Msgid-Bugs-To: phpmyadmin-devel@lists.sourceforge.net\n" "POT-Creation-Date: 2010-07-28 05:45-0400\n" -"PO-Revision-Date: 2010-07-28 04:52+0200\n" -"Last-Translator: \n" +"PO-Revision-Date: 2010-07-29 07:51+0200\n" +"Last-Translator: \n" "Language-Team: Uyghur \n" +"Language: ug\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ug\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Pootle 2.0.1\n" @@ -1971,15 +1971,15 @@ msgstr "" #: libraries/display_export.lib.php:145 msgid "server name" -msgstr "" +msgstr "مۇلازىمىتىر ئىسمى" #: libraries/display_export.lib.php:148 msgid "database name" -msgstr "" +msgstr "ساندان ئىسمى" #: libraries/display_export.lib.php:151 msgid "table name" -msgstr "" +msgstr "سانلىق مەلۇمات جەدىۋېلى ئىسمى" #: libraries/display_export.lib.php:155 #, php-format diff --git a/tbl_replace.php b/tbl_replace.php index 3b25d7a6e..7a6ff2649 100755 --- a/tbl_replace.php +++ b/tbl_replace.php @@ -210,10 +210,6 @@ foreach ($loop_array as $rowcount => $where_clause) { ? $_REQUEST['auto_increment']['multi_edit'][$rowcount] : 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 // @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)) { @@ -226,7 +222,7 @@ foreach ($loop_array as $rowcount => $where_clause) { require './libraries/tbl_replace_fields.inc.php'; // 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; $upload_blob_repo = isset($_REQUEST['upload_blob_repo_' . $key]) ? $_REQUEST['upload_blob_repo_' . $key] : NULL; @@ -234,7 +230,7 @@ foreach ($loop_array as $rowcount => $where_clause) { if (isset($remove_blob_repo) && ! isset($upload_blob_repo)) { $remove_blob_reference = $_REQUEST['remove_blob_ref_' . $key]; if (isset($remove_blob_reference)) { - $val = "''"; + $val = "NULL"; } }