kb-cloud-client-typescript 2.4.0-alpha.42 → 2.4.0-alpha.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/adminapi/apis/diagnostics-api.d.ts +104 -0
  2. package/dist/adminapi/apis/diagnostics-api.d.ts.map +1 -1
  3. package/dist/adminapi/apis/diagnostics-api.js +105 -0
  4. package/dist/adminapi/apis/diagnostics-api.js.map +1 -1
  5. package/dist/adminapi/models/dms-execution-plan-planning-mode.d.ts +22 -0
  6. package/dist/adminapi/models/dms-execution-plan-planning-mode.d.ts.map +1 -0
  7. package/dist/adminapi/models/dms-execution-plan-planning-mode.js +26 -0
  8. package/dist/adminapi/models/dms-execution-plan-planning-mode.js.map +1 -0
  9. package/dist/adminapi/models/dms-execution-plan-result.d.ts +19 -0
  10. package/dist/adminapi/models/dms-execution-plan-result.d.ts.map +1 -1
  11. package/dist/adminapi/models/index.d.ts +2 -0
  12. package/dist/adminapi/models/index.d.ts.map +1 -1
  13. package/dist/adminapi/models/index.js +2 -0
  14. package/dist/adminapi/models/index.js.map +1 -1
  15. package/dist/adminapi/models/postgresql-sqlfingerprint-explain-response.d.ts +87 -0
  16. package/dist/adminapi/models/postgresql-sqlfingerprint-explain-response.d.ts.map +1 -0
  17. package/dist/adminapi/models/postgresql-sqlfingerprint-explain-response.js +16 -0
  18. package/dist/adminapi/models/postgresql-sqlfingerprint-explain-response.js.map +1 -0
  19. package/dist/adminapi/models/postgresql-sqlfingerprint.d.ts +6 -0
  20. package/dist/adminapi/models/postgresql-sqlfingerprint.d.ts.map +1 -1
  21. package/dist/openapi/apis/diagnostics-api.d.ts +104 -0
  22. package/dist/openapi/apis/diagnostics-api.d.ts.map +1 -1
  23. package/dist/openapi/apis/diagnostics-api.js +105 -0
  24. package/dist/openapi/apis/diagnostics-api.js.map +1 -1
  25. package/dist/openapi/models/dms-execution-plan-planning-mode.d.ts +22 -0
  26. package/dist/openapi/models/dms-execution-plan-planning-mode.d.ts.map +1 -0
  27. package/dist/openapi/models/dms-execution-plan-planning-mode.js +26 -0
  28. package/dist/openapi/models/dms-execution-plan-planning-mode.js.map +1 -0
  29. package/dist/openapi/models/dms-execution-plan-result.d.ts +19 -0
  30. package/dist/openapi/models/dms-execution-plan-result.d.ts.map +1 -1
  31. package/dist/openapi/models/index.d.ts +2 -0
  32. package/dist/openapi/models/index.d.ts.map +1 -1
  33. package/dist/openapi/models/index.js +2 -0
  34. package/dist/openapi/models/index.js.map +1 -1
  35. package/dist/openapi/models/postgresql-sqlfingerprint-explain-response.d.ts +87 -0
  36. package/dist/openapi/models/postgresql-sqlfingerprint-explain-response.d.ts.map +1 -0
  37. package/dist/openapi/models/postgresql-sqlfingerprint-explain-response.js +16 -0
  38. package/dist/openapi/models/postgresql-sqlfingerprint-explain-response.js.map +1 -0
  39. package/dist/openapi/models/postgresql-sqlfingerprint.d.ts +6 -0
  40. package/dist/openapi/models/postgresql-sqlfingerprint.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/src/adminapi/.openapi-generator/FILES +2 -0
  43. package/src/adminapi/apis/diagnostics-api.ts +184 -0
  44. package/src/adminapi/models/dms-execution-plan-planning-mode.ts +31 -0
  45. package/src/adminapi/models/dms-execution-plan-result.ts +21 -0
  46. package/src/adminapi/models/index.ts +2 -0
  47. package/src/adminapi/models/postgresql-sqlfingerprint-explain-response.ts +98 -0
  48. package/src/adminapi/models/postgresql-sqlfingerprint.ts +6 -0
  49. package/src/adminapi.yaml +145 -0
  50. package/src/openapi/.openapi-generator/FILES +2 -0
  51. package/src/openapi/apis/diagnostics-api.ts +184 -0
  52. package/src/openapi/models/dms-execution-plan-planning-mode.ts +31 -0
  53. package/src/openapi/models/dms-execution-plan-result.ts +21 -0
  54. package/src/openapi/models/index.ts +2 -0
  55. package/src/openapi/models/postgresql-sqlfingerprint-explain-response.ts +98 -0
  56. package/src/openapi/models/postgresql-sqlfingerprint.ts +6 -0
  57. package/src/openapi.yaml +3764 -3619
