File: api_op_DescribeStatement.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (223 lines) | stat: -rw-r--r-- 7,344 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
// Code generated by smithy-go-codegen DO NOT EDIT.

package redshiftdata

import (
	"context"
	"fmt"
	awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
	"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
	"github.com/aws/aws-sdk-go-v2/service/redshiftdata/types"
	"github.com/aws/smithy-go/middleware"
	smithyhttp "github.com/aws/smithy-go/transport/http"
	"time"
)

// Describes the details about a specific instance when a query was run by the
// Amazon Redshift Data API. The information includes when the query started, when
// it finished, the query status, the number of rows returned, and the SQL
// statement. For more information about the Amazon Redshift Data API and CLI usage
// examples, see Using the Amazon Redshift Data API (https://docs.aws.amazon.com/redshift/latest/mgmt/data-api.html)
// in the Amazon Redshift Management Guide.
func (c *Client) DescribeStatement(ctx context.Context, params *DescribeStatementInput, optFns ...func(*Options)) (*DescribeStatementOutput, error) {
	if params == nil {
		params = &DescribeStatementInput{}
	}

	result, metadata, err := c.invokeOperation(ctx, "DescribeStatement", params, optFns, c.addOperationDescribeStatementMiddlewares)
	if err != nil {
		return nil, err
	}

	out := result.(*DescribeStatementOutput)
	out.ResultMetadata = metadata
	return out, nil
}

type DescribeStatementInput struct {

	// The identifier of the SQL statement to describe. This value is a universally
	// unique identifier (UUID) generated by Amazon Redshift Data API. A suffix
	// indicates the number of the SQL statement. For example,
	// d9b6c0c9-0747-4bf4-b142-e8883122f766:2 has a suffix of :2 that indicates the
	// second SQL statement of a batch query. This identifier is returned by
	// BatchExecuteStatment , ExecuteStatement , and ListStatements .
	//
	// This member is required.
	Id *string

	noSmithyDocumentSerde
}

type DescribeStatementOutput struct {

	// The identifier of the SQL statement described. This value is a universally
	// unique identifier (UUID) generated by Amazon Redshift Data API.
	//
	// This member is required.
	Id *string

	// The cluster identifier.
	ClusterIdentifier *string

	// The date and time (UTC) when the SQL statement was submitted to run.
	CreatedAt *time.Time

	// The name of the database.
	Database *string

	// The database user name.
	DbUser *string

	// The amount of time in nanoseconds that the statement ran.
	Duration int64

	// The error message from the cluster if the SQL statement encountered an error
	// while running.
	Error *string

	// A value that indicates whether the statement has a result set. The result set
	// can be empty. The value is true for an empty result set. The value is true if
	// any substatement returns a result set.
	HasResultSet *bool

	// The parameters for the SQL statement.
	QueryParameters []types.SqlParameter

	// The SQL statement text.
	QueryString *string

	// The process identifier from Amazon Redshift.
	RedshiftPid int64

	// The identifier of the query generated by Amazon Redshift. These identifiers are
	// also available in the query column of the STL_QUERY system view.
	RedshiftQueryId int64

	// Either the number of rows returned from the SQL statement or the number of rows
	// affected. If result size is greater than zero, the result rows can be the number
	// of rows affected by SQL statements such as INSERT, UPDATE, DELETE, COPY, and
	// others. A -1 indicates the value is null.
	ResultRows int64

	// The size in bytes of the returned results. A -1 indicates the value is null.
	ResultSize int64

	// The name or Amazon Resource Name (ARN) of the secret that enables access to the
	// database.
	SecretArn *string

	// The status of the SQL statement being described. Status values are defined as
	// follows:
	//   - ABORTED - The query run was stopped by the user.
	//   - ALL - A status value that includes all query statuses. This value can be
	//   used to filter results.
	//   - FAILED - The query run failed.
	//   - FINISHED - The query has finished running.
	//   - PICKED - The query has been chosen to be run.
	//   - STARTED - The query run has started.
	//   - SUBMITTED - The query was submitted, but not yet processed.
	Status types.StatusString

	// The SQL statements from a multiple statement run.
	SubStatements []types.SubStatementData

	// The date and time (UTC) that the metadata for the SQL statement was last
	// updated. An example is the time the status last changed.
	UpdatedAt *time.Time

	// The serverless workgroup name or Amazon Resource Name (ARN).
	WorkgroupName *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata

	noSmithyDocumentSerde
}

func (c *Client) addOperationDescribeStatementMiddlewares(stack *middleware.Stack, options Options) (err error) {
	if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
		return err
	}
	err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeStatement{}, middleware.After)
	if err != nil {
		return err
	}
	err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeStatement{}, middleware.After)
	if err != nil {
		return err
	}
	if err := addProtocolFinalizerMiddlewares(stack, options, "DescribeStatement"); err != nil {
		return fmt.Errorf("add protocol finalizers: %v", err)
	}

	if err = addlegacyEndpointContextSetter(stack, options); err != nil {
		return err
	}
	if err = addSetLoggerMiddleware(stack, options); err != nil {
		return err
	}
	if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
		return err
	}
	if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
		return err
	}
	if err = addResolveEndpointMiddleware(stack, options); err != nil {
		return err
	}
	if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
		return err
	}
	if err = addRetryMiddlewares(stack, options); err != nil {
		return err
	}
	if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
		return err
	}
	if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
		return err
	}
	if err = addClientUserAgent(stack, options); err != nil {
		return err
	}
	if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
		return err
	}
	if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
		return err
	}
	if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
		return err
	}
	if err = addOpDescribeStatementValidationMiddleware(stack); err != nil {
		return err
	}
	if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeStatement(options.Region), middleware.Before); err != nil {
		return err
	}
	if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
		return err
	}
	if err = addRequestIDRetrieverMiddleware(stack); err != nil {
		return err
	}
	if err = addResponseErrorMiddleware(stack); err != nil {
		return err
	}
	if err = addRequestResponseLogging(stack, options); err != nil {
		return err
	}
	if err = addDisableHTTPSMiddleware(stack, options); err != nil {
		return err
	}
	return nil
}

func newServiceMetadataMiddleware_opDescribeStatement(region string) *awsmiddleware.RegisterServiceMetadata {
	return &awsmiddleware.RegisterServiceMetadata{
		Region:        region,
		ServiceID:     ServiceID,
		OperationName: "DescribeStatement",
	}
}