Class ExecutionDto


  • public class ExecutionDto
    extends Object
    Each time a SQL command is executed, we keep track of which tables and columns are involved. All the following Maps are in the form: from Table Name (key) to Column Name sets (value). The value "*" means all columns in the table. Note: we keep track of what the SUT tried to execute on the database, but not the result, eg, a DELETE might have deleted nothing if its WHERE clause was not satisfied.
    • Field Detail

      • queriedData

        public Map<String,​Set<String>> queriedData
        What was tried to be retrieved in a SELECT. Something like "select x from Foo" would give info on "Foo->{x}". However, at times, what is returned is not directly the content of a column, but rather some computations on it. For example, in "select avg(x) from Foo", we would still be just interested in the info that the data in "Foo->{x}" was used to compute the result. Note: this does NOT include what was used in the WHERE clauses. For example, "select a,b from Foo where c>0" would give info just for "Foo->{a,b}"
      • updatedData

        public Map<String,​Set<String>> updatedData
        What tables/columns were tried to be updated in UPDATE
      • insertedData

        public Map<String,​Set<String>> insertedData
        What tables/columns were tried to be newly created with INSERT
      • deletedData

        public Set<String> deletedData
        Names of tables on which DELETE was applied
      • failedWhere

        public Map<String,​Set<String>> failedWhere
        Every time there is a WHERE clause which "failed" (ie, resulted in false), we keep track of which tables/columns where involved in determining the result of the WHERE. If there is no WHERE, but still no data was returned, we consider it as a failed WHERE
      • numberOfSqlCommands

        public int numberOfSqlCommands
        The total Number of SQL commands (e.g., SELECT and UPDATE) executed
    • Constructor Detail

      • ExecutionDto

        public ExecutionDto()