[
https://issues.apache.org/jira/browse/TRAFODION-3216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16649584#comment-16649584
]
ASF GitHub Bot commented on TRAFODION-3216:
-------------------------------------------
Github user robertamarton commented on a diff in the pull request:
https://github.com/apache/trafodion/pull/1721#discussion_r225015086
--- Diff: core/sql/sqlcomp/CmpSeabaseDDLtable.cpp ---
@@ -5619,8 +5620,80 @@ void CmpSeabaseDDL::alterSeabaseTableAddColumn(
processReturn();
return;
}
- char * col_name = new(STMTHEAP) char[colName.length() + 1];
+ */
+ char *col_name = new(STMTHEAP) char[colName.length() + 1];
strcpy(col_name, (char*)colName.data());
+ if ((datatype == REC_BLOB) ||
+ (datatype == REC_CLOB))
+ {
+
+ short *lobNumList = new (STMTHEAP) short;
+ short *lobTypList = new (STMTHEAP) short;
+ char **lobLocList = new (STMTHEAP) char*[1];
+ char **lobColNameList = new (STMTHEAP) char*[1];
+
+ Int64 lobMaxSize =
CmpCommon::getDefaultNumeric(LOB_MAX_SIZE)*1024*1024;
+
+
+
+ lobNumList[0] = nacolArr.entries();
+ lobTypList[0] = (short)(pColDef->getLobStorage());
+ char * loc = new (STMTHEAP) char[1024];
+
+ const char* f = ActiveSchemaDB()->getDefaults().
+ getValue(LOB_STORAGE_FILE_DIR);
+
+ strcpy(loc, f);
+
+ lobLocList[0] = loc;
+ lobColNameList[0] = col_name;
+ char lobHdfsServer[256] ; // max length determined by
dfs.namenode.fs-limits.max-component-length(255)
+ memset(lobHdfsServer,0,256);
+
strncpy(lobHdfsServer,CmpCommon::getDefaultString(LOB_HDFS_SERVER),sizeof(lobHdfsServer)-1);
+ Int32 lobHdfsPort =
(Lng32)CmpCommon::getDefaultNumeric(LOB_HDFS_PORT);
+ Int32 rc = sendAllControls(FALSE, FALSE, TRUE);
+
+ Int64 objUID = getObjectUID(&cliInterface,
+ catalogNamePart.data(),
schemaNamePart.data(),
+ objectNamePart.data(),
+ COM_BASE_TABLE_OBJECT_LIT);
+
--- End diff --
Is it possible that an invalid objectUID is returned? For example, an
error occurred reading OBJECT table. What would happen if objectUID = -1?
> UDR libraries need to be stored in metadata table as a blob
> -----------------------------------------------------------
>
> Key: TRAFODION-3216
> URL: https://issues.apache.org/jira/browse/TRAFODION-3216
> Project: Apache Trafodion
> Issue Type: Improvement
> Components: sql-general
> Affects Versions: 2.4
> Reporter: Sandhya Sundaresan
> Assignee: Sandhya Sundaresan
> Priority: Major
> Fix For: 2.4
>
> Attachments: Support for LOB storage in metadata for UDR
> libraries.docx
>
>
> This is one of many infrastructure changes for SPJs that was planned.
> * {color:#0070c0}Store UDR libraries in BLOBs {color}
> * {color:#0070c0}Add BLOB column to library metadata table{color}
> * {color:#0070c0}Change CREATE LIBRARY command to store library in
> BLOB{color}
> * {color:#0070c0}Change library file names to include the timestamp (so
> updating a library changes the name){color}
> * {color:#0070c0}Add a cache for libraries (a new directory,
> $TRAF_HOME/udr/public/lib){color}
> * {color:#0070c0}Change UDR code to read library from the metadata table
> when not in cache{color}
> * {color:#0070c0}Upgrade support{color}
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)