GitHub user DaveBirdsall opened a pull request:

    https://github.com/apache/incubator-trafodion/pull/915

    [TRAFODION-2440] Replace fixed length buffers with strings in LOB code

    The LOB code has two uses:
    
    1. To read and write LOB column values in Trafodion tables
    2. To read Hive files into the Trafodion executor
    
    The LOB code made use of fixed length buffers to store LOB file names. 
Unfortunately these are too short in general for use with Hive files. Rather 
than simply make them longer, I have replaced these fixed length buffers with 
string data types in most places in the code.
    
    Some design notes:
    
    The LOB code is in the middle of a slow transition from using STL classes 
and the global heap to using the Trafodion NAHeap classes and heaps for memory 
management. Where a LOB class uses the STL heap, I replaced its fixed length 
buffer members with an STL string. Where a LOB class uses NAHeap, I used a 
Trafodion NAString instead.
    
    In one place I left the fixed length buffer alone: I did this where the LOB 
code calls the CLI function SQL_EXEC_LOBcliInterface. It appears that this code 
path is traversed only for LOB column values. (If anyone knows otherwise, 
please comment.)

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/DaveBirdsall/incubator-trafodion Trafodion2440

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-trafodion/pull/915.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #915
    
----
commit 49498dfdf6b629bf349f9630fdb5ceb197e93bf9
Author: Dave Birdsall <[email protected]>
Date:   2017-01-17T17:07:11Z

    [TRAFODION-2440] Replace fixed length buffers with strings in LOB code

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to