presto-python-client icon indicating copy to clipboard operation
presto-python-client copied to clipboard

How to run CALL system.sync_partition_metadata

Open shivamtundele opened this issue 1 year ago • 1 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()

shivamtundele avatar Jun 02 '23 18:06 shivamtundele

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()

shivamtundele avatar Jun 02 '23 18:06 shivamtundele