This is an automated email from the ASF dual-hosted git repository.

djwang pushed a commit to branch merge-with-upstream
in repository https://gitbox.apache.org/repos/asf/cloudberry-pxf.git

commit 22810f6d1549a11606ff62da105cd8b2aa0677b4
Author: Himanshu Pandey <[email protected]>
AuthorDate: Thu Oct 20 15:19:00 2022 -0700

    Applying master changes for pxfheaders.c and test.yml to the branch to 
avoid conflict
---
 external-table/src/pxfheaders.c | 223 +++++++++++++++++++---------------------
 1 file changed, 104 insertions(+), 119 deletions(-)

diff --git a/external-table/src/pxfheaders.c b/external-table/src/pxfheaders.c
index 2845ca45..251add4e 100644
--- a/external-table/src/pxfheaders.c
+++ b/external-table/src/pxfheaders.c
@@ -116,15 +116,15 @@ build_http_headers(PxfInputData *input)
 
                churl_headers_append(headers, "X-GP-FORMAT", format);
 
-               /* Parse fmtOptString here */
-               if (fmttype_is_text(exttbl->fmtcode) || 
fmttype_is_csv(exttbl->fmtcode))
-               {
+    /* Parse fmtOptString here */
+    if (fmttype_is_text(exttbl->fmtcode) || fmttype_is_csv(exttbl->fmtcode))
+    {
 #if PG_VERSION_NUM >= 120000
-                       copyFmtOpts = exttbl->options;
+      copyFmtOpts = exttbl->options;
 #else
-                       copyFmtOpts = parseCopyFormatString(rel, 
exttbl->fmtopts, exttbl->fmtcode);
+      copyFmtOpts = parseCopyFormatString(rel, exttbl->fmtopts, 
exttbl->fmtcode);
 #endif
-               }
+    }
 
                /* pass external table's encoding to copy's options */
                copyFmtOpts = appendCopyEncodingOptionToList(copyFmtOpts, 
exttbl->encoding);
@@ -508,14 +508,13 @@ int getNumSimpleVars(ProjectionInfo *projInfo)
 #if PG_VERSION_NUM < 120000
 static void
 add_projection_desc_httpheader_pg94(CHURL_HEADERS headers,
-                                                          ProjectionInfo 
*projInfo,
-                                                          List 
*qualsAttributes,
-                                                          Relation rel)
+                 ProjectionInfo *projInfo,
+                 List *qualsAttributes,
+                 Relation rel)
 {
        int                        i;
        int                        dropped_count;
        int                        number;
-       int                        numTargetList;
 #if PG_VERSION_NUM < 90400
        int                        numSimpleVars;
 #endif
@@ -528,7 +527,8 @@ add_projection_desc_httpheader_pg94(CHURL_HEADERS headers,
 
        // STEP 0: initialize variables
        initStringInfo(&formatter);
-       numTargetList = 0;
+       attrs_used = NULL;
+       number = 0;
 
 #if PG_VERSION_NUM >= 90400
        /*
@@ -576,21 +576,6 @@ add_projection_desc_httpheader_pg94(CHURL_HEADERS headers,
        }
 #endif
 
-       number = numTargetList +
-#if PG_VERSION_NUM >= 90400
-               projInfo->pi_numSimpleVars +
-#else
-               numSimpleVars +
-#endif
-               list_length(qualsAttributes);
-       if (number == 0)
-               return;
-
-       attrs_used = NULL;
-
-       /* Convert the number of projection columns to a string */
-       pg_ltoa(number, long_number);
-       churl_headers_append(headers, "X-GP-ATTRS-PROJ", long_number);
 
 #if PG_VERSION_NUM >= 90400
        for (i = 0; i < projInfo->pi_numSimpleVars; i++)
@@ -668,35 +653,35 @@ add_projection_desc_httpheader_pg94(CHURL_HEADERS headers,
 #if PG_VERSION_NUM >= 120000
 static void
 add_projection_desc_httpheader_pg12(CHURL_HEADERS headers,
-                                                          ProjectionInfo 
*projInfo,
-                                                          List 
*qualsAttributes,
-                                                          Relation rel)
+                 ProjectionInfo *projInfo,
+                 List *qualsAttributes,
+                 Relation rel)
 {
-       int                        i;
-       int                        dropped_count;
-       int                        number;
-       int                        numTargetList;
-       char                    long_number[sizeof(int32) * 8];
+  int        i;
+  int        dropped_count;
+  int        number;
+  int        numTargetList;
+  char      long_number[sizeof(int32) * 8];
     // In versions < 120000, projInfo->pi_varNumbers contains atttribute 
numbers of SimpleVars
     // Since,this pi_varNumbers doesn't exist in PG12 and above, we can add 
the attribute numbers by
     // iterating on the Simple vars.
-       int                             varNumbers[sizeof(int32) * 8];
-       Bitmapset               *attrs_used;
-       StringInfoData  formatter;
-       TupleDesc               tupdesc;
-       initStringInfo(&formatter);
-       numTargetList = 0;
-
-        List *targetList = (List *) projInfo->pi_state.expr;
+  int       varNumbers[sizeof(int32) * 8];
+  Bitmapset   *attrs_used;
+  StringInfoData  formatter;
+  TupleDesc   tupdesc;
+  initStringInfo(&formatter);
+  numTargetList = 0;
+
+   List *targetList = (List *) projInfo->pi_state.expr;
      int  numSimpleVars = 0;
 
-       int numNonSimpleVars = 0;
+  int numNonSimpleVars = 0;
 
     // TODO Re-evaluate this logic and may be we don't need numNonSimpleVars
-        for (int i = 0; i < projInfo->pi_state.steps_len; i++)
+   for (int i = 0; i < projInfo->pi_state.steps_len; i++)
      {
          ExprEvalStep *step = &projInfo->pi_state.steps[i];
-         ExprEvalOp    opcode = ExecEvalStepOp(&projInfo->pi_state, step);
+         ExprEvalOp opcode = ExecEvalStepOp(&projInfo->pi_state, step);
              if ( opcode == EEOP_ASSIGN_INNER_VAR ||
                      opcode == EEOP_ASSIGN_OUTER_VAR ||
                      opcode == EEOP_ASSIGN_SCAN_VAR)
@@ -706,94 +691,94 @@ add_projection_desc_httpheader_pg12(CHURL_HEADERS headers,
                      numNonSimpleVars++;
      }
 
-       /*
-        * Non-simpleVars are added to the targetlist
-        * we use expression_tree_walker to access attrno information
-        * we do it through a helper function add_attnums_from_targetList
-        */
-       if (targetList)
-       {
+  /*
+   * Non-simpleVars are added to the targetlist
+   * we use expression_tree_walker to access attrno information
+   * we do it through a helper function add_attnums_from_targetList
+   */
+  if (targetList)
+  {
 
-               List     *l = lappend_int(NIL, 0);
-               ListCell *lc1;
+    List     *l = lappend_int(NIL, 0);
+    ListCell *lc1;
 
-               foreach(lc1, targetList)
-               {
-                       ExprState *gstate = (ExprState *) lfirst(lc1);
+    foreach(lc1, targetList)
+    {
+      ExprState *gstate = (ExprState *) lfirst(lc1);
             add_attnums_from_targetList( (Node *) gstate, l);
-               }
+    }
 
         int i=0;
-               foreach(lc1, l)
-               {
-                       int attno = lfirst_int(lc1);
-                       if (attno > InvalidAttrNumber)
-                       {
-                               add_projection_index_header(headers,
-                                                                               
        formatter, attno - 1, long_number);
-                               numTargetList++;
+    foreach(lc1, l)
+    {
+      int attno = lfirst_int(lc1);
+      if (attno > InvalidAttrNumber)
+      {
+        add_projection_index_header(headers,
+                      formatter, attno - 1, long_number);
+        numTargetList++;
                 varNumbers[i] = attno;
                 i++;
-                       }
-               }
+      }
+    }
 
-               list_free(l);
-       }
+    list_free(l);
+  }
 
-       number = numTargetList + numSimpleVars + list_length(qualsAttributes);
-       if (number == 0)
-               return;
+  number = numTargetList + numSimpleVars + list_length(qualsAttributes);
+  if (number == 0)
+    return;
 
-       attrs_used = NULL;
+  attrs_used = NULL;
 
-       /* Convert the number of projection columns to a string */
-       pg_ltoa(number, long_number);
-       churl_headers_append(headers, "X-GP-ATTRS-PROJ", long_number);
+  /* Convert the number of projection columns to a string */
+  pg_ltoa(number, long_number);
+  churl_headers_append(headers, "X-GP-ATTRS-PROJ", long_number);
 
     for (i = 0;varNumbers && i < numSimpleVars ; i++)
-       {
-               attrs_used =
-                       bms_add_member(attrs_used,
+  {
+    attrs_used =
+      bms_add_member(attrs_used,
                            varNumbers[i] - FirstLowInvalidHeapAttributeNumber);
-       }
-
-       ListCell *attribute = NULL;
-
-       /*
-        * AttrNumbers coming from quals
-        */
-       foreach(attribute, qualsAttributes)
-       {
-               AttrNumber attrNumber = (AttrNumber) lfirst_int(attribute);
-               attrs_used =
-                       bms_add_member(attrs_used,
-                                                attrNumber + 1 - 
FirstLowInvalidHeapAttributeNumber);
-       }
-
-       tupdesc = RelationGetDescr(rel);
-       dropped_count = 0;
-
-       for (i = 1; i <= tupdesc->natts; i++)
-       {
-               /* Ignore dropped attributes. */
-               if (tupdesc->attrs[i - 1].attisdropped)
-               {
-                       /* keep a counter of the number of dropped attributes */
-                       dropped_count++;
-                       continue;
-               }
-
-               if (bms_is_member(i - FirstLowInvalidHeapAttributeNumber, 
attrs_used))
-               {
-                       /* Shift the column index by the running dropped_count 
*/
-                       add_projection_index_header(headers, formatter,
-                                                                               
i - 1 - dropped_count, long_number);
-               }
-       }
-
-       list_free(qualsAttributes);
-       pfree(formatter.data);
-       bms_free(attrs_used);
+  }
+
+  ListCell *attribute = NULL;
+
+  /*
+   * AttrNumbers coming from quals
+   */
+  foreach(attribute, qualsAttributes)
+  {
+    AttrNumber attrNumber = (AttrNumber) lfirst_int(attribute);
+    attrs_used =
+      bms_add_member(attrs_used,
+             attrNumber + 1 - FirstLowInvalidHeapAttributeNumber);
+  }
+
+  tupdesc = RelationGetDescr(rel);
+  dropped_count = 0;
+
+  for (i = 1; i <= tupdesc->natts; i++)
+  {
+    /* Ignore dropped attributes. */
+    if (tupdesc->attrs[i - 1].attisdropped)
+    {
+      /* keep a counter of the number of dropped attributes */
+      dropped_count++;
+      continue;
+    }
+
+    if (bms_is_member(i - FirstLowInvalidHeapAttributeNumber, attrs_used))
+    {
+      /* Shift the column index by the running dropped_count */
+      add_projection_index_header(headers, formatter,
+                    i - 1 - dropped_count, long_number);
+    }
+  }
+
+  list_free(qualsAttributes);
+  pfree(formatter.data);
+  bms_free(attrs_used);
 }
 #endif
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to