package/src/adminapi.yaml CHANGED
@@ -22321,6 +22321,83 @@ paths:
22321
22321
  $ref: '#/components/responses/404'
22322
22322
  '500':
22323
22323
  $ref: '#/components/responses/500'
22324
+ /admin/v1/organizations/{orgName}/clusters/{clusterName}/diagnostics/postgresql/sqlAnalysis/queries/{queryID}/explain:
22325
+ post:
22326
+ tags:
22327
+ - diagnostics
22328
+ summary: Explain PostgreSQL SQL fingerprint
22329
+ description: Explicitly trigger a safe PostgreSQL EXPLAIN for one SQL fingerprint. The request does not accept raw SQL. DMS resolves the exact server-side parameterized SELECT statement identity independently of the ranking window, produces an estimated standard or generic plan without parameter sample values, rejects multiple statements, and never runs EXPLAIN ANALYZE or the original SQL. The plan uses current catalog statistics and the DMS connection context; it does not reconstruct the original role, search_path, session settings, parameter values, or historical actual plan.
22330
+ operationId: explainDiagnosticsPostgresqlSQLFingerprint
22331
+ parameters:
22332
+ - name: orgName
22333
+ in: path
22334
+ description: Organization name
22335
+ required: true
22336
+ schema:
22337
+ type: string
22338
+ - name: clusterName
22339
+ in: path
22340
+ description: Cluster name
22341
+ required: true
22342
+ schema:
22343
+ type: string
22344
+ - name: queryID
22345
+ in: path
22346
+ description: PostgreSQL pg_stat_statements queryid represented as a string.
22347
+ required: true
22348
+ schema:
22349
+ type: string
22350
+ - name: database
22351
+ in: query
22352
+ description: Database name from the ranking row. The key is required to disambiguate the queryID. An unresolved empty name returns 422 no_explainable_sql_statement.
22353
+ required: true
22354
+ allowEmptyValue: true
22355
+ schema:
22356
+ type: string
22357
+ - name: user
22358
+ in: query
22359
+ description: Database user from the ranking row. The key is required to disambiguate the queryID. An unresolved empty name returns 422 no_explainable_sql_statement.
22360
+ required: true
22361
+ allowEmptyValue: true
22362
+ schema:
22363
+ type: string
22364
+ - name: topLevel
22365
+ in: query
22366
+ description: Top-level identity from the ranking row. Required to disambiguate the queryID on PostgreSQL versions that expose pg_stat_statements.toplevel.
22367
+ required: true
22368
+ schema:
22369
+ type: boolean
22370
+ - name: fingerprint
22371
+ in: query
22372
+ description: Optional fingerprint consistency guard. Currently aligned with PostgreSQL pg_stat_statements queryid.
22373
+ required: false
22374
+ schema:
22375
+ type: string
22376
+ responses:
22377
+ '200':
22378
+ description: OK
22379
+ content:
22380
+ application/json:
22381
+ schema:
22382
+ $ref: '#/components/schemas/postgresqlSQLFingerprintExplainResponse'
22383
+ '400':
22384
+ $ref: '#/components/responses/400'
22385
+ '401':
22386
+ $ref: '#/components/responses/401'
22387
+ '403':
22388
+ $ref: '#/components/responses/403'
22389
+ '404':
22390
+ $ref: '#/components/responses/404'
22391
+ '422':
22392
+ description: Unprocessable Entity
22393
+ content:
22394
+ application/json:
22395
+ schema:
22396
+ $ref: '#/components/schemas/APIErrorResponse'
22397
+ '500':
22398
+ $ref: '#/components/responses/500'
22399
+ '503':
22400
+ $ref: '#/components/responses/503'
22324
22401
  /admin/v1/organizations/{orgName}/clusters/{clusterName}/diagnostics/mysql/sqlAnalysis:
22325
22402
  get:
22326
22403
  tags:
@@ -29657,6 +29734,11 @@ components:
29657
29734
  - analyze
29658
29735
  - actual
29659
29736
  - autotrace
29737
+ DmsExecutionPlanPlanningMode:
29738
+ type: string
29739
+ enum:
29740
+ - standard
29741
+ - generic
29660
29742
  DmsExecutionPlanRawFormat:
29661
29743
  type: string
29662
29744
  enum:
@@ -29940,6 +30022,16 @@ components:
29940
30022
  type: string
29941
30023
  mode:
29942
30024
  $ref: '#/components/schemas/DmsExecutionPlanMode'
30025
+ planMode:
30026
+ $ref: '#/components/schemas/DmsExecutionPlanPlanningMode'
30027
+ parameterized:
30028
+ type: boolean
30029
+ x-omitempty: false
30030
+ parameterCount:
30031
+ type: integer
30032
+ format: int64
30033
+ nullable: true
30034
+ x-omitempty: true
29943
30035
  hasActualStats:
29944
30036
  type: boolean
