Re: [EXTERNAL] Re: COALESCE() does not short-circuit sometimes
Richard Hipp <[email protected]> Thu, 12 Mar 2020 06:08:41 -0400
| Newsgroups | gmane.comp.db.sqlite.general |
|---|---|
| Message-ID | <CALwJ=MwPLET5CSLGCC7n3JoQ5MCtrwMP4sHXEa=9uBGH=cSv6Q@mail.gmail.com> |
T24gMy8xMi8yMCwgSGljayBHdW50ZXIgPGhpY2tAc2NpZ2FtZXMuYXQ+IHdyb3RlOgo+IEV4YWN0 bHkgd2hhdCBJIGdhaW5lZCBmcm9tIHRoZSBFWFBMQUlOIG91dHB1dC4KPgo+IFRoZSBTUUwgImNv bXBpbGVyIiBpcyBleHRyYWN0aW5nIHRoZSBjb25zdGFudCBleHByZXNzaW9uIEFCUyguLi4pIGFu ZAo+IGV2YWx1YXRpbmcgaXQgaW4gdGhlIHByb2dyYW0gcHJvbG9nICh3aGVyZSBzY2hlbWEgaXMg Y2hlY2tlZCBhbmQgbG9ja3MKPiB0YWtlbikuIFNlZSBpbnN0cnVjdGlvbnMgMTEgYW5kIDEyCgpF eGFjdGx5LiAgU1FMaXRlIHRyaWVzIHRvIGZhY3RvciBvdXQgY29uc3RhbnQgZXhwcmVzc2lvbnMg aW50byB0aGUKcHJvbG9ndWUgc28gdGhhdCB0aGV5IGFyZSBvbmx5IGV2YWx1YXRlZCBvbmNlLCBy YXRoZXIgdGhhbiBvbmNlIGZvcgplYWNoIHJvdy4gIFRoaXMgaXMgYSBwZXJmb3JtYW5jZSBvcHRp bWl6YXRpb24uCgpBIHRyYWRpdGlvbmFsIGNvbXBpbGVyIGxpa2UgZ2NjIG9yIGNsYW5nIHdvdWxk IGRvIGFuIGVub3Jtb3VzIGFtb3VudApvZiBjb2RlIG1vdmVtZW50LCBzaW1pbGFyIHRvIHRoaXMs IGFzIHdlbGwgYXMgb3RoZXIgc2ltcGxpZmljYXRpb25zLAp0byBtYWtlIHRoZSBjb2RlIHJ1biBm YXN0ZXIsIGVzcGVjaWFsbHkgd2l0aCBvcHRpb25zIGxpa2UgLU8yLiAgQnV0CnRoZSBjb21waWxl ciBmb3IgU1FMaXRlIGRvZXMgbm90IGhhdmUgdGhhdCBsdXh1cnkuICBEZXBlbmRpbmcgb24gdGhl CnF1ZXJ5LCB0aGUgdGltZSBzcGVudCBjb21waWxpbmcgdGhlIHF1ZXJ5IGludG8gYnl0ZSBjb2Rl IGNhbiBiZSBhCnNpZ25pZmljYW50IGZyYWN0aW9uIG9mIHRoZSB0b3RhbCBydW5uaW5nIHRpbWUu ICBIZW5jZSwgdGhlIGNvbXBpbGVyCm5lZWRzIHRvIGJlIHZlcnkgZmFzdC4gIFRoaXMgaXMgYW4g b25nb2luZyBkZXNpZ24gc3RydWdnbGUgd2l0aApTUUxpdGU6ICBob3cgbWFueSBDUFUgY3ljbGVz IGRvIHdlIGJ1cm4gdHJ5aW5nIHRvIG9wdGltaXplIHRoZQpieXRlY29kZSB3aXRoIHRoZSBob3Bl cyBvZiBtYWtpbmcgdXAgdGhvc2UgbG9zdCBDUFUgY3ljbGVzIHdpdGggYQpzaG9ydGVyIHJ1bi10 aW1lPyAgT3B0aW1pemF0aW9uIGlzIGFsc28gY29uc3RyYWluZWQgYnkgdGhlIGRlc2lyZSB0bwpr ZWVwIHRoZSBTUUxpdGUgY29kZSBzbWFsbC4gIEhlbmNlLCB0aGUgb3B0aW1pemF0aW9ucyBhcHBs aWVkIGJ5IHRoZQpTUUxpdGUgYnl0ZS1jb2RlIGNvbXBpbGVyIGFyZSByZWxhdGl2ZWx5IHNpbXBs ZSwgc28gdGhhdCB0aGV5IGNhbiBiZQppbXBsZW1lbnRlZCB3aXRoIGZldyBDUFUgY3ljbGVzIGFu ZCB3aXRoIGZldyBieXRlcyBvZiBtYWNoaW5lIGNvZGUuCgpSZXR1cm5pbmcgdG8gdGhlIG9yaWdp bmFsIGRpc2N1c3Npb246ICBUaGUgdW5kZXJseWluZyBwcm9ibGVtIGlzIHRoYXQKdGhlIGNvbnN0 YW50IGV4cHJlc3Npb25zIHRoYXQgZ2V0IG1vdmVkIGludG8gdGhlIHByb2xvZ3VlLCBpZiB0aGV5 Cmludm9sdmUgZnVuY3Rpb24gY2FsbHMsIG1pZ2h0IHRocm93IGFuIGV4Y2VwdGlvbi4gIFRoYXQg aXMgd2hhdCBpcwpoYXBwZW5pbmcgd2l0aCBhYnMoLTkyMjMzNzIwMzY4NTQ3NzU4MDgpLiAgQW5k IHRoYXQgZXhjZXB0aW9uIHByZXZlbnRzCnRoZSBtYWluIGJvZHkgb2YgdGhlIGNvZGUgZnJvbSBy dW5uaW5nLCBldmVuIGlmIHRoZSBvZmZlbmRpbmcKZXhwcmVzc2lvbiB3YXMgbmV2ZXIgYWN0dWFs bHkgZ29pbmcgdG8gYmUgdXNlZC4gIFRoZSBzb2x1dGlvbiBpcyB0bwpub3QgZmFjdG9yIG91dCBl eHByZXNzaW9ucyB0aGF0IHVzZSBmdW5jdGlvbnMsIGJ1dCBpbnN0ZWFkIHVzZSB0aGUKT1BfT25j ZSBvcGNvZGUgKGh0dHBzOi8vd3d3LnNxbGl0ZS5vcmcvb3Bjb2RlLmh0bWwjT25jZSkgdG8gcHJl dmVudAp0aG9zZSBleHByZXNzaW9ucyBmcm9tIGJlaW5nIGV2YWx1YXRlZCBtb3JlIHRoYW4gb25j ZS4gIFRoaXMgc2VlbXMgdG8KbWFrZSBDb2FsZXNjZSAoYW5kIENBU0UuLi5FTkQpIHNob3J0LWNp cmN1aXQgYWdhaW4uICBBbmQgaXQgYWxzbyBmaXhlcwp0aWNrZXQgaHR0cHM6Ly93d3cuc3FsaXRl Lm9yZy9zcmMvaW5mby8zYzllYWRkMmE2YmEwYWE1CgpUaGF0IGNoYW5nZSBpcyBpbXBsZW1lbnRl ZCBieSBjaGVjay1pbgpodHRwczovL3d3dy5zcWxpdGUub3JnL3NyYy9pbmZvL2M1Zjk2YTA4NWRi OTY4OGEKCgo+Cj4gYXNxbD4gZXhwbGFpbiBzZWxlY3QgY29hbGVzY2UoKFNFTEVDVCAnaGVsbG8n KSxBQlMoLTkyMjMzNzIwMzY4NTQ3NzU4MDgpKTsKPiBhZGRyICBvcGNvZGUgICAgICAgICBwMSAg ICBwMiAgICBwMyAgICBwNCAgICAgICAgICAgICBwNSAgY29tbWVudAo+IC0tLS0gIC0tLS0tLS0t LS0tLS0gIC0tLS0gIC0tLS0gIC0tLS0gIC0tLS0tLS0tLS0tLS0gIC0tICAtLS0tLS0tLS0tLS0t Cj4gMCAgICAgSW5pdCAgICAgICAgICAgMCAgICAgMTEgICAgMCAgICAgICAgICAgICAgICAgICAg MDAgIFN0YXJ0IGF0IDExCj4gMSAgICAgT25jZSAgICAgICAgICAgMCAgICAgNiAgICAgMCAgICAg ICAgICAgICAgICAgICAgMDAKPiAyICAgICBOdWxsICAgICAgICAgICAwICAgICAyICAgICAyICAg ICAgICAgICAgICAgICAgICAwMCAgclsyLi4yXT1OVUxMOyBJbml0Cj4gc3VicXVlcnkgcmVzdWx0 Cj4gMyAgICAgSW50ZWdlciAgICAgICAgMSAgICAgMyAgICAgMCAgICAgICAgICAgICAgICAgICAg MDAgIHJbM109MTsgTElNSVQKPiBjb3VudGVyCj4gNCAgICAgU3RyaW5nOCAgICAgICAgMCAgICAg MiAgICAgMCAgICAgaGVsbG8gICAgICAgICAgMDAgIHJbMl09J2hlbGxvJwo+IDUgICAgIERlY3JK dW1wWmVybyAgIDMgICAgIDYgICAgIDAgICAgICAgICAgICAgICAgICAgIDAwICBpZiAoLS1yWzNd KT09MAo+IGdvdG8gNgo+IDYgICAgIFNDb3B5ICAgICAgICAgIDIgICAgIDEgICAgIDAgICAgICAg ICAgICAgICAgICAgIDAwICByWzFdPXJbMl0KPiA3ICAgICBOb3ROdWxsICAgICAgICAxICAgICA5 ICAgICAwICAgICAgICAgICAgICAgICAgICAwMCAgaWYgclsxXSE9TlVMTCBnb3RvCj4gOQo+IDgg ICAgIFNDb3B5ICAgICAgICAgIDQgICAgIDEgICAgIDAgICAgICAgICAgICAgICAgICAgIDAwICBy WzFdPXJbNF0KPiA5ICAgICBSZXN1bHRSb3cgICAgICAxICAgICAxICAgICAwICAgICAgICAgICAg ICAgICAgICAwMCAgb3V0cHV0PXJbMV0KPiAxMCAgICBIYWx0ICAgICAgICAgICAwICAgICAwICAg ICAwICAgICAgICAgICAgICAgICAgICAwMAo+IDExICAgIEludDY0ICAgICAgICAgIDAgICAgIDUg ICAgIDAgICAgIC05MjIzMzcyMDM2ODU0Nzc1ODA4ICAwMAo+IHJbNV09LTkyMjMzNzIwMzY4NTQ3 NzU4MDgKPiAxMiAgICBGdW5jdGlvbjAgICAgICAxICAgICA1ICAgICA0ICAgICBhYnMoMSkgICAg ICAgICAwMSAgcls0XT1mdW5jKHJbNV0pCj4gMTMgICAgR290byAgICAgICAgICAgMCAgICAgMSAg ICAgMCAgICAgICAgICAgICAgICAgICAgMDAKPgo+IC0tLS0tVXJzcHLDvG5nbGljaGUgTmFjaHJp Y2h0LS0tLS0KPiBWb246IHNxbGl0ZS11c2VycyBbbWFpbHRvOnNxbGl0ZS11c2Vycy1ib3VuY2Vz QG1haWxpbmdsaXN0cy5zcWxpdGUub3JnXSBJbQo+IEF1ZnRyYWcgdm9uIEpheSBLcmVpYmljaAo+ IEdlc2VuZGV0OiBNaXR0d29jaCwgMTEuIE3DpHJ6IDIwMjAgMjA6NTMKPiBBbjogU1FMaXRlIG1h aWxpbmcgbGlzdCA8c3FsaXRlLXVzZXJzQG1haWxpbmdsaXN0cy5zcWxpdGUub3JnPgo+IENjOiAz ODg2NjQyNGY4ZjZmYzQyOTE3NGZmMWFiMjM1NWYwYkBtYWlsLmRlc3N1cy5jb20KPiBCZXRyZWZm OiBbRVhURVJOQUxdIFJlOiBbc3FsaXRlXSBDT0FMRVNDRSgpIGRvZXMgbm90IHNob3J0LWNpcmN1 aXQKPiBzb21ldGltZXMKPgo+Cj4+IE9uIE1hciAxMSwgMjAyMCwgYXQgMjoxNiBQTSwgSnVzdGlu IE5nIDxqdXN0aW4ubmcuMTk5NEBvdXRsb29rLmNvbT4KPj4gd3JvdGU6Cj4+Cj4+IFRoZXkgZ2Vu ZXJhbGx5IGRvIHNob3J0LWNpcmN1aXQgYnV0IHRoZXJlIGFyZSBlZGdlIGNhc2VzIHdoZXJlIHRo ZXkgZG9uJ3QuCj4+IEl0IGlzbid0IGVudGlyZWx5IGludHVpdGl2ZSB0byBtZSB3aGF0IHRoZSBj b25kaXRpb25zIGFyZSwgdGhvdWdoLgo+Pgo+Cj4KPiAiQUJTKC05MjIzMzcyMDM2ODU0Nzc1ODA4 KSIgaXMgYSBjb25zdGFudCBleHByZXNzaW9uLCBhbmQgYXMgc3VjaCwgaXQgbWFrZXMKPiBzZW5z ZSB0aGF0IGl0IGlzIGV2YWx1YXRlIGR1cmluZyB0aGUgcGFyc2UvcHJlcGFyZSBwaGFzZSBvZiB0 aGUgcHJvY2Vzc2luZywKPiBub3QgdGhlIGV4ZWN1dGlvbi4gIFRoZXJlIGFyZSBzaW1pbGFyIHBy b2JsZW1zIGluIG1vcmUgdHJhZGl0aW9uYWwgbGFuZ3VhZ2VzCj4gKGVzcGVjaWFsbHkgc2NyaXB0 aW5nIGxhbmd1YWdlcykgdGhhdCBhdHRlbXB0IHRvIG9wdGltaXplIG91dCBvciBwcmUtY29tcHV0 ZQo+IGNvbnN0YW50IGV4cHJlc3Npb25zLgo+Cj4gSWYgdGhhdOKAmXMgdGhlIGNhc2UsIHRoZW4g dGhlIGlzc3VlIGlzIG5vdCBzbyBtdWNoIHRoYXQgdGhlIENPQUxFU0NFKCkgaXMKPiBmYWlsaW5n IHRvIHNob3J0LWNpcmN1aXQsIGJ1dCByYXRoZXIgdGhhbiB0aGUgU1FMIHN0YXRlbWVudCBmYWls aW5nIHRvCj4g4oCcY29tcGlsaW5n4oCdIGFuIGludmFsaWQgc3RhdGVtZW50Lgo+Cj4gSWYgeW91 4oCZcmUgZG9pbmcgdGhpcyBpbiBjb2RlIGFzIHNlcGFyYXRlIHByZXBhcmUvc3RlcC9maW5hbGl6 ZSwgaXQgd291bGQgYmUKPiBpbnRlcmVzdGluZyB0byBzZWUgd2hlcmUgaXQgZmFpbHMuICBNeSBn dWVzcyBpcyBwcmVwYXJlLCBub3Qgc3RlcC4KPgo+ICAgLWoKPgo+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gc3FsaXRlLXVzZXJzIG1haWxpbmcgbGlz dAo+IHNxbGl0ZS11c2Vyc0BtYWlsaW5nbGlzdHMuc3FsaXRlLm9yZwo+IGh0dHA6Ly9tYWlsaW5n bGlzdHMuc3FsaXRlLm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vc3FsaXRlLXVzZXJzCj4K Pgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiAgR3VudGVy IEhpY2sgfCBTb2Z0d2FyZSBFbmdpbmVlciB8IFNjaWVudGlmaWMgR2FtZXMgSW50ZXJuYXRpb25h bCBHbWJIIHwKPiBLbGl0c2NoZ2Fzc2UgMi00LCBBLTExMzAgVmllbm5hIHwgRk4gMTU3Mjg0IGEs IEhHIFdpZW4sIERWUjogMDQzMDAxMyB8IChPKQo+ICs0MyAxIDgwMTAwIC0gMAo+Cj4gTWF5IGJl IHByaXZpbGVnZWQuIE1heSBiZSBjb25maWRlbnRpYWwuIFBsZWFzZSBkZWxldGUgaWYgbm90IHRo ZSBhZGRyZXNzZWUuCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KPiBzcWxpdGUtdXNlcnMgbWFpbGluZyBsaXN0Cj4gc3FsaXRlLXVzZXJzQG1haWxpbmds aXN0cy5zcWxpdGUub3JnCj4gaHR0cDovL21haWxpbmdsaXN0cy5zcWxpdGUub3JnL2NnaS1iaW4v bWFpbG1hbi9saXN0aW5mby9zcWxpdGUtdXNlcnMKPgoKCi0tIApELiBSaWNoYXJkIEhpcHAKZHJo QHNxbGl0ZS5vcmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18Kc3FsaXRlLXVzZXJzIG1haWxpbmcgbGlzdApzcWxpdGUtdXNlcnNAbWFpbGluZ2xpc3RzLnNx bGl0ZS5vcmcKaHR0cDovL21haWxpbmdsaXN0cy5zcWxpdGUub3JnL2NnaS1iaW4vbWFpbG1hbi9s aXN0aW5mby9zcWxpdGUtdXNlcnMK