• N
    Simplify tuple serialization in Motion nodes. · 11e4aa66
    Ning Yu 提交于
    * Simplify tuple serialization in Motion nodes.
    
    There is a fast-path for tuples that contain no toasted attributes,
    which writes the raw tuple almost as is. However, the slow path is
    significantly more complicated, calling each attribute's binary
    send/receive functions (although there's a fast-path for a few
    built-in datatypes). I don't see any need for calling I/O functions
    here. We can just write the raw Datum on the wire. If that works
    for tuples with no toasted attributes, it should work for all tuples,
    if we just detoast any toasted attributes first.
    
    This makes the code a lot simpler, and also fixes a bug with data
    types that don't have a binary send/receive routines. We used to
    call the regular (text) I/O functions in that case, but didn't handle
    the resulting cstring correctly.
    
    Diagnosis and test case by Foyzur Rahman.
    Signed-off-by: NHaisheng Yuan <hyuan@pivotal.io>
    Signed-off-by: NNing Yu <nyu@pivotal.io>
    11e4aa66
greenplum_schedule 9.7 KB