Neil Conway <[EMAIL PROTECTED]> writes: > - The code for actually sorting the columns in attpos-order is > duplicated a few times -- this was just done for the sake of > convenience, I'm going to clean this up and stick it in a > single, shared location in the new patch.
Bruce and I were chatting about that on the phone today. I think it might be useful for TupleDescs to doubly index their contained attribute rows --- that is, keep the existing array-indexed-by-attnum, but add another pointer array indexed by attpos, containing only nondeleted columns. This would be easy to build, and it'd eliminate searching/sorting for places that had access to a TupleDesc. > - When processing a "SELECT *", for example, the actual data > columns are returned in the right order, but the > RowDescription messages sent by libpq are not (i.e. they are > sent in attnum-order, not attpos). Easy to fix given above proposal ... although actually I am not sure why this would occur. printtup and friends should always get a constructed TupDesc that has no notion of deleted or renumbered columns. This may be a symptom of a more fundamental error somewhere. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faqs/FAQ.html