Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

explain.h

Blame
    • Tom Lane's avatar
      79913910
      Restructure command destination handling so that we pass around · 79913910
      Tom Lane authored
      DestReceiver pointers instead of just CommandDest values.  The DestReceiver
      is made at the point where the destination is selected, rather than
      deep inside the executor.  This cleans up the original kluge implementation
      of tstoreReceiver.c, and makes it easy to support retrieving results
      from utility statements inside portals.  Thus, you can now do fun things
      like Bind and Execute a FETCH or EXPLAIN command, and it'll all work
      as expected (e.g., you can Describe the portal, or use Execute's count
      parameter to suspend the output partway through).  Implementation involves
      stuffing the utility command's output into a Tuplestore, which would be
      kind of annoying for huge output sets, but should be quite acceptable
      for typical uses of utility commands.
      79913910
      History
      Restructure command destination handling so that we pass around
      Tom Lane authored
      DestReceiver pointers instead of just CommandDest values.  The DestReceiver
      is made at the point where the destination is selected, rather than
      deep inside the executor.  This cleans up the original kluge implementation
      of tstoreReceiver.c, and makes it easy to support retrieving results
      from utility statements inside portals.  Thus, you can now do fun things
      like Bind and Execute a FETCH or EXPLAIN command, and it'll all work
      as expected (e.g., you can Describe the portal, or use Execute's count
      parameter to suspend the output partway through).  Implementation involves
      stuffing the utility command's output into a Tuplestore, which would be
      kind of annoying for huge output sets, but should be quite acceptable
      for typical uses of utility commands.
    explain.h 786 B
    /*-------------------------------------------------------------------------
     *
     * explain.h
     *	  prototypes for explain.c
     *
     * Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
     * Portions Copyright (c) 1994-5, Regents of the University of California
     *
     * $Id: explain.h,v 1.19 2003/05/06 20:26:27 tgl Exp $
     *
     *-------------------------------------------------------------------------
     */
    #ifndef EXPLAIN_H
    #define EXPLAIN_H
    
    #include "executor/executor.h"
    #include "nodes/parsenodes.h"
    #include "tcop/dest.h"
    
    
    extern void ExplainQuery(ExplainStmt *stmt, DestReceiver *dest);
    
    extern TupleDesc ExplainResultDesc(ExplainStmt *stmt);
    
    extern void ExplainOnePlan(QueryDesc *queryDesc, ExplainStmt *stmt,
    						   TupOutputState *tstate);
    
    #endif   /* EXPLAIN_H */