You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 146a3eb
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/source/library-user-guide/upgrading/56.0.0.md
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1309,8 +1309,7 @@ also accounts for the output ordering.
1309
1309
1310
1310
### A volatile `coalesce` or `nvl` argument is now evaluated eagerly
1311
1311
1312
-
`coalesce` and `nvl` are normally rewritten to `CASE WHEN a IS NOT NULL THEN a
1313
-
ELSE b END`, which names every argument but the last one twice. For a volatile
1312
+
`coalesce` and `nvl` are normally rewritten to `CASE WHEN a IS NOT NULL THEN a ELSE b END`, which names every argument but the last one twice. For a volatile
1314
1313
argument those two mentions were two independent draws, so
1315
1314
`coalesce(nullif(floor(random() * 2), 0), -1)` could return `NULL` — a value a
1316
1315
single evaluation can never produce — or fail at run time with
@@ -1328,7 +1327,7 @@ SELECT coalesce(random(), y / x) FROM t;
1328
1327
```
1329
1328
1330
1329
Only calls that contain a volatile argument before the last one are affected.
1331
-
A volatile *last* argument still takes the lazy rewrite, and non-volatile
1330
+
A volatile _last_ argument still takes the lazy rewrite, and non-volatile
1332
1331
`coalesce` and `nvl` are unchanged.
1333
1332
1334
1333
To force conditional evaluation, rewrite using `CASE`, which has standardized
0 commit comments