code: @Override
    public void releasePrepareStatement(ServerPrepareResult serverPrepareResult) throws SQLException {
      //If prepared cache is enable, the ServerPrepareResult can be shared in many PrepStatement,
      //so synchronised use count indicator will be decrement.
      serverPrepareResult.decrementShareCounter();
  
      //deallocate from server if not cached
      if (serverPrepareResult.canBeDeallocate()) {
        forceReleasePrepareStatement(serverPrepareResult.getStatementId());
      }
    }
docs: Deallocate prepare statement if not used anymore.
  
  @param serverPrepareResult allocation result
  @throws SQLException if de-allocation failed.