Thread: BUG #14414: SPI_ERROR_CONNECT on stable plpgsql function used for domain check

BUG #14414: SPI_ERROR_CONNECT on stable plpgsql function used for domain check

From
marcos.castedo@anachronics.com
Date:
VGhlIGZvbGxvd2luZyBidWcgaGFzIGJlZW4gbG9nZ2VkIG9uIHRoZSB3ZWJz
aXRlOgoKQnVnIHJlZmVyZW5jZTogICAgICAxNDQxNApMb2dnZWQgYnk6ICAg
ICAgICAgIE1hcmNvcyBDYXN0ZWRvCkVtYWlsIGFkZHJlc3M6ICAgICAgbWFy
Y29zLmNhc3RlZG9AYW5hY2hyb25pY3MuY29tClBvc3RncmVTUUwgdmVyc2lv
bjogOS42LjEKT3BlcmF0aW5nIHN5c3RlbTogICBEZWJpYW4gc3RyZXRjaApE
ZXNjcmlwdGlvbjogICAgICAgIAoKSSdtIHRyeWluZyB0byBkbyBhIGRvbWFp
biB1c2luZyBzdGFibGUgcGxwZ3NxbCBmdW5jdGlvbiBmb3IgdmFsdWUgY2hl
Y2suDQpUaGlzIGlzbid0IHdvcmtpbmcgb24gOS42Lnggb24gcGxwZ3NxbCB1
c2luZyBhc3NpZ25tZW50IGZyb20gYmFzZSBkYXRhIHR5cGUsCmJ1dCBpdCB3
b3JrcyBmaW5lIG9uIDkuMi54Lg0KDQpUZXN0IGNhc2U6DQoNCkJFR0lOOw0K
DQotLU9ubHkgZmFpbHMgb24gc3RhYmxlIGZ1bmN0aW9uLCBpbW11dGFibGUg
d29ya3MgZmluZQ0KQ1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04geF9kb21h
aW5fdGVzdF9jaGVjaygpDQpSRVRVUk5TIGJvb2xlYW4gQVMgJCQNCkJFR0lO
DQoJUkVUVVJOIHRydWU7DQpFTkQ7DQokJCBMQU5HVUFHRSBwbHBnc3FsIFNU
QUJMRTsNCg0KQ1JFQVRFIERPTUFJTiB4X2RvbWFpbl90ZXN0IEFTIGludGVn
ZXIgQ0hFQ0soeF9kb21haW5fdGVzdF9jaGVjaygpKTsNCg0KRE8gJCQNCkRF
Q0xBUkUNCgl2X3Rlc3QgeF9kb21haW5fdGVzdDsNCkJFR0lODQoJdl90ZXN0
IDo9IDE7DQpFTkQ7DQokJDsNCg0KUk9MTEJBQ0s7DQoNCk91dHB1dCBvbiBQ
b3N0Z3JlU1FMIDkuMi4xNyAoZXhwZWN0ZWQpDQpETw0KUk9MTEJBQ0sNCg0K
T3V0cHV0IG9uIFBvc3RncmVTUUwgOS42LjEgKGVycm9yKQ0KDQpFUlJPUjog
IFNQSV9jb25uZWN0IGZhaWxlZDogU1BJX0VSUk9SX0NPTk5FQ1QNCkNPTlRF
WFQ6ICBQTC9wZ1NRTCBmdW5jdGlvbiBpbmxpbmVfY29kZV9ibG9jayBsaW5l
IDUgYXQgYXNzaWdubWVudA0KUk9MTEJBQ0sNCgoK
marcos.castedo@anachronics.com writes:
> I'm trying to do a domain using stable plpgsql function for value check.
> This isn't working on 9.6.x on plpgsql using assignment from base data type,
> but it works fine on 9.2.x.

Seems to be broken in 9.5 too :-(.  I pushed a fix, thanks for the report!

> --Only fails on stable function, immutable works fine

FWIW, both cases fail for me.  There may be some other effect in whatever
your original case was, but in this specific example an immutable function
fails too.

            regards, tom lane