@@ -554,15 +554,18 @@ def repair_table(
554554 if (database is not None ) and (not database .startswith ("`" )):
555555 database = f"`{ database } `"
556556 session : boto3 .Session = _utils .ensure_session (session = boto3_session )
557- query_id = start_query_execution (
558- sql = query ,
559- database = database ,
560- data_source = data_source ,
561- s3_output = s3_output ,
562- workgroup = workgroup ,
563- encryption = encryption ,
564- kms_key = kms_key ,
565- boto3_session = session ,
557+ query_id = cast (
558+ str ,
559+ start_query_execution (
560+ sql = query ,
561+ database = database ,
562+ data_source = data_source ,
563+ s3_output = s3_output ,
564+ workgroup = workgroup ,
565+ encryption = encryption ,
566+ kms_key = kms_key ,
567+ boto3_session = session ,
568+ ),
566569 )
567570 response : Dict [str , Any ] = wait_query (query_execution_id = query_id , boto3_session = session )
568571 return cast (str , response ["Status" ]["State" ])
@@ -624,14 +627,17 @@ def describe_table(
624627 if (database is not None ) and (not database .startswith ("`" )):
625628 database = f"`{ database } `"
626629 session : boto3 .Session = _utils .ensure_session (session = boto3_session )
627- query_id = start_query_execution (
628- sql = query ,
629- database = database ,
630- s3_output = s3_output ,
631- workgroup = workgroup ,
632- encryption = encryption ,
633- kms_key = kms_key ,
634- boto3_session = session ,
630+ query_id = cast (
631+ str ,
632+ start_query_execution (
633+ sql = query ,
634+ database = database ,
635+ s3_output = s3_output ,
636+ workgroup = workgroup ,
637+ encryption = encryption ,
638+ kms_key = kms_key ,
639+ boto3_session = session ,
640+ ),
635641 )
636642 query_metadata : _QueryMetadata = _get_query_metadata (query_execution_id = query_id , boto3_session = session )
637643 raw_result = _fetch_txt_result (
@@ -643,7 +649,7 @@ def describe_table(
643649@apply_configs
644650def create_ctas_table ( # pylint: disable=too-many-locals
645651 sql : str ,
646- database : str ,
652+ database : Optional [ str ] = None ,
647653 ctas_table : Optional [str ] = None ,
648654 ctas_database : Optional [str ] = None ,
649655 s3_output : Optional [str ] = None ,
@@ -669,7 +675,7 @@ def create_ctas_table( # pylint: disable=too-many-locals
669675 ----------
670676 sql : str
671677 SELECT SQL query.
672- database : str
678+ database : Optional[ str], optional
673679 The name of the database where the original table is stored.
674680 ctas_table : Optional[str], optional
675681 The name of the CTAS table.
@@ -756,6 +762,10 @@ def create_ctas_table( # pylint: disable=too-many-locals
756762 """
757763 ctas_table = catalog .sanitize_table_name (ctas_table ) if ctas_table else f"temp_table_{ uuid .uuid4 ().hex } "
758764 ctas_database = ctas_database if ctas_database else database
765+
766+ if ctas_database is None :
767+ raise exceptions .InvalidArgumentCombination ("Either ctas_database or database must be defined." )
768+
759769 fully_qualified_name = f'"{ ctas_database } "."{ ctas_table } "'
760770
761771 wg_config : _WorkGroupConfig = _get_workgroup_config (session = boto3_session , workgroup = workgroup )
@@ -904,14 +914,17 @@ def show_create_table(
904914 if (database is not None ) and (not database .startswith ("`" )):
905915 database = f"`{ database } `"
906916 session : boto3 .Session = _utils .ensure_session (session = boto3_session )
907- query_id = start_query_execution (
908- sql = query ,
909- database = database ,
910- s3_output = s3_output ,
911- workgroup = workgroup ,
912- encryption = encryption ,
913- kms_key = kms_key ,
914- boto3_session = session ,
917+ query_id = cast (
918+ str ,
919+ start_query_execution (
920+ sql = query ,
921+ database = database ,
922+ s3_output = s3_output ,
923+ workgroup = workgroup ,
924+ encryption = encryption ,
925+ kms_key = kms_key ,
926+ boto3_session = session ,
927+ ),
915928 )
916929 query_metadata : _QueryMetadata = _get_query_metadata (query_execution_id = query_id , boto3_session = session )
917930 raw_result = _fetch_txt_result (
0 commit comments