Github user ravipesala commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/1473#discussion_r149903075
--- Diff:
integration/spark-common/src/main/scala/org/apache/carbondata/events/Events.scala
---
@@ -0,0 +1,143 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.carbondata.events
+
+import org.apache.spark.sql.SparkSession
+import org.apache.spark.sql.execution.command.{AlterTableDropColumnModel,
AlterTableRenameModel}
+
+import org.apache.carbondata.core.metadata.CarbonTableIdentifier
+import org.apache.carbondata.core.metadata.schema.table.CarbonTable
+import org.apache.carbondata.events.Event
+import org.apache.carbondata.processing.loading.model.CarbonLoadModel
+
+ /**
+ * event for database operations
+ */
+trait DatabaseEvent extends Event {
+ val databaseName: String
+}
+
+ /**
+ * event for table related operations
+ */
+trait TableEvent extends DatabaseEvent {
+ override lazy val databaseName: String =
carbonTableIdentifier.getDatabaseName
+ val carbonTableIdentifier: CarbonTableIdentifier
+}
+
+ /**
+ * event for load operations
+ */
+trait LoadEvent extends TableEvent {
+ val carbonLoadModel: CarbonLoadModel
+}
+
+ /**
+ * event for lookup
+ */
+trait LookupRelationEvent extends TableEvent {
+ override val carbonTableIdentifier = carbonTable.getCarbonTableIdentifier
+ val carbonTable: CarbonTable
+}
+
+
+ /**
+ * event for drop table
+ */
+trait DropTableEvent extends TableEvent {
+ override val carbonTableIdentifier = carbonTable.getCarbonTableIdentifier
+ val carbonTable: CarbonTable
+ val ifExistsSet: Boolean
+}
+
+ /**
+ * event for alter_table_drop_column
+ */
+trait AlterTableDropColumnEvent extends TableEvent {
+ override val carbonTableIdentifier = carbonTable.getCarbonTableIdentifier
+ val carbonTable: CarbonTable
+ val alterTableDropColumnModel: AlterTableDropColumnModel
+}
+
+ /**
+ * event for alter_table_rename
+ */
+trait AlterTableRenameEvent extends TableEvent {
+ override val carbonTableIdentifier: CarbonTableIdentifier =
carbonTable.getCarbonTableIdentifier
+ val carbonTable: CarbonTable
+ val alterTableRenameModel: AlterTableRenameModel
+}
+
+ /**
+ * event for alter_table_rename
+ */
+trait AlterTableCompactionEvent extends TableEvent {
+ override val carbonTableIdentifier: CarbonTableIdentifier =
carbonTable.getCarbonTableIdentifier
+ val carbonTable: CarbonTable
+ val carbonLoadModel: CarbonLoadModel
+ val mergedLoadName: String
+}
+
+ /**
+ * event for DeleteSegmentById
+ */
+trait DeleteSegmentbyIdEvent extends TableEvent {
+ override val carbonTableIdentifier: CarbonTableIdentifier =
carbonTable.getCarbonTableIdentifier
+ val carbonTable: CarbonTable
+ val loadIds: Seq[String]
+}
+
+ /**
+ * event for DeleteSegmentByDate
+ */
+trait DeleteSegmentbyDateEvent extends TableEvent {
+ override val carbonTableIdentifier: CarbonTableIdentifier =
carbonTable.getCarbonTableIdentifier
+ val carbonTable: CarbonTable
+ val loadDates: String
+}
+
+ /**
+ * event for Clean Files
+ */
+trait CleanFilesEvent extends TableEvent {
+ override val carbonTableIdentifier: CarbonTableIdentifier =
carbonTable.getCarbonTableIdentifier
+ val carbonTable: CarbonTable
+}
+
+ /**
+ * event for update table
+ */
+trait UpdateTableEvent extends TableEvent {
+ override val carbonTableIdentifier: CarbonTableIdentifier =
carbonTable.getCarbonTableIdentifier
+ val carbonTable: CarbonTable
+}
+
+ /**
+ * event for delete from table
+ */
+trait DeleteFromTableEvent extends TableEvent {
+ override val carbonTableIdentifier: CarbonTableIdentifier =
carbonTable.getCarbonTableIdentifier
+ val carbonTable: CarbonTable
+}
+
+/**
+ * event to initiate CarbonEnv
+ */
+trait CarbonEnvEvent extends Event {
--- End diff --
This also name CarbonEnvEventInfo and don't exend from event
---