mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[ticket/10942] Add a comment why we cast to sql_case()
PHPBB3-10942
This commit is contained in:
parent
089e5f5c79
commit
c71f604327
5 changed files with 5 additions and 0 deletions
|
@ -96,6 +96,7 @@ class dbal_mssql 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)' : '';
|
||||
|
|
|
@ -114,6 +114,7 @@ class dbal_mssql_odbc 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)' : '';
|
||||
|
|
|
@ -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)' : '';
|
||||
|
|
|
@ -94,6 +94,7 @@ class dbal_oracle extends dbal
|
|||
*/
|
||||
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)' : '';
|
||||
|
|
|
@ -159,6 +159,7 @@ class dbal_postgres extends dbal
|
|||
*/
|
||||
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)' : '';
|
||||
|
|
Loading…
Add table
Reference in a new issue