29945
30037
  x-omitempty: false
@@ -43013,6 +43105,7 @@ components:
43013
43105
  - rows
43014
43106
  - database
43015
43107
  - user
43108
+ - topLevel
43016
43109
  properties:
43017
43110
  queryID:
43018
43111
  type: string
@@ -43049,6 +43142,9 @@ components:
43049
43142
  user:
43050
43143
  type: string
43051
43144
  description: Database user name resolved from pg_stat_statements.userid when visible.
43145
+ topLevel:
43146
+ type: boolean
43147
+ description: Whether pg_stat_statements recorded the statement as top-level. Legacy PostgreSQL versions without the toplevel column report true.
43052
43148
  postgresqlSQLAnalysis:
43053
43149
  type: object
43054
43150
  required:
@@ -43096,6 +43192,55 @@ components:
43096
43192
  description: SQL fingerprint ranking rows from pg_stat_statements. The list may be empty when no statement statistics exist.
43097
43193
  items:
43098
43194
  $ref: '#/components/schemas/postgresqlSQLFingerprint'
43195
+ postgresqlSQLFingerprintExplainResponse:
43196
+ type: object
43197
+ required:
43198
+ - queryID
43199
+ - fingerprint
43200
+ - database
43201
+ - user
43202
+ - topLevel
43203
+ - planMode
43204
+ - parameterized
43205
+ - explainResult
43206
+ properties:
43207
+ queryID:
43208
+ type: string
43209
+ description: PostgreSQL pg_stat_statements queryid represented as a string.
43210
+ fingerprint:
43211
+ type: string
43212
+ description: Stable SQL fingerprint identifier for UI grouping. Currently aligned with PostgreSQL pg_stat_statements queryid.
43213
+ database:
43214
+ type: string
43215
+ description: Database name from the requested SQL fingerprint identity.
43216
+ user:
43217
+ type: string
43218
+ description: Database user from the requested SQL fingerprint identity.
43219
+ topLevel:
43220
+ type: boolean
43221
+ description: Top-level flag from the requested SQL fingerprint identity.
43222
+ statementSource:
43223
+ type: string
43224
+ description: Server-side source used to resolve the parameterized SQL statement. Raw SQL is not returned.
43225
+ statementResolvedAt:
43226
+ type: string
43227
+ description: Timestamp when the parameterized SQL statement was resolved.
43228
+ planMode:
43229
+ $ref: '#/components/schemas/DmsExecutionPlanPlanningMode'
43230
+ description: Whether DMS produced a standard estimated plan or a generic parameterized estimated plan.
43231
+ parameterized:
43232
+ type: boolean
43233
+ description: Whether generic parameterized planning was used (planMode is generic). False means standard planning, not that historical parameter values were used. This endpoint never retrieves historical parameter values.
43234
+ x-omitempty: false
43235
+ parameterCount:
43236
+ type: integer
43237
+ format: int64
43238
+ nullable: true
43239
+ x-omitempty: true
43240
+ description: Number of parameters when DMS can determine it. It may be omitted for PostgreSQL generic-plan paths that do not expose the count.
43241
+ explainResult:
43242
+ $ref: '#/components/schemas/DmsExecutionPlanResult'
43243
+ description: Normalized DMS estimated visual plan. The resolved statement and generated EXPLAIN SQL are intentionally removed.
43099
43244
  mysqlSQLFingerprint:
43100
43245
  type: object
43101
43246
  required:
@@ -389,6 +389,7 @@ models/dms-execution-plan-node-cost.ts
389
389
  models/dms-execution-plan-node-rows.ts
390
390
  models/dms-execution-plan-node-timing.ts
391
391
  models/dms-execution-plan-node.ts
392
+ models/dms-execution-plan-planning-mode.ts
392
393
  models/dms-execution-plan-raw-format.ts
393
394
  models/dms-execution-plan-result.ts
394
395
  models/dms-execution-plan-summary.ts
@@ -798,6 +799,7 @@ models/postgresql-space-analysis.ts
798
799
  models/postgresql-space-source.ts
799
800
  models/postgresql-space-summary.ts
800
801
  models/postgresql-sqlanalysis.ts
802
+ models/postgresql-sqlfingerprint-explain-response.ts
801
803
  models/postgresql-sqlfingerprint.ts
802
804
  models/postgresql-storage-instance-usage.ts
803
805
  models/postgresql-storage-overview.ts
@@ -68,6 +68,8 @@ import type { PostgresqlLockAnalysis } from '../models';
68
68
  // @ts-ignore
69
69
  import type { PostgresqlSQLAnalysis } from '../models';
70
70
  // @ts-ignore
71
+ import type { PostgresqlSQLFingerprintExplainResponse } from '../models';
72
+ // @ts-ignore
71
73
  import type { PostgresqlSession } from '../models';
72
74
  // @ts-ignore
73
75
  import type { PostgresqlSpaceAnalysis } from '../models';
