diff options
-rw-r--r-- | phpBB/includes/db/dbal.php | 2 | ||||
-rw-r--r-- | phpBB/includes/db/mssql.php | 13 | ||||
-rw-r--r-- | phpBB/includes/db/mssql_odbc.php | 13 | ||||
-rw-r--r-- | phpBB/includes/db/mssqlnative.php | 13 | ||||
-rw-r--r-- | phpBB/includes/db/oracle.php | 13 | ||||
-rw-r--r-- | phpBB/includes/db/postgres.php | 13 |
6 files changed, 2 insertions, 65 deletions
diff --git a/phpBB/includes/db/dbal.php b/phpBB/includes/db/dbal.php index 9eb74ab617..8dbcd73b58 100644 --- a/phpBB/includes/db/dbal.php +++ b/phpBB/includes/db/dbal.php @@ -286,6 +286,8 @@ class dbal /** * Build a case expression * + * Note: The two statements action_true and action_false must have the same data type (int, vchar, ...) in the database! + * * @param string $condition The condition which must be true, to use action_true rather then action_else * @param string $action_true SQL expression that is used, if the condition is true * @param string $action_else SQL expression that is used, if the condition is false, optional diff --git a/phpBB/includes/db/mssql.php b/phpBB/includes/db/mssql.php index 8888bb3939..d24cbf329f 100644 --- a/phpBB/includes/db/mssql.php +++ b/phpBB/includes/db/mssql.php @@ -94,19 +94,6 @@ class dbal_mssql extends dbal /** * {@inheritDoc} */ - function sql_case($condition, $action_true, $action_false = false) - { - // To ensure, that both expressions have the same type, we cast them to varchar manually - $sql_case = 'CASE WHEN ' . $condition; - $sql_case .= ' THEN CAST(' . $action_true . ' AS VARCHAR)'; - $sql_case .= ($action_false !== false) ? ' ELSE CAST(' . $action_false . ' AS VARCHAR)' : ''; - $sql_case .= ' END'; - return $sql_case; - } - - /** - * {@inheritDoc} - */ function sql_concatenate($expr1, $expr2) { return $expr1 . ' + ' . $expr2; diff --git a/phpBB/includes/db/mssql_odbc.php b/phpBB/includes/db/mssql_odbc.php index a14d6adb14..d64264470e 100644 --- a/phpBB/includes/db/mssql_odbc.php +++ b/phpBB/includes/db/mssql_odbc.php @@ -112,19 +112,6 @@ class dbal_mssql_odbc extends dbal /** * {@inheritDoc} */ - function sql_case($condition, $action_true, $action_false = false) - { - // To ensure, that both expressions have the same type, we cast them to varchar manually - $sql_case = 'CASE WHEN ' . $condition; - $sql_case .= ' THEN CAST(' . $action_true . ' AS VARCHAR)'; - $sql_case .= ($action_false !== false) ? ' ELSE CAST(' . $action_false . ' AS VARCHAR)' : ''; - $sql_case .= ' END'; - return $sql_case; - } - - /** - * {@inheritDoc} - */ function sql_concatenate($expr1, $expr2) { return $expr1 . ' + ' . $expr2; diff --git a/phpBB/includes/db/mssqlnative.php b/phpBB/includes/db/mssqlnative.php index 0001bc4ba7..31c3a3721a 100644 --- a/phpBB/includes/db/mssqlnative.php +++ b/phpBB/includes/db/mssqlnative.php @@ -260,19 +260,6 @@ class dbal_mssqlnative extends dbal /** * {@inheritDoc} */ - function sql_case($condition, $action_true, $action_false = false) - { - // To ensure, that both expressions have the same type, we cast them to varchar manually - $sql_case = 'CASE WHEN ' . $condition; - $sql_case .= ' THEN CAST(' . $action_true . ' AS VARCHAR)'; - $sql_case .= ($action_false !== false) ? ' ELSE CAST(' . $action_false . ' AS VARCHAR)' : ''; - $sql_case .= ' END'; - return $sql_case; - } - - /** - * {@inheritDoc} - */ function sql_concatenate($expr1, $expr2) { return $expr1 . ' + ' . $expr2; diff --git a/phpBB/includes/db/oracle.php b/phpBB/includes/db/oracle.php index dc405ab08a..2e801532f0 100644 --- a/phpBB/includes/db/oracle.php +++ b/phpBB/includes/db/oracle.php @@ -90,19 +90,6 @@ class dbal_oracle extends dbal } /** - * {@inheritDoc} - */ - function sql_case($condition, $action_true, $action_false = false) - { - // To ensure, that both expressions have the same type, we cast them to clob manually - $sql_case = 'CASE WHEN ' . $condition; - $sql_case .= ' THEN CAST(' . $action_true . ' AS clob)'; - $sql_case .= ($action_false !== false) ? ' ELSE CAST(' . $action_false . ' AS clob)' : ''; - $sql_case .= ' END'; - return $sql_case; - } - - /** * SQL Transaction * @access private */ diff --git a/phpBB/includes/db/postgres.php b/phpBB/includes/db/postgres.php index c3116601ae..a31181b4d4 100644 --- a/phpBB/includes/db/postgres.php +++ b/phpBB/includes/db/postgres.php @@ -157,19 +157,6 @@ class dbal_postgres extends dbal /** * {@inheritDoc} */ - function sql_case($condition, $action_true, $action_false = false) - { - // To ensure, that both expressions have the same type, we cast them to text manually - $sql_case = 'CASE WHEN ' . $condition; - $sql_case .= ' THEN CAST(' . $action_true . ' AS TEXT)'; - $sql_case .= ($action_false !== false) ? ' ELSE CAST(' . $action_false . ' AS TEXT)' : ''; - $sql_case .= ' END'; - return $sql_case; - } - - /** - * {@inheritDoc} - */ function sql_concatenate($expr1, $expr2) { return $expr1 . ' || ' . $expr2; |