Ah, now I remember - it was dropped when support for batching of SQL statements was added. Batching support required Position of the statement/recordset to be passed to into() for all resultsets except the first one; that, in turn, created subtle compilation traps that were not immediately obvious - when data fetched was assigned to an integer, if you wanted to pass default as well, Position overload would be hidden and you'd have to do
- Code: Select all
into(val, Position(pos))
or
- Code: Select all
into(val, from(pos))
to force the use of the right overload. So, to be able to use barebone integers to indicate from which recordset to fetch the data, the overload with default and without position was removed and now there are two ways to specify default - in the sql or like this:
- Code: Select all
into(age, 0, -1)
Bit clumsy, but it does the job. Looking at it now, I'm thinking it may actually make sense to enforce specifying the recordset explicitly.