@@ -139,6 +141,81 @@ export const DiagnosticsApiAxiosParamCreator = function (configuration?: Configu
139
141
 
140
142
 
141
143
 
144
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
145
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
146
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
147
+
148
+ return {
149
+ url: toPathString(localVarUrlObj),
150
+ options: localVarRequestOptions,
151
+ };
152
+ },
153
+ /**
154
+ * Explicitly trigger a safe PostgreSQL EXPLAIN for one SQL fingerprint. The request does not accept raw SQL. DMS resolves the exact server-side parameterized SELECT statement identity independently of the ranking window, produces an estimated standard or generic plan without parameter sample values, rejects multiple statements, and never runs EXPLAIN ANALYZE or the original SQL. The plan uses current catalog statistics and the DMS connection context; it does not reconstruct the original role, search_path, session settings, parameter values, or historical actual plan.
155
+ * @summary Explain PostgreSQL SQL fingerprint
156
+ * @param {string} orgName Organization name
157
+ * @param {string} clusterName Cluster name
158
+ * @param {string} queryID PostgreSQL pg_stat_statements queryid represented as a string.
159
+ * @param {string} database Database name from the ranking row. The key is required to disambiguate the queryID. An unresolved empty name returns 422 no_explainable_sql_statement.
160
+ * @param {string} user Database user from the ranking row. The key is required to disambiguate the queryID. An unresolved empty name returns 422 no_explainable_sql_statement.
161
+ * @param {boolean} topLevel Top-level identity from the ranking row. Required to disambiguate the queryID on PostgreSQL versions that expose pg_stat_statements.toplevel.
162
+ * @param {string} [fingerprint] Optional fingerprint consistency guard. Currently aligned with PostgreSQL pg_stat_statements queryid.
163
+ * @param {*} [options] Override http request option.
164
+ * @throws {RequiredError}
165
+ */
166
+ explainDiagnosticsPostgresqlSQLFingerprint: async (orgName: string, clusterName: string, queryID: string, database: string, user: string, topLevel: boolean, fingerprint?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
167
+ // verify required parameter 'orgName' is not null or undefined
168
+ assertParamExists('explainDiagnosticsPostgresqlSQLFingerprint', 'orgName', orgName)
169
+ // verify required parameter 'clusterName' is not null or undefined
170
+ assertParamExists('explainDiagnosticsPostgresqlSQLFingerprint', 'clusterName', clusterName)
171
+ // verify required parameter 'queryID' is not null or undefined
172
+ assertParamExists('explainDiagnosticsPostgresqlSQLFingerprint', 'queryID', queryID)
173
+ // verify required parameter 'database' is not null or undefined
174
+ assertParamExists('explainDiagnosticsPostgresqlSQLFingerprint', 'database', database)
175
+ // verify required parameter 'user' is not null or undefined
176
+ assertParamExists('explainDiagnosticsPostgresqlSQLFingerprint', 'user', user)
177
+ // verify required parameter 'topLevel' is not null or undefined
178
+ assertParamExists('explainDiagnosticsPostgresqlSQLFingerprint', 'topLevel', topLevel)
179
+ const localVarPath = `/api/v1/organizations/{orgName}/clusters/{clusterName}/diagnostics/postgresql/sqlAnalysis/queries/{queryID}/explain`
180
+ .replace(`{${"orgName"}}`, encodeURIComponent(String(orgName)))
181
+ .replace(`{${"clusterName"}}`, encodeURIComponent(String(clusterName)))
182
+ .replace(`{${"queryID"}}`, encodeURIComponent(String(queryID)));
183
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
184
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
185
+ let baseOptions;
186
+ if (configuration) {
187
+ baseOptions = configuration.baseOptions;
188
+ }
189
+
190
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
191
+ const localVarHeaderParameter = {} as any;
192
+ const localVarQueryParameter = {} as any;
193
+
194
+ // authentication BearerToken required
195
+ // http bearer authentication required
196
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
197
+
198
+ // authentication DigestAuth required
199
+ await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration)
200
+
201
+ if (database !== undefined) {
202
+ localVarQueryParameter['database'] = database;
203
+ }
204
+
205
+ if (user !== undefined) {
206
+ localVarQueryParameter['user'] = user;
207
+ }
208
+
209
+ if (topLevel !== undefined) {
210
+ localVarQueryParameter['topLevel'] = topLevel;
211
+ }
212
+
213
+ if (fingerprint !== undefined) {
214
+ localVarQueryParameter['fingerprint'] = fingerprint;
215
+ }
216
+
217
+
218
+
142
219
  setSearchParams(localVarUrlObj, localVarQueryParameter);
143
220
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
144
221
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -1305,6 +1382,25 @@ export const DiagnosticsApiFp = function(configuration?: Configuration) {
1305
1382
  const localVarOperationServerBasePath = operationServerMap['DiagnosticsApi.explainDiagnosticsElasticsearchAllocation']?.[localVarOperationServerIndex]?.url;
1306
1383
  return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1307
1384
  },
