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

    https://github.com/apache/incubator-hawq/pull/1384#discussion_r208449610
  
    --- Diff: src/backend/commands/tablecmds.c ---
    @@ -17561,29 +17887,67 @@ static Datum transformLocationUris(List *locs, 
List* fmtopts, bool isweb, bool i
                if (first_uri && uri->protocol == URI_CUSTOM)
                {
                        Oid             procOid = InvalidOid;
    -                   
                        procOid = 
LookupExtProtocolFunction(uri->customprotocol, 
                                                                                
                EXTPTC_FUNC_VALIDATOR, 
                                                                                
                false);
     
                        if (OidIsValid(procOid) && Gp_role == GP_ROLE_DISPATCH)
                                InvokeProtocolValidation(procOid, 
                                                                                
 uri->customprotocol, 
    -                                                                           
 iswritable, 
    +                                                                           
 iswritable, forceCreateDir,
                                                                                
 locs, fmtopts);
    +                   first_customprotocal = uri->customprotocol;
                }
                
    +           if (first_uri && uri->protocol == URI_HDFS)
    +           {
    +                   Oid             procOid = InvalidOid;
    +
    +                   procOid = LookupCustomProtocolValidatorFunc("hdfs");
    +                   if (OidIsValid(procOid) && Gp_role == GP_ROLE_DISPATCH)
    +                   {
    +                           InvokeProtocolValidation(procOid,
    +                                                                           
 uri->customprotocol,
    +                                                                           
 iswritable, forceCreateDir,
    +                                                                           
 locs, fmtopts);
    +                   }
    +           }
    +
    +           if (first_uri && uri->protocol == URI_HIVE)
    +           {
    +                   Oid   procOid = InvalidOid;
    +                   procOid = LookupCustomProtocolValidatorFunc("hive");
    +                   if (OidIsValid(procOid) && Gp_role == GP_ROLE_DISPATCH)
    +                   {
    +                           InvokeProtocolValidation(procOid,
    +                                                                           
uri->customprotocol,
    +                                                                           
iswritable, forceCreateDir,
    +                                                                           
locs, fmtopts);
    +                   }
    +           }
    +
    +           if (first_uri && uri->protocol == URI_MAGMA)
    --- End diff --
    
    remove magma


---

Reply via email to