I'm trying to build a table operator that writes to multiple tables. The documentation for the table operator shows support for multiple output streams but when I try to define a second stream in the contract function I get the message that the definition has already been set (Failed [7810 : HY000] Columns definition was already set.) when executing the second setOutputInfo().
P.S. The database is a VM (TDExpress14.10_Sles11).
A table operator can only have a single output table (result set). the general model to handle these is to write out the values as strings or have a "joined" row
That's disappointing, I was hoping to avoid the cost involved in the extra step of distributing the output to the target tables.
Can you tell me why there is an output stream number? Is there a use for it that I have missed?
It is there for future purposes, in 15.x there will be support for > 1 input stream.
if you need > 1 output schema you will either need to to output in some canonical form (varchar) or output a wide row