1385
+ /**
1386
+ * Explicitly trigger a safe PostgreSQL EXPLAIN for one SQL fingerprint. The request does not accept raw SQL. DMS resolves the exact server-side parameterized SELECT statement identity independently of the ranking window, produces an estimated standard or generic plan without parameter sample values, rejects multiple statements, and never runs EXPLAIN ANALYZE or the original SQL. The plan uses current catalog statistics and the DMS connection context; it does not reconstruct the original role, search_path, session settings, parameter values, or historical actual plan.
1387
+ * @summary Explain PostgreSQL SQL fingerprint
1388
+ * @param {string} orgName Organization name
1389
+ * @param {string} clusterName Cluster name
1390
+ * @param {string} queryID PostgreSQL pg_stat_statements queryid represented as a string.
1391
+ * @param {string} database Database name from the ranking row. The key is required to disambiguate the queryID. An unresolved empty name returns 422 no_explainable_sql_statement.
1392
+ * @param {string} user Database user from the ranking row. The key is required to disambiguate the queryID. An unresolved empty name returns 422 no_explainable_sql_statement.
1393
+ * @param {boolean} topLevel Top-level identity from the ranking row. Required to disambiguate the queryID on PostgreSQL versions that expose pg_stat_statements.toplevel.
1394
+ * @param {string} [fingerprint] Optional fingerprint consistency guard. Currently aligned with PostgreSQL pg_stat_statements queryid.
1395
+ * @param {*} [options] Override http request option.
1396
+ * @throws {RequiredError}
1397
+ */
1398
+ async explainDiagnosticsPostgresqlSQLFingerprint(orgName: string, clusterName: string, queryID: string, database: string, user: string, topLevel: boolean, fingerprint?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PostgresqlSQLFingerprintExplainResponse>> {
1399
+ const localVarAxiosArgs = await localVarAxiosParamCreator.explainDiagnosticsPostgresqlSQLFingerprint(orgName, clusterName, queryID, database, user, topLevel, fingerprint, options);
1400
+ const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
1401
+ const localVarOperationServerBasePath = operationServerMap['DiagnosticsApi.explainDiagnosticsPostgresqlSQLFingerprint']?.[localVarOperationServerIndex]?.url;
1402
+ return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
1403
+ },
1308
1404
  /**
1309
1405
  * Get a read-only Dameng SQL analysis snapshot from V$SYSTEM_LONG_EXEC_SQLS (long-running SQL) and V$SYSTEM_LARGE_MEM_SQLS (high-memory SQL). The response does not expose execution plans or remediation actions.
1310
1406
  * @summary Get Dameng SQL analysis
@@ -1657,6 +1753,16 @@ export const DiagnosticsApiFactory = function (configuration?: Configuration, ba
1657
1753
  explainDiagnosticsElasticsearchAllocation(requestParameters: DiagnosticsApiExplainDiagnosticsElasticsearchAllocationRequest, options?: RawAxiosRequestConfig): AxiosPromise<ElasticsearchAllocationExplanation> {
1658
1754
  return localVarFp.explainDiagnosticsElasticsearchAllocation(requestParameters.orgName, requestParameters.clusterName, requestParameters.index, requestParameters.shard, requestParameters.primary, requestParameters.currentNode, options).then((request) => request(axios, basePath));
1659
1755
  },
1756
+ /**
1757
+ * Explicitly trigger a safe PostgreSQL EXPLAIN for one SQL fingerprint. The request does not accept raw SQL. DMS resolves the exact server-side parameterized SELECT statement identity independently of the ranking window, produces an estimated standard or generic plan without parameter sample values, rejects multiple statements, and never runs EXPLAIN ANALYZE or the original SQL. The plan uses current catalog statistics and the DMS connection context; it does not reconstruct the original role, search_path, session settings, parameter values, or historical actual plan.
1758
+ * @summary Explain PostgreSQL SQL fingerprint
1759
+ * @param {DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprintRequest} requestParameters Request parameters.
1760
+ * @param {*} [options] Override http request option.
1761
+ * @throws {RequiredError}
1762
+ */
1763
+ explainDiagnosticsPostgresqlSQLFingerprint(requestParameters: DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprintRequest, options?: RawAxiosRequestConfig): AxiosPromise<PostgresqlSQLFingerprintExplainResponse> {
1764
+ return localVarFp.explainDiagnosticsPostgresqlSQLFingerprint(requestParameters.orgName, requestParameters.clusterName, requestParameters.queryID, requestParameters.database, requestParameters.user, requestParameters.topLevel, requestParameters.fingerprint, options).then((request) => request(axios, basePath));
1765
+ },
1660
1766
  /**
1661
1767
  * Get a read-only Dameng SQL analysis snapshot from V$SYSTEM_LONG_EXEC_SQLS (long-running SQL) and V$SYSTEM_LARGE_MEM_SQLS (high-memory SQL). The response does not expose execution plans or remediation actions.
1662
1768
  * @summary Get Dameng SQL analysis
@@ -1886,6 +1992,16 @@ export interface DiagnosticsApiInterface {
1886
1992
  */
1887
1993
  explainDiagnosticsElasticsearchAllocation(requestParameters: DiagnosticsApiExplainDiagnosticsElasticsearchAllocationRequest, options?: RawAxiosRequestConfig): AxiosPromise<ElasticsearchAllocationExplanation>;
1888
1994
 
1995
+ /**
1996
+ * Explicitly trigger a safe PostgreSQL EXPLAIN for one SQL fingerprint. The request does not accept raw SQL. DMS resolves the exact server-side parameterized SELECT statement identity independently of the ranking window, produces an estimated standard or generic plan without parameter sample values, rejects multiple statements, and never runs EXPLAIN ANALYZE or the original SQL. The plan uses current catalog statistics and the DMS connection context; it does not reconstruct the original role, search_path, session settings, parameter values, or historical actual plan.
1997
+ * @summary Explain PostgreSQL SQL fingerprint
1998
+ * @param {DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprintRequest} requestParameters Request parameters.
1999
+ * @param {*} [options] Override http request option.
2000
+ * @throws {RequiredError}
2001
+ * @memberof DiagnosticsApiInterface
2002
+ */
2003
+ explainDiagnosticsPostgresqlSQLFingerprint(requestParameters: DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprintRequest, options?: RawAxiosRequestConfig): AxiosPromise<PostgresqlSQLFingerprintExplainResponse>;
2004
+
1889
2005
  /**
1890
2006
  * Get a read-only Dameng SQL analysis snapshot from V$SYSTEM_LONG_EXEC_SQLS (long-running SQL) and V$SYSTEM_LARGE_MEM_SQLS (high-memory SQL). The response does not expose execution plans or remediation actions.
1891
2007
  * @summary Get Dameng SQL analysis
@@ -2147,6 +2263,62 @@ export interface DiagnosticsApiExplainDiagnosticsElasticsearchAllocationRequest
2147
2263
  readonly currentNode?: string
2148
2264
  }
2149
2265
 
2266
+ /**
2267
+ * Request parameters for explainDiagnosticsPostgresqlSQLFingerprint operation in DiagnosticsApi.
2268
+ * @export
2269
+ * @interface DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprintRequest
2270
+ */
2271
+ export interface DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprintRequest {
2272
+ /**
2273
+ * Organization name
2274
+ * @type {string}
2275
+ * @memberof DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprint
2276
+ */
2277
+ readonly orgName: string
2278
+
2279
+ /**
2280
+ * Cluster name
2281
+ * @type {string}
2282
+ * @memberof DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprint
2283
+ */
2284
+ readonly clusterName: string
2285
+
2286
+ /**
2287
+ * PostgreSQL pg_stat_statements queryid represented as a string.
2288
+ * @type {string}
2289
+ * @memberof DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprint
2290
+ */
2291
+ readonly queryID: string
2292
+
2293
+ /**
2294
+ * Database name from the ranking row. The key is required to disambiguate the queryID. An unresolved empty name returns 422 no_explainable_sql_statement.
2295
+ * @type {string}
2296
+ * @memberof DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprint
2297
+ */
2298
+ readonly database: string
2299
+
2300
+ /**
2301
+ * Database user from the ranking row. The key is required to disambiguate the queryID. An unresolved empty name returns 422 no_explainable_sql_statement.
2302
+ * @type {string}
2303
+ * @memberof DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprint
2304
+ */
2305
+ readonly user: string
2306
+
2307
+ /**
2308
+ * Top-level identity from the ranking row. Required to disambiguate the queryID on PostgreSQL versions that expose pg_stat_statements.toplevel.
2309
+ * @type {boolean}
2310
+ * @memberof DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprint
2311
+ */
2312
+ readonly topLevel: boolean
2313
+
2314
+ /**
2315
+ * Optional fingerprint consistency guard. Currently aligned with PostgreSQL pg_stat_statements queryid.
2316
+ * @type {string}
2317
+ * @memberof DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprint
2318
+ */
2319
+ readonly fingerprint?: string
2320
+ }
2321
+
2150
2322
  /**
2151
2323
  * Request parameters for getDiagnosticsDamengSQLAnalysis operation in DiagnosticsApi.
2152
2324
  * @export
@@ -2873,6 +3045,18 @@ export class DiagnosticsApi extends BaseAPI implements DiagnosticsApiInterface {
2873
3045
  return DiagnosticsApiFp(this.configuration).explainDiagnosticsElasticsearchAllocation(requestParameters.orgName, requestParameters.clusterName, requestParameters.index, requestParameters.shard, requestParameters.primary, requestParameters.currentNode, options).then((request) => request(this.axios, this.basePath));
2874
3046
  }
2875
3047
 
3048
+ /**
3049
+ * Explicitly trigger a safe PostgreSQL EXPLAIN for one SQL fingerprint. The request does not accept raw SQL. DMS resolves the exact server-side parameterized SELECT statement identity independently of the ranking window, produces an estimated standard or generic plan without parameter sample values, rejects multiple statements, and never runs EXPLAIN ANALYZE or the original SQL. The plan uses current catalog statistics and the DMS connection context; it does not reconstruct the original role, search_path, session settings, parameter values, or historical actual plan.
3050
+ * @summary Explain PostgreSQL SQL fingerprint
3051
+ * @param {DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprintRequest} requestParameters Request parameters.
3052
+ * @param {*} [options] Override http request option.
3053
+ * @throws {RequiredError}
3054
+ * @memberof DiagnosticsApi
3055
+ */
3056
+ public explainDiagnosticsPostgresqlSQLFingerprint(requestParameters: DiagnosticsApiExplainDiagnosticsPostgresqlSQLFingerprintRequest, options?: RawAxiosRequestConfig) {
3057
+ return DiagnosticsApiFp(this.configuration).explainDiagnosticsPostgresqlSQLFingerprint(requestParameters.orgName, requestParameters.clusterName, requestParameters.queryID, requestParameters.database, requestParameters.user, requestParameters.topLevel, requestParameters.fingerprint, options).then((request) => request(this.axios, this.basePath));
3058
+ }
3059
+
2876
3060
  /**
2877
3061
  * Get a read-only Dameng SQL analysis snapshot from V$SYSTEM_LONG_EXEC_SQLS (long-running SQL) and V$SYSTEM_LARGE_MEM_SQLS (high-memory SQL). The response does not expose execution plans or remediation actions.
2878
3062
  * @summary Get Dameng SQL analysis
@@ -0,0 +1,31 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * KubeBlocks Cloud API
5
+ * KubeBlocks Cloud API is a RESTful API for managing KubeBlocks Cloud resources. The API is organized around REST. Our API has predictable resource-oriented URLs, accepts `JSON-encoded` request bodies, returns `JSON-encoded` responses, and uses standard HTTP response codes, authentication, and verbs. We use standard HTTP authentication and provide API keys to identify who you are. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@apecloud.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+
17
+ /**
18
+ *
19
+ * @export
20
+ * @enum {string}
21
+ */
22
+
23
+ export const DmsExecutionPlanPlanningMode = {
24
+ standard: 'standard',
25
+ generic: 'generic'
26
+ } as const;
27
+
28
+ export type DmsExecutionPlanPlanningMode = typeof DmsExecutionPlanPlanningMode[keyof typeof DmsExecutionPlanPlanningMode];
29
+
30
+
31
+
@@ -24,6 +24,9 @@ import type { DmsExecutionPlanMode } from './dms-execution-plan-mode';
24
24
  import type { DmsExecutionPlanNode } from './dms-execution-plan-node';
25
25
  // May contain unused imports in some cases
26
26
  // @ts-ignore
27
+ import type { DmsExecutionPlanPlanningMode } from './dms-execution-plan-planning-mode';
28
+ // May contain unused imports in some cases
29
+ // @ts-ignore
27
30
  import type { DmsExecutionPlanRawFormat } from './dms-execution-plan-raw-format';
28
31
  // May contain unused imports in some cases
29
32
  // @ts-ignore
@@ -65,6 +68,24 @@ export interface DmsExecutionPlanResult {
65
68
  * @memberof DmsExecutionPlanResult
66
69
  */
67
70
  'mode'?: DmsExecutionPlanMode;
71
+ /**
72
+ *
73
+ * @type {DmsExecutionPlanPlanningMode}
74
+ * @memberof DmsExecutionPlanResult
75
+ */
76
+ 'planMode'?: DmsExecutionPlanPlanningMode;
77
+ /**
78
+ *
79
+ * @type {boolean}
80
+ * @memberof DmsExecutionPlanResult
81
+ */
82
+ 'parameterized'?: boolean;
83
+ /**
84
+ *
85
+ * @type {number}
86
+ * @memberof DmsExecutionPlanResult
87
+ */
88
+ 'parameterCount'?: number | null;
68
89
  /**
69
90
  *
70
91
  * @type {boolean}
@@ -303,6 +303,7 @@ export * from './dms-execution-plan-node-conditions';
303
303
  export * from './dms-execution-plan-node-cost';
304
304
  export * from './dms-execution-plan-node-rows';
305
305
  export * from './dms-execution-plan-node-timing';
306
+ export * from './dms-execution-plan-planning-mode';
306
307
  export * from './dms-execution-plan-raw-format';
307
308
  export * from './dms-execution-plan-result';
308
309
  export * from './dms-execution-plan-summary';
@@ -705,6 +706,7 @@ export * from './postgresql-lock-analysis';
705
706
  export * from './postgresql-lock-row';
706
707
  export * from './postgresql-sqlanalysis';
707
708
  export * from './postgresql-sqlfingerprint';
709
+ export * from './postgresql-sqlfingerprint-explain-response';
708
710
  export * from './postgresql-session';
709
711
  export * from './postgresql-space-analysis';
710
712
  export * from './postgresql-space-source';
@@ -0,0 +1,98 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * KubeBlocks Cloud API
5
+ * KubeBlocks Cloud API is a RESTful API for managing KubeBlocks Cloud resources. The API is organized around REST. Our API has predictable resource-oriented URLs, accepts `JSON-encoded` request bodies, returns `JSON-encoded` responses, and uses standard HTTP response codes, authentication, and verbs. We use standard HTTP authentication and provide API keys to identify who you are. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@apecloud.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+
16
+ // May contain unused imports in some cases
17
+ // @ts-ignore
18
+ import type { DmsExecutionPlanPlanningMode } from './dms-execution-plan-planning-mode';
19
+ // May contain unused imports in some cases
20
+ // @ts-ignore
21
+ import type { DmsExecutionPlanResult } from './dms-execution-plan-result';
22
+
23
+ /**
24
+ *
25
+ * @export
26
+ * @interface PostgresqlSQLFingerprintExplainResponse
27
+ */
28
+ export interface PostgresqlSQLFingerprintExplainResponse {
29
+ /**
30
+ * PostgreSQL pg_stat_statements queryid represented as a string.
31
+ * @type {string}
32
+ * @memberof PostgresqlSQLFingerprintExplainResponse
33
+ */
34
+ 'queryID': string;
35
+ /**
36
+ * Stable SQL fingerprint identifier for UI grouping. Currently aligned with PostgreSQL pg_stat_statements queryid.
37
+ * @type {string}
38
+ * @memberof PostgresqlSQLFingerprintExplainResponse
39
+ */
40
+ 'fingerprint': string;
41
+ /**
42
+ * Database name from the requested SQL fingerprint identity.
43
+ * @type {string}
44
+ * @memberof PostgresqlSQLFingerprintExplainResponse
45
+ */
46
+ 'database': string;
47
+ /**
48
+ * Database user from the requested SQL fingerprint identity.
49
+ * @type {string}
50
+ * @memberof PostgresqlSQLFingerprintExplainResponse
51
+ */
52
+ 'user': string;
53
+ /**
54
+ * Top-level flag from the requested SQL fingerprint identity.
55
+ * @type {boolean}
56
+ * @memberof PostgresqlSQLFingerprintExplainResponse
57
+ */
58
+ 'topLevel': boolean;
59
+ /**
60
+ * Server-side source used to resolve the parameterized SQL statement. Raw SQL is not returned.
61
+ * @type {string}
62
+ * @memberof PostgresqlSQLFingerprintExplainResponse
63
+ */
64
+ 'statementSource'?: string;
65
+ /**
66
+ * Timestamp when the parameterized SQL statement was resolved.
67
+ * @type {string}
68
+ * @memberof PostgresqlSQLFingerprintExplainResponse
69
+ */
70
+ 'statementResolvedAt'?: string;
71
+ /**
72
+ *
73
+ * @type {DmsExecutionPlanPlanningMode}
74
+ * @memberof PostgresqlSQLFingerprintExplainResponse
75
+ */
76
+ 'planMode': DmsExecutionPlanPlanningMode;
77
+ /**
78
+ * Whether generic parameterized planning was used (planMode is generic). False means standard planning, not that historical parameter values were used. This endpoint never retrieves historical parameter values.
79
+ * @type {boolean}
80
+ * @memberof PostgresqlSQLFingerprintExplainResponse
81
+ */
82
+ 'parameterized': boolean;
83
+ /**
84
+ * Number of parameters when DMS can determine it. It may be omitted for PostgreSQL generic-plan paths that do not expose the count.
85
+ * @type {number}
86
+ * @memberof PostgresqlSQLFingerprintExplainResponse
87
+ */
88
+ 'parameterCount'?: number | null;
89
+ /**
90
+ *
91
+ * @type {DmsExecutionPlanResult}
92
+ * @memberof PostgresqlSQLFingerprintExplainResponse
93
+ */
94
+ 'explainResult': DmsExecutionPlanResult;
95
+ }
96
+
97
+
98
+
@@ -80,5 +80,11 @@ export interface PostgresqlSQLFingerprint {
80
80
  * @memberof PostgresqlSQLFingerprint
81
81
  */
82
82
  'user': string;
83
+ /**
84
+ * Whether pg_stat_statements recorded the statement as top-level. Legacy PostgreSQL versions without the toplevel column report true.
85
+ * @type {boolean}
86
+ * @memberof PostgresqlSQLFingerprint
87
+ */
88
+ 'topLevel': boolean;
83
89
  }
84
90