From 1e3272bfced5e5a2295e6410ef1fec0800b58d99 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 20 Jun 2012 02:10:04 +0200 Subject: [ticket/10942] Add sql_concatenate to dbal PHPBB3-10942 --- phpBB/includes/db/mssqlnative.php | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'phpBB/includes/db/mssqlnative.php') diff --git a/phpBB/includes/db/mssqlnative.php b/phpBB/includes/db/mssqlnative.php index 8a4503f111..db1bb86620 100644 --- a/phpBB/includes/db/mssqlnative.php +++ b/phpBB/includes/db/mssqlnative.php @@ -257,6 +257,14 @@ class dbal_mssqlnative extends dbal return ($this->sql_server_version) ? 'MSSQL
' . $this->sql_server_version : 'MSSQL'; } + /** + * {@inheritDoc} + */ + function sql_concatenate($string1, $string2) + { + return $string1 . ' + ' . $string2; + } + /** * {@inheritDoc} */ -- cgit v1.2.1 From c8e322d88f8195727c18eac90d30a5919e6fb8a0 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 20 Jun 2012 12:41:26 +0200 Subject: [ticket/10942] Fix sql_conditional for mssql, postgre and oracle PHPBB3-10942 --- phpBB/includes/db/mssqlnative.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'phpBB/includes/db/mssqlnative.php') diff --git a/phpBB/includes/db/mssqlnative.php b/phpBB/includes/db/mssqlnative.php index db1bb86620..c6c34c8612 100644 --- a/phpBB/includes/db/mssqlnative.php +++ b/phpBB/includes/db/mssqlnative.php @@ -257,6 +257,18 @@ class dbal_mssqlnative extends dbal return ($this->sql_server_version) ? 'MSSQL
' . $this->sql_server_version : 'MSSQL'; } + /** + * {@inheritDoc} + */ + function sql_conditional($condition, $action_true, $action_false = false) + { + $sql_condition = 'CASE WHEN ' . $condition; + $sql_condition .= ' THEN CAST(' . $action_true . ' AS VARCHAR)'; + $sql_condition .= ($action_false !== false) ? ' ELSE CAST(' . $action_false . ' AS VARCHAR)' : ''; + $sql_condition .= ' END'; + return $sql_condition; + } + /** * {@inheritDoc} */ -- cgit v1.2.1 From 79dfdf94063cf7cc64197e50807977acaf9a2e66 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 20 Jun 2012 12:50:12 +0200 Subject: [ticket/10942] Change term string to expression to avoid confusion PHPBB3-10942 --- phpBB/includes/db/mssqlnative.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'phpBB/includes/db/mssqlnative.php') diff --git a/phpBB/includes/db/mssqlnative.php b/phpBB/includes/db/mssqlnative.php index c6c34c8612..36c52278d6 100644 --- a/phpBB/includes/db/mssqlnative.php +++ b/phpBB/includes/db/mssqlnative.php @@ -272,9 +272,9 @@ class dbal_mssqlnative extends dbal /** * {@inheritDoc} */ - function sql_concatenate($string1, $string2) + function sql_concatenate($expr1, $expr2) { - return $string1 . ' + ' . $string2; + return $expr1 . ' + ' . $expr2; } /** -- cgit v1.2.1 From 089e5f5c79965058a5288590a3a34d94f3bcb833 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 20 Jun 2012 12:57:08 +0200 Subject: [ticket/10942] Rename method sql_conditional() to sql_case() PHPBB3-10942 --- phpBB/includes/db/mssqlnative.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'phpBB/includes/db/mssqlnative.php') diff --git a/phpBB/includes/db/mssqlnative.php b/phpBB/includes/db/mssqlnative.php index 36c52278d6..835b86f8c3 100644 --- a/phpBB/includes/db/mssqlnative.php +++ b/phpBB/includes/db/mssqlnative.php @@ -260,13 +260,13 @@ class dbal_mssqlnative extends dbal /** * {@inheritDoc} */ - function sql_conditional($condition, $action_true, $action_false = false) + function sql_case($condition, $action_true, $action_false = false) { - $sql_condition = 'CASE WHEN ' . $condition; - $sql_condition .= ' THEN CAST(' . $action_true . ' AS VARCHAR)'; - $sql_condition .= ($action_false !== false) ? ' ELSE CAST(' . $action_false . ' AS VARCHAR)' : ''; - $sql_condition .= ' END'; - return $sql_condition; + $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; } /** -- cgit v1.2.1 From c71f604327653bde3eea1b5d7150f5cc9c58a712 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 20 Jun 2012 23:30:31 +0200 Subject: [ticket/10942] Add a comment why we cast to sql_case() PHPBB3-10942 --- phpBB/includes/db/mssqlnative.php | 1 + 1 file changed, 1 insertion(+) (limited to 'phpBB/includes/db/mssqlnative.php') diff --git a/phpBB/includes/db/mssqlnative.php b/phpBB/includes/db/mssqlnative.php index 835b86f8c3..0001bc4ba7 100644 --- a/phpBB/includes/db/mssqlnative.php +++ b/phpBB/includes/db/mssqlnative.php @@ -262,6 +262,7 @@ class dbal_mssqlnative extends dbal */ 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)' : ''; -- cgit v1.2.1 From a8cf926566c32097c61c14210990f2a7229ddfc7 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 2 Jul 2012 11:10:02 +0200 Subject: [ticket/10942] Require same data type and do not cast expressions automatically PHPBB3-10942 --- phpBB/includes/db/mssqlnative.php | 13 ------------- 1 file changed, 13 deletions(-) (limited to 'phpBB/includes/db/mssqlnative.php') 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 @@ -257,19 +257,6 @@ class dbal_mssqlnative extends dbal return ($this->sql_server_version) ? 'MSSQL
' . $this->sql_server_version : 'MSSQL'; } - /** - * {@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} */ -- cgit v1.2.1 From 6776feb0de667340d640744462d00436f893c45f Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 4 Jul 2012 14:05:03 +0200 Subject: [ticket/10942] Add access modifiers PHPBB3-10942 --- phpBB/includes/db/mssqlnative.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'phpBB/includes/db/mssqlnative.php') diff --git a/phpBB/includes/db/mssqlnative.php b/phpBB/includes/db/mssqlnative.php index 31c3a3721a..7878615acc 100644 --- a/phpBB/includes/db/mssqlnative.php +++ b/phpBB/includes/db/mssqlnative.php @@ -260,7 +260,7 @@ class dbal_mssqlnative extends dbal /** * {@inheritDoc} */ - function sql_concatenate($expr1, $expr2) + public function sql_concatenate($expr1, $expr2) { return $expr1 . ' + ' . $expr2; } -- cgit v1.2.1