anchor.diff:  | auto connect
   | No
   | true
  -| Determines whether the server should automatically accept or validate connection related messages.
  +| Determines whether the server should automatically accept connection related messages or validate them.
   This includes `openConnection` and `closeConnection`.
   
   | auto create statement
   | No
   | true
  -| Determines whether the server should automatically accept or validate statement related messages.
  -This includes `createPreparedStatement`, `createStatement` and `closeStatement`.
  +| Determines whether the server should automatically accept statement related messages or validate them.
  +This includes `createStatement`, `createPreparedStatement`, `createCallableStatement` and `closeStatement`.
   
   | auto transactions
   | No
   | true
  -| Determines whether the server should automatically accept or validate transaction related messages.
  +| Determines whether the server should automatically accept transaction related messages or validate them.
   This includes `startTransaction`, `commitTransaction` and `rollbackTransaction`.
   
   | host
  
positive.code: [source,java]
  ----
  receive(jdbcServer)
          .message(JdbcMessage.createCallableStatement("{CALL limitedToDoList(?)}"));<1>
  
  receive(jdbcServer)
          .message(JdbcMessage.execute("{CALL limitedToDoList(?)} - (1)"));<2>
  
  send(jdbcServer)
          .messageType(MessageType.XML)
          .message(JdbcMessage.result().dataSet("" +
                  "<dataset>" +
                      "<row>" +
                          "<id>1</id>"+
                          "<title>sample</title>"+
                          "<description>A sample todo</description>" +
                          "<done>false</done>" +
                       "</row>" +
                  "</dataset>"));
  
  receive(jdbcServer)
          .message(JdbcMessage.closeStatement());<3>
  ----
  <1> Verify that the given callable statement has been created correctly.
  <2> Verify that the statement has been executed with the parameters `1,sample,A sample todo,false`.
  <3> Verify that the prepared statement has been closed.
  
  As you might have noticed, callable statements and prepared statements have nearly the same workflow in Citrus. The only
  difference in the creation of the statement itself. It is also the case that the verification of
  `createCallableStatement` and `closeStatement` messages has to be activated via configuration. For more information,
  please have a look at the <<jdbc-server-configuration>> section.
  
  
negative.code: [source,java]
  ----
  receive(jdbcServer)
      .message(JdbcMessage.startTransaction());<1>
  
  receive(jdbcServer)
      .message(JdbcMessage.execute("@startsWith('INSERT INTO todo_entries (id, title, description, done) VALUES (?, ?, ?, ?)')@"));
  
  send(jdbcServer)
      .message(JdbcMessage.result().rowsUpdated(1));
  
  receive(jdbcServer)
      .message(JdbcMessage.commitTransaction());<2>
  ----
  <1> Verify, that the transaction has been started.
  <2> Verify, that the modification of the database has been committed.
  
  It is also possible to simulate an erroneous modification including the verification of a rollback.
  