Subject Re: [Firebird-Architect] for discussion Transient Data Set
Author Jim Starkey
Alexander Klenin wrote:

>>>Would you be able to reference a tds in a stored procedure where it would
>>>have not yet been created at sp compile time?
>>>
>>>
>>That's a problem. In the current world, that stored procedure could not
>>be defined.
>>
>>
>
> Also, a mechanism for passing/returning transient dataset to/from
>procedure would be very useful. With this 'transient data sets' will
>be functionally equivalent to Microsoft's 'resultsets'.
>
>
We've had two proposals in similar problem space in the last month or
two. Temporary tables have persistent metadata but transient data.
Transient data sets have no metadata and transient data. Temporary
tables work well with procedures, but poorly for other applications
where the problems of managing persistent metadata overwhelm the need.

The problems will transient data sets in procedures can be overcome with
a table declaration statement to supply the procedure compiler of the
metadata it needs to prepare the procedure, but this does take some of
the blush off transient data sets.

If you look carefully, however, you will come to the conclusion that
transient data sets are the data management part of a temporary table
implementation. In fact, the only real difference is whether the
metadata exists independently. Personally, I think that if we already
had temporary tables, we would will want to expose the more flexible and
easier to use transient data set feature.

I suggest we do two things. First, think about whether transient data
sets can be salvaged with a procedure specific table declaration
(somewhere I have already impemented a declare table, but it might have
been in the Rdb Pascal pre-processor). Second, let's think about how
the concepts of temporary table and transient data set might co-exist.

I don't know what "resultset" means in Microsoft-ese, but in JDBC, it
means something quite different from transient data sets. Let's not
confuse the issues with confounding names.