@@ -890,7 +890,7 @@ public void finishInsertTable(ConnectorSession session, JdbcOutputTableHandle ha
890890
891891 // We conditionally create more than the one table, so keep a list of the tables that need to be dropped.
892892 Closer closer = Closer .create ();
893- closer .register (() -> dropTable (session , temporaryTable ));
893+ closer .register (() -> dropTable (session , temporaryTable , true ));
894894
895895 try (Connection connection = getConnection (session , handle )) {
896896 verify (connection .getAutoCommit ());
@@ -906,7 +906,7 @@ public void finishInsertTable(ConnectorSession session, JdbcOutputTableHandle ha
906906
907907 if (handle .getPageSinkIdColumnName ().isPresent ()) {
908908 RemoteTableName pageSinkTable = constructPageSinkIdsTable (session , connection , handle , pageSinkIds );
909- closer .register (() -> dropTable (session , pageSinkTable ));
909+ closer .register (() -> dropTable (session , pageSinkTable , true ));
910910
911911 insertSql += format (" WHERE EXISTS (SELECT 1 FROM %s page_sink_table WHERE page_sink_table.%s = temp_table.%s)" ,
912912 quoted (pageSinkTable ),
@@ -1034,10 +1034,10 @@ public void setColumnType(ConnectorSession session, JdbcTableHandle handle, Jdbc
10341034 public void dropTable (ConnectorSession session , JdbcTableHandle handle )
10351035 {
10361036 verify (handle .getAuthorization ().isEmpty (), "Unexpected authorization is required for table: %s" .formatted (handle ));
1037- dropTable (session , handle .asPlainTable ().getRemoteTableName ());
1037+ dropTable (session , handle .asPlainTable ().getRemoteTableName (), false );
10381038 }
10391039
1040- protected void dropTable (ConnectorSession session , RemoteTableName remoteTableName )
1040+ protected void dropTable (ConnectorSession session , RemoteTableName remoteTableName , boolean temporaryTable )
10411041 {
10421042 String sql = "DROP TABLE " + quoted (remoteTableName );
10431043 execute (session , sql );
@@ -1047,10 +1047,12 @@ protected void dropTable(ConnectorSession session, RemoteTableName remoteTableNa
10471047 public void rollbackCreateTable (ConnectorSession session , JdbcOutputTableHandle handle )
10481048 {
10491049 if (handle .getTemporaryTableName ().isPresent ()) {
1050- dropTable (session , new JdbcTableHandle (
1051- new SchemaTableName (handle .getSchemaName (), handle .getTemporaryTableName ().get ()),
1052- new RemoteTableName (Optional .ofNullable (handle .getCatalogName ()), Optional .ofNullable (handle .getSchemaName ()), handle .getTemporaryTableName ().get ()),
1053- Optional .empty ()));
1050+ dropTable (session ,
1051+ new RemoteTableName (
1052+ Optional .ofNullable (handle .getCatalogName ()),
1053+ Optional .ofNullable (handle .getSchemaName ()),
1054+ handle .getTemporaryTableName ().get ()),
1055+ true );
10541056 }
10551057 }
10561058
0 commit comments