[ 
https://issues.apache.org/jira/browse/TRAFODION-1423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14652068#comment-14652068
 ] 

ASF GitHub Bot commented on TRAFODION-1423:
-------------------------------------------

Github user selvaganesang commented on a diff in the pull request:

    https://github.com/apache/incubator-trafodion/pull/37#discussion_r36102842
  
    --- Diff: core/sql/generator/GenRelScan.cpp ---
    @@ -2203,10 +2203,46 @@ short HbaseAccess::codeGen(Generator * generator)
                       ExpTupleDesc::SQLMX_KEY_FORMAT);
     
       const ValueIdList &retColumnList = retColRefSet_; 
    +  // Always get the index name -- it will be the base tablename for
    +  // primary access if it is trafodion table.
    +  char * tablename = NULL;
    +  char * snapshotName = NULL;
    +  LatestSnpSupportEnum  latestSnpSupport=  latest_snp_supported;
    +  if ((getTableDesc()->getNATable()->isHbaseRowTable()) ||
    +      (getTableDesc()->getNATable()->isHbaseCellTable()))
    +    {
    +      tablename =
    +        space->AllocateAndCopyToAlignedSpace(
    +                                             
GenGetQualifiedName(getTableName().getQualifiedNameObj().getObjectName()), 0);
    +      latestSnpSupport = latest_snp_not_trafodion_table;
    +    }
    +  else
    +    {
    +      if (getIndexDesc() && getIndexDesc()->getNAFileSet())
    +      {
    +         tablename = 
space->AllocateAndCopyToAlignedSpace(GenGetQualifiedName(getIndexDesc()->getNAFileSet()->getFileSetName()),
 0);
    +         if (getIndexDesc()->isClusteringIndex())
    +         {
    +            //base table
    +            snapshotName = 
(char*)getTableDesc()->getNATable()->getSnapshotName() ;
    +           if (snapshotName == NULL)
    +             latestSnpSupport = latest_snp_no_snapshot_available;
    +          }
    +          else
    +            latestSnpSupport = latest_snp_index_table;
    --- End diff --
    
    This part of the code is moved here from few lines below in the same 
function just to get the tablename. The snapshot functionality is not affected 
by this change. Yes. We need to figure out  the consequences if the snapshot 
for the index is not created, when table has snapshot and vice versa. But, it 
is outside the scope of this change


> Indexes on trafodion should be created in aligned row format by default
> -----------------------------------------------------------------------
>
>                 Key: TRAFODION-1423
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-1423
>             Project: Apache Trafodion
>          Issue Type: Improvement
>          Components: sql-cmp, sql-cmu
>    Affects Versions: 2.0-incubating
>            Reporter: Selvaganesan Govindarajan
>            Assignee: Selvaganesan Govindarajan
>
> Currently indexes are created with the same row format as the table. However, 
> indexes can be created in aligned row format independent of the table because 
> the columns in the index table doesn't have any other column other than salt, 
> index columns, and primary key of the table. These column values constitute 
> the rowid. Index rows are always deleted and inserted and are never updated. 
> Hence, it goes well to create index in aligned row format. In addition, index 
> in aligned row format has the following advantages:
> - Reduced storage space for the index
> - Reduced block cache and memstore space at runtime



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to