The branch, master has been updated
via b7c1742809dd045a4475697ee45d78cb0392a8ec (commit)
from e56949f160b9de33a8ca642e6d9d8efa81c112fe (commit)
- Log -----------------------------------------------------------------
commit b7c1742809dd045a4475697ee45d78cb0392a8ec
Author: Michal Čihař <mcihar(a)suse.cz>
Date: Tue Oct 25 11:12:37 2011 +0200
Coding style improvements, mostly in docblocks
-----------------------------------------------------------------------
Summary of changes:
libraries/database_interface.lib.php | 237 ++++++++++++++++++++++------------
1 files changed, 155 insertions(+), 82 deletions(-)
diff --git a/libraries/database_interface.lib.php b/libraries/database_interface.lib.php
index f77a682..6b26f18 100644
--- a/libraries/database_interface.lib.php
+++ b/libraries/database_interface.lib.php
@@ -603,14 +603,16 @@ function PMA_DBI_get_tables_full($database, $table = false,
$tbl_is_group = fals
* returns array with databases containing extended infos about them
*
* @todo move into PMA_List_Database?
- * @param string $database database
- * @param boolean $force_stats retrieve stats also for MySQL < 5
- * @param resource $link mysql link
- * @param string $sort_by column to order by
- * @param string $sort_order ASC or DESC
- * @param integer $limit_offset starting offset for LIMIT
- * @param bool|int $limit_count row count for LIMIT or true for
$GLOBALS['cfg']['MaxDbList']
- * @return array $databases
+ *
+ * @param string $database database
+ * @param boolean $force_stats retrieve stats also for MySQL < 5
+ * @param resource $link mysql link
+ * @param string $sort_by column to order by
+ * @param string $sort_order ASC or DESC
+ * @param integer $limit_offset starting offset for LIMIT
+ * @param bool|int $limit_count row count for LIMIT or true for
$GLOBALS['cfg']['MaxDbList']
+ *
+ * @return array $databases
*/
function PMA_DBI_get_databases_full($database = null, $force_stats = false,
$link = null, $sort_by = 'SCHEMA_NAME', $sort_order = 'ASC',
@@ -650,12 +652,14 @@ function PMA_DBI_get_databases_full($database = null, $force_stats =
false,
}
if (PMA_DRIZZLE) {
- // data_dictionary.table_cache may not contain any data for some tables,
it's just a table cache
+ // data_dictionary.table_cache may not contain any data for some
+ // tables, it's just a table cache
$sql = 'SELECT
s.SCHEMA_NAME,
s.DEFAULT_COLLATION_NAME';
if ($force_stats) {
- // no TABLE_CACHE data, stable results are better than constantly
changing
+ // no TABLE_CACHE data, stable results are better than
+ // constantly changing
$sql .= ',
COUNT(t.TABLE_SCHEMA) AS SCHEMA_TABLES,
SUM(stat.NUM_ROWS) AS SCHEMA_TABLE_ROWS';
@@ -801,6 +805,7 @@ function PMA_DBI_get_databases_full($database = null, $force_stats =
false,
* @param string $table name of table to retrieve columns from
* @param string $column name of specific column
* @param mixed $link mysql link resource
+ *
* @return array
*/
function PMA_DBI_get_columns_full($database = null, $table = null,
@@ -907,34 +912,34 @@ function PMA_DBI_get_columns_full($database = null, $table = null,
// MySQL forward compatibility
// so pma could use this array as if every server is of version >5.0
- $columns[$column_name]['COLUMN_NAME'] =&
$columns[$column_name]['Field'];
- $columns[$column_name]['COLUMN_TYPE'] =&
$columns[$column_name]['Type'];
- $columns[$column_name]['COLLATION_NAME'] =&
$columns[$column_name]['Collation'];
- $columns[$column_name]['IS_NULLABLE'] =&
$columns[$column_name]['Null'];
- $columns[$column_name]['COLUMN_KEY'] =&
$columns[$column_name]['Key'];
- $columns[$column_name]['COLUMN_DEFAULT'] =&
$columns[$column_name]['Default'];
- $columns[$column_name]['EXTRA'] =&
$columns[$column_name]['Extra'];
- $columns[$column_name]['PRIVILEGES'] =&
$columns[$column_name]['Privileges'];
- $columns[$column_name]['COLUMN_COMMENT'] =&
$columns[$column_name]['Comment'];
-
- $columns[$column_name]['TABLE_CATALOG'] = null;
- $columns[$column_name]['TABLE_SCHEMA'] = $database;
- $columns[$column_name]['TABLE_NAME'] = $table;
- $columns[$column_name]['ORDINAL_POSITION'] =
$ordinal_position;
- $columns[$column_name]['DATA_TYPE'] =
+ $columns[$column_name]['COLUMN_NAME'] =&
$columns[$column_name]['Field'];
+ $columns[$column_name]['COLUMN_TYPE'] =&
$columns[$column_name]['Type'];
+ $columns[$column_name]['COLLATION_NAME'] =&
$columns[$column_name]['Collation'];
+ $columns[$column_name]['IS_NULLABLE'] =&
$columns[$column_name]['Null'];
+ $columns[$column_name]['COLUMN_KEY'] =&
$columns[$column_name]['Key'];
+ $columns[$column_name]['COLUMN_DEFAULT'] =&
$columns[$column_name]['Default'];
+ $columns[$column_name]['EXTRA'] =&
$columns[$column_name]['Extra'];
+ $columns[$column_name]['PRIVILEGES'] =&
$columns[$column_name]['Privileges'];
+ $columns[$column_name]['COLUMN_COMMENT'] =&
$columns[$column_name]['Comment'];
+
+ $columns[$column_name]['TABLE_CATALOG'] = null;
+ $columns[$column_name]['TABLE_SCHEMA'] = $database;
+ $columns[$column_name]['TABLE_NAME'] = $table;
+ $columns[$column_name]['ORDINAL_POSITION'] = $ordinal_position;
+ $columns[$column_name]['DATA_TYPE'] =
substr($columns[$column_name]['COLUMN_TYPE'], 0,
strpos($columns[$column_name]['COLUMN_TYPE'], '('));
/**
* @todo guess CHARACTER_MAXIMUM_LENGTH from COLUMN_TYPE
*/
- $columns[$column_name]['CHARACTER_MAXIMUM_LENGTH'] = null;
+ $columns[$column_name]['CHARACTER_MAXIMUM_LENGTH'] = null;
/**
* @todo guess CHARACTER_OCTET_LENGTH from CHARACTER_MAXIMUM_LENGTH
*/
- $columns[$column_name]['CHARACTER_OCTET_LENGTH'] = null;
- $columns[$column_name]['NUMERIC_PRECISION'] = null;
- $columns[$column_name]['NUMERIC_SCALE'] = null;
- $columns[$column_name]['CHARACTER_SET_NAME'] =
+ $columns[$column_name]['CHARACTER_OCTET_LENGTH'] = null;
+ $columns[$column_name]['NUMERIC_PRECISION'] = null;
+ $columns[$column_name]['NUMERIC_SCALE'] = null;
+ $columns[$column_name]['CHARACTER_SET_NAME'] =
substr($columns[$column_name]['COLLATION_NAME'], 0,
strpos($columns[$column_name]['COLLATION_NAME'], '_'));
@@ -952,13 +957,15 @@ function PMA_DBI_get_columns_full($database = null, $table = null,
/**
* Returns SQL query for fetching columns for a table
*
- * The 'Key' column is not calculated properly, use PMA_DBI_get_columns() to get
correct values.
+ * The 'Key' column is not calculated properly, use PMA_DBI_get_columns() to get
+ * correct values.
*
* @see PMA_DBI_get_columns()
* @param string $database name of database
* @param string $table name of table to retrieve columns from
* @param string $column name of column, null to show all columns
* @param boolean $full whether to return full info or only column names
+ *
* @return string
*/
function PMA_DBI_get_columns_sql($database, $table, $column = null, $full = false)
@@ -1155,22 +1162,40 @@ function PMA_DBI_get_variable($var, $type =
PMA_DBI_GETVAR_SESSION, $link = null
}
/**
- * Function called just after a connection to the MySQL database server has been
established
- * It sets the connection collation, and determins the version of MySQL which is
running.
+ * Function called just after a connection to the MySQL database server has
+ * been established. It sets the connection collation, and determins the
+ * version of MySQL which is running.
*
- * @param mixed $link mysql link resource|object
- * @param boolean $is_controluser
+ * @param mixed $link mysql link resource|object
+ * @param boolean $is_controluser whether link is for control user
*/
function PMA_DBI_postConnect($link, $is_controluser = false)
{
if (! defined('PMA_MYSQL_INT_VERSION')) {
if (PMA_cacheExists('PMA_MYSQL_INT_VERSION', true)) {
- define('PMA_MYSQL_INT_VERSION',
PMA_cacheGet('PMA_MYSQL_INT_VERSION', true));
- define('PMA_MYSQL_MAJOR_VERSION',
PMA_cacheGet('PMA_MYSQL_MAJOR_VERSION', true));
- define('PMA_MYSQL_STR_VERSION',
PMA_cacheGet('PMA_MYSQL_STR_VERSION', true));
- define('PMA_MYSQL_VERSION_COMMENT',
PMA_cacheGet('PMA_MYSQL_VERSION_COMMENT', true));
+ define(
+ 'PMA_MYSQL_INT_VERSION',
+ PMA_cacheGet('PMA_MYSQL_INT_VERSION', true)
+ );
+ define(
+ 'PMA_MYSQL_MAJOR_VERSION',\
+ PMA_cacheGet('PMA_MYSQL_MAJOR_VERSION', true)
+ );
+ define(
+ 'PMA_MYSQL_STR_VERSION',
+ PMA_cacheGet('PMA_MYSQL_STR_VERSION', true)
+ );
+ define(
+ 'PMA_MYSQL_VERSION_COMMENT',
+ PMA_cacheGet('PMA_MYSQL_VERSION_COMMENT', true)
+ );
} else {
- $version = PMA_DBI_fetch_single_row('SELECT @@version,
@@version_comment', 'ASSOC', $link);
+ $version = PMA_DBI_fetch_single_row(
+ 'SELECT @@version, @@version_comment',
+ 'ASSOC',
+ $link
+ );
+
if ($version) {
$match = explode('.', $version['@@version']);
define('PMA_MYSQL_MAJOR_VERSION', (int)$match[0]);
@@ -1185,12 +1210,29 @@ function PMA_DBI_postConnect($link, $is_controluser = false)
define('PMA_MYSQL_STR_VERSION', '5.00.15');
define('PMA_MYSQL_VERSION_COMMENT', '');
}
- PMA_cacheSet('PMA_MYSQL_INT_VERSION', PMA_MYSQL_INT_VERSION, true);
- PMA_cacheSet('PMA_MYSQL_MAJOR_VERSION', PMA_MYSQL_MAJOR_VERSION,
true);
- PMA_cacheSet('PMA_MYSQL_STR_VERSION', PMA_MYSQL_STR_VERSION, true);
- PMA_cacheSet('PMA_MYSQL_VERSION_COMMENT', PMA_MYSQL_VERSION_COMMENT,
true);
+ PMA_cacheSet(
+ 'PMA_MYSQL_INT_VERSION',
+ PMA_MYSQL_INT_VERSION,
+ true
+ );
+ PMA_cacheSet(
+ 'PMA_MYSQL_MAJOR_VERSION',
+ PMA_MYSQL_MAJOR_VERSION,
+ true
+ );
+ PMA_cacheSet(
+ 'PMA_MYSQL_STR_VERSION',
+ PMA_MYSQL_STR_VERSION,
+ true
+ );
+ PMA_cacheSet(
+ 'PMA_MYSQL_VERSION_COMMENT',
+ PMA_MYSQL_VERSION_COMMENT,
+ true
+ );
}
- // detect Drizzle by version number - <year>.<month>.<build
number>(.<patch rev)
+ // detect Drizzle by version number:
+ // <year>.<month>.<build number>(.<patch rev)
define('PMA_DRIZZLE', PMA_MYSQL_MAJOR_VERSION >= 2009);
}
@@ -1198,9 +1240,17 @@ function PMA_DBI_postConnect($link, $is_controluser = false)
if (!PMA_DRIZZLE) {
if (! empty($GLOBALS['collation_connection'])) {
PMA_DBI_query("SET CHARACTER SET 'utf8';", $link,
PMA_DBI_QUERY_STORE);
- PMA_DBI_query("SET collation_connection = '" .
PMA_sqlAddSlashes($GLOBALS['collation_connection']) . "';", $link,
PMA_DBI_QUERY_STORE);
+ PMA_DBI_query(
+ "SET collation_connection = '" .
PMA_sqlAddSlashes($GLOBALS['collation_connection']) . "';",
+ $link,
+ PMA_DBI_QUERY_STORE
+ );
} else {
- PMA_DBI_query("SET NAMES 'utf8' COLLATE
'utf8_general_ci';", $link, PMA_DBI_QUERY_STORE);
+ PMA_DBI_query(
+ "SET NAMES 'utf8' COLLATE 'utf8_general_ci';",
+ $link,
+ PMA_DBI_QUERY_STORE
+ );
}
}
@@ -1286,11 +1336,12 @@ function PMA_DBI_fetch_value($result, $row_number = 0, $field = 0,
$link = null)
*
* @param string|mysql_result $result query or mysql result
* @param string $type NUM|ASSOC|BOTH
- * returned array should either numeric
- * associativ or booth
+ * returned array should either numeric
+ * associativ or booth
* @param resource $link mysql link
- * @return array|boolean first row from result
- * or false if result is empty
+ *
+ * @return array|boolean first row from result
+ * or false if result is empty
*/
function PMA_DBI_fetch_single_row($result, $type = 'ASSOC', $link = null)
{
@@ -1365,12 +1416,13 @@ function PMA_DBI_fetch_single_row($result, $type =
'ASSOC', $link = null)
*
* @param string|mysql_result $result query or mysql result
* @param string|integer $key field-name or offset
- * used as key for array
+ * used as key for array
* @param string|integer $value value-name or offset
- * used as value for array
+ * used as value for array
* @param resource $link mysql link
* @param mixed $options
- * @return array resultrows or values indexed by $key
+ *
+ * @return array resultrows or values indexed by $key
*/
function PMA_DBI_fetch_result($result, $key = null, $value = null,
$link = null, $options = 0)
@@ -1460,7 +1512,7 @@ function PMA_DBI_fetch_result($result, $key = null, $value = null,
/**
* Get supported SQL compatibility modes
*
- * @return array supported SQL compatibility modes
+ * @return array supported SQL compatibility modes
*/
function PMA_DBI_getCompatibilities()
{
@@ -1489,7 +1541,8 @@ function PMA_DBI_getCompatibilities()
* returns warnings for last query
*
* @param resource $link mysql link resource
- * @return array warnings
+ *
+ * @return array warnings
*/
function PMA_DBI_get_warnings($link = null)
{
@@ -1508,7 +1561,7 @@ function PMA_DBI_get_warnings($link = null)
* returns true (int > 0) if current user is superuser
* otherwise 0
*
- * @return integer $is_superuser
+ * @return bool Whether use is a superuser
*/
function PMA_isSuperuser()
{
@@ -1519,13 +1572,19 @@ function PMA_isSuperuser()
// when connection failed we don't have a $userlink
if (isset($GLOBALS['userlink'])) {
if (PMA_DRIZZLE) {
- // Drizzle has no authorization by default, so when no plugin is enabled
everyone is a superuser
+ // Drizzle has no authorization by default, so when no plugin is
+ // enabled everyone is a superuser
// Known authorization libraries: regex_policy, simple_user_policy
- // Plugins limit object visibility (dbs, tables, processes), we can safely
assume we always deal with superuser
+ // Plugins limit object visibility (dbs, tables, processes), we can
+ // safely assume we always deal with superuser
$r = true;
} else {
// check access to mysql.user table
- $r = (bool) PMA_DBI_try_query('SELECT COUNT(*) FROM mysql.user',
$GLOBALS['userlink'], PMA_DBI_QUERY_STORE);
+ $r = (bool) PMA_DBI_try_query(
+ 'SELECT COUNT(*) FROM mysql.user',
+ $GLOBALS['userlink'],
+ PMA_DBI_QUERY_STORE
+ );
}
PMA_cacheSet('is_superuser', $r, true);
} else {
@@ -1538,11 +1597,11 @@ function PMA_isSuperuser()
/**
* returns an array of PROCEDURE or FUNCTION names for a db
*
- * @param string $db db name
- * @param string $which PROCEDURE | FUNCTION
- * @param resource $link mysql link
+ * @param string $db db name
+ * @param string $which PROCEDURE | FUNCTION
+ * @param resource $link mysql link
*
- * @return array the procedure names or function names
+ * @returnarray the procedure names or function names
*/
function PMA_DBI_get_procedures_or_functions($db, $which, $link = null)
{
@@ -1563,12 +1622,12 @@ function PMA_DBI_get_procedures_or_functions($db, $which, $link =
null)
/**
* returns the definition of a specific PROCEDURE, FUNCTION, EVENT or VIEW
*
- * @param string $db db name
- * @param string $which PROCEDURE | FUNCTION | EVENT | VIEW
- * @param string $name the procedure|function|event|view name
- * @param resource $link mysql link
+ * @param string $db db name
+ * @param string $which PROCEDURE | FUNCTION | EVENT | VIEW
+ * @param string $name the procedure|function|event|view name
+ * @param resource $link mysql link
*
- * @return string the definition
+ * @return string the definition
*/
function PMA_DBI_get_definition($db, $which, $name, $link = null)
{
@@ -1578,18 +1637,19 @@ function PMA_DBI_get_definition($db, $which, $name, $link = null)
'EVENT' => 'Create Event',
'VIEW' => 'Create View'
);
- $query = 'SHOW CREATE ' . $which . ' ' . PMA_backquote($db) .
'.' . PMA_backquote($name);
+ $query = 'SHOW CREATE ' . $which . ' '
+ . PMA_backquote($db) . '.' . PMA_backquote($name);
return(PMA_DBI_fetch_value($query, 0, $returned_field[$which]));
}
/**
* returns details about the TRIGGERs for a specific table or database
*
- * @param string $db db name
- * @param string $table table name
- * @param string $delimiter the delimiter to use (may be empty)
+ * @param string $db db name
+ * @param string $table table name
+ * @param string $delimiter the delimiter to use (may be empty)
*
- * @return array information about triggers (may be empty)
+ * @return array information about triggers (may be empty)
*/
function PMA_DBI_get_triggers($db, $table = '', $delimiter = '//')
{
@@ -1603,7 +1663,12 @@ function PMA_DBI_get_triggers($db, $table = '', $delimiter
= '//')
// Note: in
http://dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html
// their example uses WHERE TRIGGER_SCHEMA='dbname' so let's use
this
// instead of WHERE EVENT_OBJECT_SCHEMA='dbname'
- $query = "SELECT TRIGGER_SCHEMA, TRIGGER_NAME, EVENT_MANIPULATION,
EVENT_OBJECT_TABLE, ACTION_TIMING, ACTION_STATEMENT, EVENT_OBJECT_SCHEMA,
EVENT_OBJECT_TABLE, DEFINER FROM information_schema.TRIGGERS WHERE TRIGGER_SCHEMA=
'" . PMA_sqlAddSlashes($db) . "'";
+ $query = 'SELECT TRIGGER_SCHEMA, TRIGGER_NAME, EVENT_MANIPULATION'
+ . ', EVENT_OBJECT_TABLE, ACTION_TIMING, ACTION_STATEMENT'
+ . ', EVENT_OBJECT_SCHEMA, EVENT_OBJECT_TABLE, DEFINER'
+ . ' FROM information_schema.TRIGGERS'
+ . ' WHERE TRIGGER_SCHEMA= \'' . PMA_sqlAddSlashes($db) .
'\'';
+
if (! empty($table)) {
$query .= " AND EVENT_OBJECT_TABLE = '" .
PMA_sqlAddSlashes($table) . "';";
}
@@ -1635,8 +1700,15 @@ function PMA_DBI_get_triggers($db, $table = '', $delimiter
= '//')
// do not prepend the schema name; this way, importing the
// definition into another schema will work
$one_result['full_trigger_name'] =
PMA_backquote($trigger['TRIGGER_NAME']);
- $one_result['drop'] = 'DROP TRIGGER IF EXISTS ' .
$one_result['full_trigger_name'];
- $one_result['create'] = 'CREATE TRIGGER ' .
$one_result['full_trigger_name'] . ' ' .
$trigger['ACTION_TIMING']. ' ' . $trigger['EVENT_MANIPULATION'] .
' ON ' . PMA_backquote($trigger['EVENT_OBJECT_TABLE']) . "\n" .
' FOR EACH ROW ' . $trigger['ACTION_STATEMENT'] . "\n" .
$delimiter . "\n";
+ $one_result['drop'] = 'DROP TRIGGER IF EXISTS '
+ . $one_result['full_trigger_name'];
+ $one_result['create'] = 'CREATE TRIGGER '
+ . $one_result['full_trigger_name'] . ' '
+ . $trigger['ACTION_TIMING']. ' '
+ . $trigger['EVENT_MANIPULATION']
+ . ' ON ' . PMA_backquote($trigger['EVENT_OBJECT_TABLE'])
+ . "\n" . ' FOR EACH ROW '
+ . $trigger['ACTION_STATEMENT'] . "\n" . $delimiter .
"\n";
$result[] = $one_result;
}
@@ -1657,7 +1729,7 @@ function PMA_DBI_get_triggers($db, $table = '', $delimiter =
'//')
* This is needed because some errors messages cannot
* be obtained by mysql_error().
*
- * @param int $error_number Error code
+ * @param int $error_number Error code
* @param string $error_message Error message as returned by server
*
* @return string HML text with error details
@@ -1692,11 +1764,12 @@ function PMA_DBI_formatError($error_number, $error_message)
}
/**
- * Checks whether given schema is a system schema: information_schema (MySQL and
Drizzle)
- * or data_dictionary (Drizzle)
+ * Checks whether given schema is a system schema: information_schema
+ * (MySQL and Drizzle) or data_dictionary (Drizzle)
*
- * @param string $schema_name
- * @param bool $test_for_mysql_schema Whether 'mysql' schema should be treated
the same as IS and DD
+ * @param string $schema_name Name of schema (database) to test
+ * @param bool $test_for_mysql_schema Whether 'mysql' schema should
+ * be treated the same as IS and DD
* @return bool
*/
function PMA_is_system_schema($schema_name, $test_for_mysql_schema = false)
hooks/post-receive
--
phpMyAdmin