prestodb / presto-python-client

Python DB-API client for Presto

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to run CALL system.sync_partition_metadata

shivamtundele opened this issue · comments

Hi
I am trying to run below query to update partitions of the schema after a table update. But fetchone and fetchall are causing errors as this updating partition statement is not getting executed and returns error coz its expecting rows to return with that query. Is there any other method to run this statement?

presto_connection = self._load_presto_connection(
use_presto_service_account=self.use_presto_service_account
)
cursor = presto_connection.cursor()
query = f"CALL system.sync_partition_metadata(schema_name => '{schema_name}', table_name => '{table_name}', mode => 'add')"
DebugLogger.info(f"Updating schema paritition for {schema_name}.{table_name}:\n {query}")
cursor.execute(query)
cursor.fetchone()
DebugLogger.info(f"Updated schema partition!")
presto_connection.close()

I also tried commit method on the presto connection but its not working either

    query = f"CALL system.sync_partition_metadata(schema_name => '{schema_name}', table_name => '{table_name}', mode => 'add')"
    DebugLogger.info(f"Updating schema paritition for {schema_name}.{table_name}:\n {query}")
    presto_connection.commit()
    DebugLogger.info(f"Updated schema partition!")
    presto_connection.close()