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

    https://github.com/apache/incubator-hawq/pull/1384#discussion_r208434427
  
    --- Diff: src/backend/cdb/cdbdatalocality.c ---
    @@ -844,36 +918,17 @@ int64 
get_block_locations_and_claculte_table_size(split_to_segment_mapping_conte
                /*
                 * We only consider the data stored in HDFS.
                 */
    -           if (RelationIsAoRows(rel) || RelationIsParquet(rel)) {
    -                   Relation_Data *rel_data = NULL;
    -                   /*
    -                    * Get pg_appendonly information for this table.
    -                    */
    -                   AppendOnlyEntry *aoEntry = GetAppendOnlyEntry(rel_oid, 
SnapshotNow);
    -
    -                   rel_data = (Relation_Data *) 
palloc(sizeof(Relation_Data));
    +           bool isDataStoredInHdfs = dataStoredInHdfs(rel);
    +           if (isDataStoredInHdfs ) {
    +                   GpPolicy *targetPolicy = 
GpPolicyFetch(CurrentMemoryContext, rel_oid);
    +                   Relation_Data *rel_data = (Relation_Data *) 
palloc(sizeof(Relation_Data));
                        rel_data->relid = rel_oid;
                        rel_data->files = NIL;
                        rel_data->partition_parent_relid = 0;
                        rel_data->block_count = 0;
    -
    -                   GpPolicy *targetPolicy = NULL;
    -                   targetPolicy = GpPolicyFetch(CurrentMemoryContext, 
rel_oid);
    -                   /*
    -                    * Based on the pg_appendonly information, calculate 
the data
    -                    * location information associated with this relation.
    -                    */
    -                   if (RelationIsAoRows(rel)) {
    -                           rel_data->type = DATALOCALITY_APPENDONLY;
    -                           AOGetSegFileDataLocation(rel, aoEntry, 
ActiveSnapshot, context,
    -                                           aoEntry->splitsize, rel_data, 
&hitblocks,
    -                                           &allblocks, targetPolicy);
    -                   } else {
    -                           rel_data->type = DATALOCALITY_PARQUET;
    -                           ParquetGetSegFileDataLocation(rel, aoEntry, 
ActiveSnapshot, context,
    -                                           context->split_size, rel_data, 
&hitblocks,
    -                                           &allblocks, targetPolicy);
    -                   }
    +                   rel_data->port = 0;
    +                   rel_data->hivepath = NULL;
    --- End diff --
    
    No "rel_data->hivepath = NULL;"


---

Reply via email to