@@ -613,27 +613,28 @@ pathman_process_utility_hook(Node *parsetree,
613613DestReceiver * dest ,
614614char * completionTag )
615615{
616- /* Call hooks set by other extensions */
617- if (process_utility_hook_next )
618- process_utility_hook_next (parsetree ,queryString ,
619- context ,params ,
620- dest ,completionTag );
621-
622616/* Override standard COPY statement if needed */
623617if (IsPathmanReady ()&& is_pathman_related_copy (parsetree ))
624618{
625619uint64 processed ;
626620
621+ /* Handle our COPY case (and show a special cmd name) */
627622PathmanDoCopy ((CopyStmt * )parsetree ,queryString ,& processed );
628623if (completionTag )
629624snprintf (completionTag ,COMPLETION_TAG_BUFSIZE ,
630625"PATHMAN COPY " UINT64_FORMAT ,processed );
631626
632- return ;/* don't call standard_ProcessUtility() */
627+ return ;/* don't call standard_ProcessUtility()or hooks */
633628}
634629
635- /* Call internal implementation */
636- standard_ProcessUtility (parsetree ,queryString ,
637- context ,params ,
638- dest ,completionTag );
630+ /* Call hooks set by other extensions if needed */
631+ if (process_utility_hook_next )
632+ process_utility_hook_next (parsetree ,queryString ,
633+ context ,params ,
634+ dest ,completionTag );
635+ /* Else call internal implementation */
636+ else
637+ standard_ProcessUtility (parsetree ,queryString ,
638+ context ,params ,
639+ dest ,completionTag );
639640}