Details
-
Technical task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.3(EOL)
-
10.2.2-3, 10.2.2-1, 10.2.2-2, 10.2.2-4, 10.1.18
Description
The concatenation operator || in Oracle skips all NULL arguments and returns the result of concatenation of non-NULL arguments.
NULL is returned only if all arguments were NULL.
Under terms of this task we'll make the || operator work in Oracle style when sql_mode is ORACLE.
Note, the function CONCAT won't be changed by this task.
There is a contributed patch from Jérôme Brauge implementing this feature:
https://lists.launchpad.net/maria-developers/msg10288.html
It adds a new flag MODE_CONCAT_NULL_YIELDS_NULL_OFF.
We'll probably won't add the flag and just perform the Oracle style concatenation when sql_mode & MODE_ORACLE is set.
Attachments
Issue Links
- is blocked by
-
MDEV-11848 Automatic statement repreparation changes query semantics
-
- Closed
-
- is duplicated by
-
MDEV-11516 Support of opérator || for string concatenation
-
- Closed
-
- relates to
-
MDEV-12143 sql_mode=ORACLE: Make the CONCAT function ignore NULL arguments
-
- Closed
-
-
MDEV-10574 sql_mode=ORACLE: IS NULL and empty strings
-
- Open
-
Activity
Field | Original Value | New Value |
---|---|---|
Summary | sql_mode=ORACLE: Make the concate operator treat NULL arguments as empty strings | sql_mode=ORACLE: Make the concatenation operator treat NULL arguments as empty strings |
Summary | sql_mode=ORACLE: Make the concatenation operator treat NULL arguments as empty strings | sql_mode=ORACLE: Make the concatenation operator ignore NULL arguments |
Description |
The concatenation operator {{||}} in Oracle skips all {{NULL}} arguments and returns the result of concatenation of non-{{NULL}} arguments.
{{NULL}} is returned only if all arguments were NULL. Under terms of this task we'll make the {{||}} operator work in Oracle style. Note, the function {{CONCAT}} won't be changed by this task. |
The concatenation operator {{||}} in Oracle skips all {{NULL}} arguments and returns the result of concatenation of non-{{NULL}} arguments.
{{NULL}} is returned only if all arguments were NULL. Under terms of this task we'll make the {{||}} operator work in Oracle style when {{sql_mode}} is {{ORACLE}}. Note, the function {{CONCAT}} won't be changed by this task. |
Link | This issue relates to MDEV-10574 [ MDEV-10574 ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Link |
This issue is blocked by |
Link |
This issue relates to |
Description |
The concatenation operator {{||}} in Oracle skips all {{NULL}} arguments and returns the result of concatenation of non-{{NULL}} arguments.
{{NULL}} is returned only if all arguments were NULL. Under terms of this task we'll make the {{||}} operator work in Oracle style when {{sql_mode}} is {{ORACLE}}. Note, the function {{CONCAT}} won't be changed by this task. |
The concatenation operator {{||}} in Oracle skips all {{NULL}} arguments and returns the result of concatenation of non-{{NULL}} arguments.
{{NULL}} is returned only if all arguments were NULL. Under terms of this task we'll make the {{||}} operator work in Oracle style when {{sql_mode}} is {{ORACLE}}. Note, the function {{CONCAT}} won't be changed by this task. There is a contributed patch from Jérôme Brauge: https://lists.launchpad.net/maria-developers/msg10288.html |
Description |
The concatenation operator {{||}} in Oracle skips all {{NULL}} arguments and returns the result of concatenation of non-{{NULL}} arguments.
{{NULL}} is returned only if all arguments were NULL. Under terms of this task we'll make the {{||}} operator work in Oracle style when {{sql_mode}} is {{ORACLE}}. Note, the function {{CONCAT}} won't be changed by this task. There is a contributed patch from Jérôme Brauge: https://lists.launchpad.net/maria-developers/msg10288.html |
The concatenation operator {{||}} in Oracle skips all {{NULL}} arguments and returns the result of concatenation of non-{{NULL}} arguments.
{{NULL}} is returned only if all arguments were NULL. Under terms of this task we'll make the {{||}} operator work in Oracle style when {{sql_mode}} is {{ORACLE}}. Note, the function {{CONCAT}} won't be changed by this task. There is a contributed patch from Jérôme Brauge implementing this feature: https://lists.launchpad.net/maria-developers/msg10288.html It adds a new flag {{MODE_CONCAT_NULL_YIELDS_NULL_OFF}}. We'll probably won't add the flag and just perform the Oracle style concatenation when {{sql_mode & MODE_ORACLE}} is set. |
Assignee | Alexander Barkov [ bar ] | Michael Widenius [ monty ] |
Status | In Progress [ 3 ] | In Review [ 10002 ] |
Link |
This issue relates to |
Link |
This issue is duplicated by |
Assignee | Michael Widenius [ monty ] | Alexander Barkov [ bar ] |
Component/s | OTHER [ 10125 ] | |
Fix Version/s | 10.3.0 [ 22127 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Resolution | Fixed [ 1 ] | |
Status | In Review [ 10002 ] | Closed [ 6 ] |
Link |
This issue relates to |
Labels | Compatibility |
Component/s | Parser [ 10201 ] |
Parent Issue | MDEV-10764 [ MDEV-10764 ] |
|
Workflow | MariaDB v3 [ 79325 ] | MariaDB v4 [ 151588 ] |
Code reviewed. Looks fine, with a few small fixes needed