awslabs.redshift-mcp-server 0.0.9__py3-none-any.whl → 0.0.11__py3-none-any.whl
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.
- awslabs/redshift_mcp_server/__init__.py +1 -1
- awslabs/redshift_mcp_server/redshift.py +40 -17
- {awslabs_redshift_mcp_server-0.0.9.dist-info → awslabs_redshift_mcp_server-0.0.11.dist-info}/METADATA +1 -1
- awslabs_redshift_mcp_server-0.0.11.dist-info/RECORD +12 -0
- awslabs_redshift_mcp_server-0.0.9.dist-info/RECORD +0 -12
- {awslabs_redshift_mcp_server-0.0.9.dist-info → awslabs_redshift_mcp_server-0.0.11.dist-info}/WHEEL +0 -0
- {awslabs_redshift_mcp_server-0.0.9.dist-info → awslabs_redshift_mcp_server-0.0.11.dist-info}/entry_points.txt +0 -0
- {awslabs_redshift_mcp_server-0.0.9.dist-info → awslabs_redshift_mcp_server-0.0.11.dist-info}/licenses/LICENSE +0 -0
- {awslabs_redshift_mcp_server-0.0.9.dist-info → awslabs_redshift_mcp_server-0.0.11.dist-info}/licenses/NOTICE +0 -0
|
@@ -263,27 +263,50 @@ async def _execute_protected_statement(
|
|
|
263
263
|
session_id=session_id,
|
|
264
264
|
)
|
|
265
265
|
|
|
266
|
-
# Execute user SQL with parameters
|
|
267
|
-
user_query_id =
|
|
268
|
-
|
|
269
|
-
cluster_identifier=cluster_identifier,
|
|
270
|
-
database_name=database_name,
|
|
271
|
-
sql=sql,
|
|
272
|
-
parameters=parameters,
|
|
273
|
-
session_id=session_id,
|
|
274
|
-
)
|
|
266
|
+
# Execute user SQL with parameters, ensuring transaction is always closed
|
|
267
|
+
user_query_id = None
|
|
268
|
+
user_sql_error = None
|
|
275
269
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
270
|
+
try:
|
|
271
|
+
user_query_id = await _execute_statement(
|
|
272
|
+
cluster_info=cluster_info,
|
|
273
|
+
cluster_identifier=cluster_identifier,
|
|
274
|
+
database_name=database_name,
|
|
275
|
+
sql=sql,
|
|
276
|
+
parameters=parameters,
|
|
277
|
+
session_id=session_id,
|
|
278
|
+
)
|
|
279
|
+
except Exception as e:
|
|
280
|
+
user_sql_error = e
|
|
281
|
+
logger.error(f'User SQL execution failed: {e}')
|
|
282
|
+
|
|
283
|
+
# Always execute END statement to close transaction
|
|
284
|
+
try:
|
|
285
|
+
await _execute_statement(
|
|
286
|
+
cluster_info=cluster_info,
|
|
287
|
+
cluster_identifier=cluster_identifier,
|
|
288
|
+
database_name=database_name,
|
|
289
|
+
sql='END;',
|
|
290
|
+
session_id=session_id,
|
|
291
|
+
)
|
|
292
|
+
except Exception as end_error:
|
|
293
|
+
logger.error(f'END statement execution failed: {end_error}')
|
|
294
|
+
if user_sql_error:
|
|
295
|
+
# Both failed - raise combined error
|
|
296
|
+
raise Exception(
|
|
297
|
+
f'User SQL failed: {user_sql_error}; END statement failed: {end_error}'
|
|
298
|
+
)
|
|
299
|
+
else:
|
|
300
|
+
# Only END failed
|
|
301
|
+
raise end_error
|
|
302
|
+
|
|
303
|
+
# If user SQL failed but END succeeded, raise user SQL error
|
|
304
|
+
if user_sql_error:
|
|
305
|
+
raise user_sql_error
|
|
284
306
|
|
|
285
307
|
# Get results from user query
|
|
286
308
|
data_client = client_manager.redshift_data_client()
|
|
309
|
+
assert user_query_id is not None, 'user_query_id should not be None at this point'
|
|
287
310
|
results_response = data_client.get_statement_result(Id=user_query_id)
|
|
288
311
|
return results_response, user_query_id
|
|
289
312
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: awslabs.redshift-mcp-server
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.11
|
|
4
4
|
Summary: An AWS Labs Model Context Protocol (MCP) server for Redshift
|
|
5
5
|
Project-URL: homepage, https://awslabs.github.io/mcp/
|
|
6
6
|
Project-URL: docs, https://awslabs.github.io/mcp/servers/redshift-mcp-server/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
awslabs/__init__.py,sha256=WuqxdDgUZylWNmVoPKiK7qGsTB_G4UmuXIrJ-VBwDew,731
|
|
2
|
+
awslabs/redshift_mcp_server/__init__.py,sha256=8DVGZt1w7Ce3QiW02QChX2feXiR3SOlPBkTGSiKEuGc,674
|
|
3
|
+
awslabs/redshift_mcp_server/consts.py,sha256=Ou07Q81KMsSw1AYKrU4sawCjbeD2tovQCnYVc5CPWyk,4302
|
|
4
|
+
awslabs/redshift_mcp_server/models.py,sha256=p6oKcVz4xfaqQzXjJrZK9YlfuUnzMDCphXbTK1LT1k4,6437
|
|
5
|
+
awslabs/redshift_mcp_server/redshift.py,sha256=K6rhKTgOQjZs3ffnNsRpGk4xGZsKqIaebpIjXzfJcZQ,30695
|
|
6
|
+
awslabs/redshift_mcp_server/server.py,sha256=msHWX_g8g82kM705wgWjkeK0vVEou_Cz1emEI7VuDPM,26503
|
|
7
|
+
awslabs_redshift_mcp_server-0.0.11.dist-info/METADATA,sha256=Q1_K0YD7lvBDXy2AK8HAHEMzGspIbox2ftgX6fu2_Po,16661
|
|
8
|
+
awslabs_redshift_mcp_server-0.0.11.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
9
|
+
awslabs_redshift_mcp_server-0.0.11.dist-info/entry_points.txt,sha256=o2G-onpmq80KMTQw2OrY1G07GmwPaurcJcIqfvMR9Sw,88
|
|
10
|
+
awslabs_redshift_mcp_server-0.0.11.dist-info/licenses/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
|
|
11
|
+
awslabs_redshift_mcp_server-0.0.11.dist-info/licenses/NOTICE,sha256=iIvfV8gFGERQ7xLtxV8bD_Lsrj9KOIPpvk49qp5-K0c,95
|
|
12
|
+
awslabs_redshift_mcp_server-0.0.11.dist-info/RECORD,,
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
awslabs/__init__.py,sha256=WuqxdDgUZylWNmVoPKiK7qGsTB_G4UmuXIrJ-VBwDew,731
|
|
2
|
-
awslabs/redshift_mcp_server/__init__.py,sha256=8_vNDaN2KJ-FKrcdrNOrmb6Jk5dePWVq4vOFFjSwMRY,673
|
|
3
|
-
awslabs/redshift_mcp_server/consts.py,sha256=Ou07Q81KMsSw1AYKrU4sawCjbeD2tovQCnYVc5CPWyk,4302
|
|
4
|
-
awslabs/redshift_mcp_server/models.py,sha256=p6oKcVz4xfaqQzXjJrZK9YlfuUnzMDCphXbTK1LT1k4,6437
|
|
5
|
-
awslabs/redshift_mcp_server/redshift.py,sha256=ljmLLXXUpAN-wkpxu9rNNOCqYMCCLvGXWNVKDzOTMfA,29821
|
|
6
|
-
awslabs/redshift_mcp_server/server.py,sha256=msHWX_g8g82kM705wgWjkeK0vVEou_Cz1emEI7VuDPM,26503
|
|
7
|
-
awslabs_redshift_mcp_server-0.0.9.dist-info/METADATA,sha256=PNwyFlMRZMWYPiZ9qNBTmV2n2_fcyTTQQSsyeu5jv9o,16660
|
|
8
|
-
awslabs_redshift_mcp_server-0.0.9.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
9
|
-
awslabs_redshift_mcp_server-0.0.9.dist-info/entry_points.txt,sha256=o2G-onpmq80KMTQw2OrY1G07GmwPaurcJcIqfvMR9Sw,88
|
|
10
|
-
awslabs_redshift_mcp_server-0.0.9.dist-info/licenses/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
|
|
11
|
-
awslabs_redshift_mcp_server-0.0.9.dist-info/licenses/NOTICE,sha256=iIvfV8gFGERQ7xLtxV8bD_Lsrj9KOIPpvk49qp5-K0c,95
|
|
12
|
-
awslabs_redshift_mcp_server-0.0.9.dist-info/RECORD,,
|
{awslabs_redshift_mcp_server-0.0.9.dist-info → awslabs_redshift_mcp_server-0.0.11.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|