Re: [EXTERNAL] Re: COALESCE() does not short-circuit sometimes

"Doug" <[email protected]> Thu, 12 Mar 2020 07:32:25 -0700
Newsgroups gmane.comp.db.sqlite.general
Message-ID <[email protected]>
UmljaGFyZCwgd2hhdCBkb2VzIHRoZSBleHBsYWluIGxvb2sgbGlrZSB3aXRoIHlvdXIgY29kZSBj
aGFuZ2UsIHBsZWFzZS4KRG91ZwoKPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206
IHNxbGl0ZS11c2VycyA8c3FsaXRlLXVzZXJzLWJvdW5jZXNAbWFpbGluZ2xpc3RzLnNxbGl0ZS5v
cmc+Cj4gT24gQmVoYWxmIE9mIFJpY2hhcmQgSGlwcAo+IFNlbnQ6IFRodXJzZGF5LCBNYXJjaCAx
MiwgMjAyMCAzOjA5IEFNCj4gVG86IFNRTGl0ZSBtYWlsaW5nIGxpc3QgPHNxbGl0ZS11c2Vyc0Bt
YWlsaW5nbGlzdHMuc3FsaXRlLm9yZz4KPiBTdWJqZWN0OiBSZTogW3NxbGl0ZV0gW0VYVEVSTkFM
XSBSZTogQ09BTEVTQ0UoKSBkb2VzIG5vdCBzaG9ydC0KPiBjaXJjdWl0IHNvbWV0aW1lcwo+IAo+
IE9uIDMvMTIvMjAsIEhpY2sgR3VudGVyIDxoaWNrQHNjaWdhbWVzLmF0PiB3cm90ZToKPiA+IEV4
YWN0bHkgd2hhdCBJIGdhaW5lZCBmcm9tIHRoZSBFWFBMQUlOIG91dHB1dC4KPiA+Cj4gPiBUaGUg
U1FMICJjb21waWxlciIgaXMgZXh0cmFjdGluZyB0aGUgY29uc3RhbnQgZXhwcmVzc2lvbgo+IEFC
UyguLi4pIGFuZAo+ID4gZXZhbHVhdGluZyBpdCBpbiB0aGUgcHJvZ3JhbSBwcm9sb2cgKHdoZXJl
IHNjaGVtYSBpcyBjaGVja2VkIGFuZAo+IGxvY2tzCj4gPiB0YWtlbikuIFNlZSBpbnN0cnVjdGlv
bnMgMTEgYW5kIDEyCj4gCj4gRXhhY3RseS4gIFNRTGl0ZSB0cmllcyB0byBmYWN0b3Igb3V0IGNv
bnN0YW50IGV4cHJlc3Npb25zIGludG8gdGhlCj4gcHJvbG9ndWUgc28gdGhhdCB0aGV5IGFyZSBv
bmx5IGV2YWx1YXRlZCBvbmNlLCByYXRoZXIgdGhhbiBvbmNlCj4gZm9yCj4gZWFjaCByb3cuICBU
aGlzIGlzIGEgcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uLgo+IAo+IEEgdHJhZGl0aW9uYWwgY29t
cGlsZXIgbGlrZSBnY2Mgb3IgY2xhbmcgd291bGQgZG8gYW4gZW5vcm1vdXMKPiBhbW91bnQKPiBv
ZiBjb2RlIG1vdmVtZW50LCBzaW1pbGFyIHRvIHRoaXMsIGFzIHdlbGwgYXMgb3RoZXIKPiBzaW1w
bGlmaWNhdGlvbnMsCj4gdG8gbWFrZSB0aGUgY29kZSBydW4gZmFzdGVyLCBlc3BlY2lhbGx5IHdp
dGggb3B0aW9ucyBsaWtlIC1PMi4KPiBCdXQKPiB0aGUgY29tcGlsZXIgZm9yIFNRTGl0ZSBkb2Vz
IG5vdCBoYXZlIHRoYXQgbHV4dXJ5LiAgRGVwZW5kaW5nIG9uCj4gdGhlCj4gcXVlcnksIHRoZSB0
aW1lIHNwZW50IGNvbXBpbGluZyB0aGUgcXVlcnkgaW50byBieXRlIGNvZGUgY2FuIGJlIGEKPiBz
aWduaWZpY2FudCBmcmFjdGlvbiBvZiB0aGUgdG90YWwgcnVubmluZyB0aW1lLiAgSGVuY2UsIHRo
ZQo+IGNvbXBpbGVyCj4gbmVlZHMgdG8gYmUgdmVyeSBmYXN0LiAgVGhpcyBpcyBhbiBvbmdvaW5n
IGRlc2lnbiBzdHJ1Z2dsZSB3aXRoCj4gU1FMaXRlOiAgaG93IG1hbnkgQ1BVIGN5Y2xlcyBkbyB3
ZSBidXJuIHRyeWluZyB0byBvcHRpbWl6ZSB0aGUKPiBieXRlY29kZSB3aXRoIHRoZSBob3BlcyBv
ZiBtYWtpbmcgdXAgdGhvc2UgbG9zdCBDUFUgY3ljbGVzIHdpdGggYQo+IHNob3J0ZXIgcnVuLXRp
bWU/ICBPcHRpbWl6YXRpb24gaXMgYWxzbyBjb25zdHJhaW5lZCBieSB0aGUgZGVzaXJlCj4gdG8K
PiBrZWVwIHRoZSBTUUxpdGUgY29kZSBzbWFsbC4gIEhlbmNlLCB0aGUgb3B0aW1pemF0aW9ucyBh
cHBsaWVkIGJ5Cj4gdGhlCj4gU1FMaXRlIGJ5dGUtY29kZSBjb21waWxlciBhcmUgcmVsYXRpdmVs
eSBzaW1wbGUsIHNvIHRoYXQgdGhleSBjYW4KPiBiZQo+IGltcGxlbWVudGVkIHdpdGggZmV3IENQ
VSBjeWNsZXMgYW5kIHdpdGggZmV3IGJ5dGVzIG9mIG1hY2hpbmUKPiBjb2RlLgo+IAo+IFJldHVy
bmluZyB0byB0aGUgb3JpZ2luYWwgZGlzY3Vzc2lvbjogIFRoZSB1bmRlcmx5aW5nIHByb2JsZW0g
aXMKPiB0aGF0Cj4gdGhlIGNvbnN0YW50IGV4cHJlc3Npb25zIHRoYXQgZ2V0IG1vdmVkIGludG8g
dGhlIHByb2xvZ3VlLCBpZiB0aGV5Cj4gaW52b2x2ZSBmdW5jdGlvbiBjYWxscywgbWlnaHQgdGhy
b3cgYW4gZXhjZXB0aW9uLiAgVGhhdCBpcyB3aGF0IGlzCj4gaGFwcGVuaW5nIHdpdGggYWJzKC05
MjIzMzcyMDM2ODU0Nzc1ODA4KS4gIEFuZCB0aGF0IGV4Y2VwdGlvbgo+IHByZXZlbnRzCj4gdGhl
IG1haW4gYm9keSBvZiB0aGUgY29kZSBmcm9tIHJ1bm5pbmcsIGV2ZW4gaWYgdGhlIG9mZmVuZGlu
Zwo+IGV4cHJlc3Npb24gd2FzIG5ldmVyIGFjdHVhbGx5IGdvaW5nIHRvIGJlIHVzZWQuICBUaGUg
c29sdXRpb24gaXMKPiB0bwo+IG5vdCBmYWN0b3Igb3V0IGV4cHJlc3Npb25zIHRoYXQgdXNlIGZ1
bmN0aW9ucywgYnV0IGluc3RlYWQgdXNlIHRoZQo+IE9QX09uY2Ugb3Bjb2RlIChodHRwczovL3d3
dy5zcWxpdGUub3JnL29wY29kZS5odG1sI09uY2UpIHRvCj4gcHJldmVudAo+IHRob3NlIGV4cHJl
c3Npb25zIGZyb20gYmVpbmcgZXZhbHVhdGVkIG1vcmUgdGhhbiBvbmNlLiAgVGhpcyBzZWVtcwo+
IHRvCj4gbWFrZSBDb2FsZXNjZSAoYW5kIENBU0UuLi5FTkQpIHNob3J0LWNpcmN1aXQgYWdhaW4u
ICBBbmQgaXQgYWxzbwo+IGZpeGVzCj4gdGlja2V0IGh0dHBzOi8vd3d3LnNxbGl0ZS5vcmcvc3Jj
L2luZm8vM2M5ZWFkZDJhNmJhMGFhNQo+IAo+IFRoYXQgY2hhbmdlIGlzIGltcGxlbWVudGVkIGJ5
IGNoZWNrLWluCj4gaHR0cHM6Ly93d3cuc3FsaXRlLm9yZy9zcmMvaW5mby9jNWY5NmEwODVkYjk2
ODhhCj4gCj4gCj4gPgo+ID4gYXNxbD4gZXhwbGFpbiBzZWxlY3QgY29hbGVzY2UoKFNFTEVDVCAn
aGVsbG8nKSxBQlMoLQo+IDkyMjMzNzIwMzY4NTQ3NzU4MDgpKTsKPiA+IGFkZHIgIG9wY29kZSAg
ICAgICAgIHAxICAgIHAyICAgIHAzICAgIHA0ICAgICAgICAgICAgIHA1Cj4gY29tbWVudAo+ID4g
LS0tLSAgLS0tLS0tLS0tLS0tLSAgLS0tLSAgLS0tLSAgLS0tLSAgLS0tLS0tLS0tLS0tLSAgLS0g
IC0tLS0tLQo+IC0tLS0tLS0KPiA+IDAgICAgIEluaXQgICAgICAgICAgIDAgICAgIDExICAgIDAg
ICAgICAgICAgICAgICAgICAgIDAwICBTdGFydAo+IGF0IDExCj4gPiAxICAgICBPbmNlICAgICAg
ICAgICAwICAgICA2ICAgICAwICAgICAgICAgICAgICAgICAgICAwMAo+ID4gMiAgICAgTnVsbCAg
ICAgICAgICAgMCAgICAgMiAgICAgMiAgICAgICAgICAgICAgICAgICAgMDAKPiByWzIuLjJdPU5V
TEw7IEluaXQKPiA+IHN1YnF1ZXJ5IHJlc3VsdAo+ID4gMyAgICAgSW50ZWdlciAgICAgICAgMSAg
ICAgMyAgICAgMCAgICAgICAgICAgICAgICAgICAgMDAKPiByWzNdPTE7IExJTUlUCj4gPiBjb3Vu
dGVyCj4gPiA0ICAgICBTdHJpbmc4ICAgICAgICAwICAgICAyICAgICAwICAgICBoZWxsbyAgICAg
ICAgICAwMAo+IHJbMl09J2hlbGxvJwo+ID4gNSAgICAgRGVjckp1bXBaZXJvICAgMyAgICAgNiAg
ICAgMCAgICAgICAgICAgICAgICAgICAgMDAgIGlmICgtLQo+IHJbM10pPT0wCj4gPiBnb3RvIDYK
PiA+IDYgICAgIFNDb3B5ICAgICAgICAgIDIgICAgIDEgICAgIDAgICAgICAgICAgICAgICAgICAg
IDAwCj4gclsxXT1yWzJdCj4gPiA3ICAgICBOb3ROdWxsICAgICAgICAxICAgICA5ICAgICAwICAg
ICAgICAgICAgICAgICAgICAwMCAgaWYKPiByWzFdIT1OVUxMIGdvdG8KPiA+IDkKPiA+IDggICAg
IFNDb3B5ICAgICAgICAgIDQgICAgIDEgICAgIDAgICAgICAgICAgICAgICAgICAgIDAwCj4gclsx
XT1yWzRdCj4gPiA5ICAgICBSZXN1bHRSb3cgICAgICAxICAgICAxICAgICAwICAgICAgICAgICAg
ICAgICAgICAwMAo+IG91dHB1dD1yWzFdCj4gPiAxMCAgICBIYWx0ICAgICAgICAgICAwICAgICAw
ICAgICAwICAgICAgICAgICAgICAgICAgICAwMAo+ID4gMTEgICAgSW50NjQgICAgICAgICAgMCAg
ICAgNSAgICAgMCAgICAgLTkyMjMzNzIwMzY4NTQ3NzU4MDggIDAwCj4gPiByWzVdPS05MjIzMzcy
MDM2ODU0Nzc1ODA4Cj4gPiAxMiAgICBGdW5jdGlvbjAgICAgICAxICAgICA1ICAgICA0ICAgICBh
YnMoMSkgICAgICAgICAwMQo+IHJbNF09ZnVuYyhyWzVdKQo+ID4gMTMgICAgR290byAgICAgICAg
ICAgMCAgICAgMSAgICAgMCAgICAgICAgICAgICAgICAgICAgMDAKPiA+Cj4gPiAtLS0tLVVyc3By
w7xuZ2xpY2hlIE5hY2hyaWNodC0tLS0tCj4gPiBWb246IHNxbGl0ZS11c2VycyBbbWFpbHRvOnNx
bGl0ZS11c2Vycy0KPiBib3VuY2VzQG1haWxpbmdsaXN0cy5zcWxpdGUub3JnXSBJbQo+ID4gQXVm
dHJhZyB2b24gSmF5IEtyZWliaWNoCj4gPiBHZXNlbmRldDogTWl0dHdvY2gsIDExLiBNw6RyeiAy
MDIwIDIwOjUzCj4gPiBBbjogU1FMaXRlIG1haWxpbmcgbGlzdCA8c3FsaXRlLXVzZXJzQG1haWxp
bmdsaXN0cy5zcWxpdGUub3JnPgo+ID4gQ2M6IDM4ODY2NDI0ZjhmNmZjNDI5MTc0ZmYxYWIyMzU1
ZjBiQG1haWwuZGVzc3VzLmNvbQo+ID4gQmV0cmVmZjogW0VYVEVSTkFMXSBSZTogW3NxbGl0ZV0g
Q09BTEVTQ0UoKSBkb2VzIG5vdCBzaG9ydC0KPiBjaXJjdWl0Cj4gPiBzb21ldGltZXMKPiA+Cj4g
Pgo+ID4+IE9uIE1hciAxMSwgMjAyMCwgYXQgMjoxNiBQTSwgSnVzdGluIE5nCj4gPGp1c3Rpbi5u
Zy4xOTk0QG91dGxvb2suY29tPgo+ID4+IHdyb3RlOgo+ID4+Cj4gPj4gVGhleSBnZW5lcmFsbHkg
ZG8gc2hvcnQtY2lyY3VpdCBidXQgdGhlcmUgYXJlIGVkZ2UgY2FzZXMgd2hlcmUKPiB0aGV5IGRv
bid0Lgo+ID4+IEl0IGlzbid0IGVudGlyZWx5IGludHVpdGl2ZSB0byBtZSB3aGF0IHRoZSBjb25k
aXRpb25zIGFyZSwKPiB0aG91Z2guCj4gPj4KPiA+Cj4gPgo+ID4gIkFCUygtOTIyMzM3MjAzNjg1
NDc3NTgwOCkiIGlzIGEgY29uc3RhbnQgZXhwcmVzc2lvbiwgYW5kIGFzCj4gc3VjaCwgaXQgbWFr
ZXMKPiA+IHNlbnNlIHRoYXQgaXQgaXMgZXZhbHVhdGUgZHVyaW5nIHRoZSBwYXJzZS9wcmVwYXJl
IHBoYXNlIG9mIHRoZQo+IHByb2Nlc3NpbmcsCj4gPiBub3QgdGhlIGV4ZWN1dGlvbi4gIFRoZXJl
IGFyZSBzaW1pbGFyIHByb2JsZW1zIGluIG1vcmUKPiB0cmFkaXRpb25hbCBsYW5ndWFnZXMKPiA+
IChlc3BlY2lhbGx5IHNjcmlwdGluZyBsYW5ndWFnZXMpIHRoYXQgYXR0ZW1wdCB0byBvcHRpbWl6
ZSBvdXQgb3IKPiBwcmUtY29tcHV0ZQo+ID4gY29uc3RhbnQgZXhwcmVzc2lvbnMuCj4gPgo+ID4g
SWYgdGhhdOKAmXMgdGhlIGNhc2UsIHRoZW4gdGhlIGlzc3VlIGlzIG5vdCBzbyBtdWNoIHRoYXQg
dGhlCj4gQ09BTEVTQ0UoKSBpcwo+ID4gZmFpbGluZyB0byBzaG9ydC1jaXJjdWl0LCBidXQgcmF0
aGVyIHRoYW4gdGhlIFNRTCBzdGF0ZW1lbnQKPiBmYWlsaW5nIHRvCj4gPiDigJxjb21waWxpbmfi
gJ0gYW4gaW52YWxpZCBzdGF0ZW1lbnQuCj4gPgo+ID4gSWYgeW914oCZcmUgZG9pbmcgdGhpcyBp
biBjb2RlIGFzIHNlcGFyYXRlIHByZXBhcmUvc3RlcC9maW5hbGl6ZSwKPiBpdCB3b3VsZCBiZQo+
ID4gaW50ZXJlc3RpbmcgdG8gc2VlIHdoZXJlIGl0IGZhaWxzLiAgTXkgZ3Vlc3MgaXMgcHJlcGFy
ZSwgbm90Cj4gc3RlcC4KPiA+Cj4gPiAgIC1qCj4gPgo+ID4gX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+IHNxbGl0ZS11c2VycyBtYWlsaW5nIGxpc3QK
PiA+IHNxbGl0ZS11c2Vyc0BtYWlsaW5nbGlzdHMuc3FsaXRlLm9yZwo+ID4gaHR0cDovL21haWxp
bmdsaXN0cy5zcWxpdGUub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9zcWxpdGUtCj4gdXNl
cnMKPiA+Cj4gPgo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Xwo+ID4gIEd1bnRlciBIaWNrIHwgU29mdHdhcmUgRW5naW5lZXIgfCBTY2llbnRpZmljIEdhbWVz
Cj4gSW50ZXJuYXRpb25hbCBHbWJIIHwKPiA+IEtsaXRzY2hnYXNzZSAyLTQsIEEtMTEzMCBWaWVu
bmEgfCBGTiAxNTcyODQgYSwgSEcgV2llbiwgRFZSOgo+IDA0MzAwMTMgfCAoTykKPiA+ICs0MyAx
IDgwMTAwIC0gMAo+ID4KPiA+IE1heSBiZSBwcml2aWxlZ2VkLiBNYXkgYmUgY29uZmlkZW50aWFs
LiBQbGVhc2UgZGVsZXRlIGlmIG5vdCB0aGUKPiBhZGRyZXNzZWUuCj4gPiBfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gc3FsaXRlLXVzZXJzIG1haWxp
bmcgbGlzdAo+ID4gc3FsaXRlLXVzZXJzQG1haWxpbmdsaXN0cy5zcWxpdGUub3JnCj4gPiBodHRw
Oi8vbWFpbGluZ2xpc3RzLnNxbGl0ZS5vcmcvY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3NxbGl0
ZS0KPiB1c2Vycwo+ID4KPiAKPiAKPiAtLQo+IEQuIFJpY2hhcmQgSGlwcAo+IGRyaEBzcWxpdGUu
b3JnCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBz
cWxpdGUtdXNlcnMgbWFpbGluZyBsaXN0Cj4gc3FsaXRlLXVzZXJzQG1haWxpbmdsaXN0cy5zcWxp
dGUub3JnCj4gaHR0cDovL21haWxpbmdsaXN0cy5zcWxpdGUub3JnL2NnaS1iaW4vbWFpbG1hbi9s
aXN0aW5mby9zcWxpdGUtCj4gdXNlcnMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCnNxbGl0ZS11c2VycyBtYWlsaW5nIGxpc3QKc3FsaXRlLXVzZXJzQG1h
aWxpbmdsaXN0cy5zcWxpdGUub3JnCmh0dHA6Ly9tYWlsaW5nbGlzdHMuc3FsaXRlLm9yZy9jZ2kt
YmluL21haWxtYW4vbGlzdGluZm8vc3FsaXRlLXVzZXJzCg==