The notification event structure currently does not have the partition spec. Events which can span across multiple databases and tables, the database and table info can not be obtained from the event structure. To know the event is added for which partition, the event message has to be deserialized and the partition information can be obtained from it.
- Each event handler has to expose a static API.
- The API should take the event as input and return the list of db name, table name and partition spec from it.
- If database name, table name or partition name is present in the event structure, then return it. If all these info are present then no need to deserialize the message. Later if these info are added to the event structure then it will be useful.
- Deserialize the message and create the list of name and return through a partition info class object.
- If the table is not partitioned or is table level event, then set the partition info as null. Same for table info incase of db level events.