Esempio n. 1
0
  @Override
  public boolean visit(MySqlInsertStatement x) {
    print("INSERT ");

    if (x.isLowPriority()) {
      print("LOW_PRIORITY ");
    }

    if (x.isDelayed()) {
      print("DELAYED ");
    }

    if (x.isHighPriority()) {
      print("HIGH_PRIORITY ");
    }

    if (x.isIgnore()) {
      print("IGNORE ");
    }

    print("INTO ");

    x.getTableName().accept(this);

    if (x.getColumns().size() > 0) {
      incrementIndent();
      println();
      print("(");
      for (int i = 0, size = x.getColumns().size(); i < size; ++i) {
        if (i != 0) {
          if (i % 5 == 0) {
            println();
          }
          print(", ");
        }

        x.getColumns().get(i).accept(this);
      }
      print(")");
      decrementIndent();
    }

    if (x.getValuesList().size() != 0) {
      println();
      print("VALUES");
      println();
      for (int i = 0, size = x.getValuesList().size(); i < size; ++i) {
        if (i != 0) {
          print(", ");
        }
        x.getValuesList().get(i).accept(this);
      }
    }

    if (x.getQuery() != null) {
      print(" ");
      x.getQuery().accept(this);
    }

    if (x.getDuplicateKeyUpdate().size() != 0) {
      print(" ON DUPLICATE KEY UPDATE ");
      printAndAccept(x.getDuplicateKeyUpdate(), ", ");
    }

    return false;
  }