>Unless I am mistaken, my proposal works for an N-level sort. Perhaps I
>explained it poorly? The proposal calls for a property whose value is the
>index of the first sorting where the records differed. Therefore they must
>be the same on all previous sorts, so the indentation depth is just this
>index.
>
>Or am I confused?
No, I didn't catch that before. The property is essentially the number i
where it is the ith sort that was required to order this record
relative to the previous one. This may or may not be useful for "indentation",
since the column indexes of the columns being sorted may
not be increasing (i.e. the primary sort may be the 5th property,
while the secondary sort may be the 3rd).
>>The client could specify that it accepts/prefers results
>>returned with "encoded-repeaters". The server returns
>>with results in that form, with a header indicating that
>>they are encoded in that fashion and indicating what
>>the special value is that is used to note a repeated
>>value ....Basically this amounts to support for a "ditto" value.
>
>I don't understand this at all. If you want to propose it, I think you
>should provide an example. On the other hand, if the source of your
>disagreement was my unclear explanation before, perhaps now you'll withdraw
>your objection?
I withdraw :).
I was just pointing out that an alternative idea would be to
support a "ditto" value. The indentation level is then the highest
sorted column with a ditto value. But upon reflection this seems
rather ugly. It introduces many of the same data typing issues
as NULL. (How is NULL dealt with in dasl btw?).
On a related note, speaking of extra things a server can return for efficiency's sake,
some RDBMS's can return a "rowid" which can be used for direct access
to a record later. This is below the pure relational model, as this
rowid is not preserved across replicas, or even necessarily across
sessions. But it does allow very efficient access to a specific record
(more efficient than the primary key).
This is useful for the common "master-detail" GUI where a high-level list
is first offered to the user, who selects a particular one for more
information. In a web server case, this could be an index into a memory
cache.
-mda