[Info-ingres] E_QE0018 before trigger got weird!

Martin Bowes martin.bowes at ndph.ox.ac.uk
Tue Jun 26 09:59:12 UTC 2018


Hi All,

On Ingres 10.2/11 etc...

I have a before triggered rule which I am sure used to work but now is throwing  E_QE0018 Illegal parameter in control block.

As a little background:
The table has a long varchar column.
We got around the restriction on longs being passed in an AFTER trigger by using the BEFORE trigger.
We then got around the before triggered procedure not being able to update data by getting it to call a second procedure which achieved the insert into the archive table.

All of that workaround chain is working fine...seriously!

And the problem is:
If the final procedure attempts to update a non long column in the original table then we see:

E_QE0018 Illegal parameter in control block.

Note that the column being updated in the table has been excluded from the action of the rule.

Furthermore, this happens even if the table contains no long objects.

If the final procedure updates another table rather than the original table then the procedure is fine.

If people want to play with this I've attached a rudimentary test case.

Do E_QE0018.sh -help and then follow the bouncing ball.

Marty

PS.
Of course the actual table which has the long data has no element longer than 379 characters.
The owners are convinced that in the fullness of time someone will put a genuinely long piece of data in there.
The table has been in existence since 24/12/2015.




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.planetingres.org/pipermail/info-ingres/attachments/20180626/d299ec62/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: E_QE0018.sh
Type: application/octet-stream
Size: 5818 bytes
Desc: E_QE0018.sh
URL: <https://lists.planetingres.org/pipermail/info-ingres/attachments/20180626/d299ec62/attachment.obj>


More information about the Info-ingres mailing list