Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SEP = ", "
- QUOTE = "\'"
- NEWLINE = System.getProperty("line.separator")
- KEYWORDS_LOWERCASE = com.intellij.database.util.DbSqlUtil.areKeywordsLowerCase(PROJECT)
- KW_UPDATE = KEYWORDS_LOWERCASE ? "update " : "UPDATE "
- KW_SET = KEYWORDS_LOWERCASE ? " set " : " SET "
- KW_NULL = KEYWORDS_LOWERCASE ? "null" : "NULL"
- KW_EQUALS = " = "
- KW_WHERE = KEYWORDS_LOWERCASE ? " where " : " WHERE "
- def record(columns, dataRow) {
- OUT.append(KW_UPDATE)
- if (TABLE == null) OUT.append("MY_TABLE")
- else OUT.append(TABLE.getParent().getName()).append(".").append(TABLE.getName())
- OUT.append(KW_SET)
- columns.eachWithIndex { column, idx ->
- def value = dataRow.value(column)
- def skipQuote = value.toString().isNumber() || value == null
- def stringValue = value != null ? FORMATTER.format(dataRow, column) : KW_NULL
- if (idx == 0) {
- } else {
- OUT.append(column.name())
- .append(KW_EQUALS)
- .append(skipQuote ? "": QUOTE)
- .append(stringValue.replace(QUOTE, QUOTE + QUOTE))
- .append(skipQuote ? "": QUOTE)
- .append(idx != columns.size() - 1 ? SEP : "")
- }
- }
- OUT.append(KW_WHERE)
- columns.eachWithIndex { column, idx ->
- def value = dataRow.value(column)
- def skipQuote = value.toString().isNumber() || value == null
- def stringValue = value != null ? FORMATTER.format(dataRow, column) : KW_NULL
- if (idx == 0) {
- OUT.append(column.name())
- .append(KW_EQUALS)
- .append(skipQuote ? "": QUOTE)
- .append(stringValue.replace(QUOTE, QUOTE + QUOTE))
- .append(skipQuote ? "": QUOTE)
- } else {
- }
- }
- OUT.append(";").append(NEWLINE)
- }
- ROWS.each { row -> record(COLUMNS, row) }
Add Comment
Please, Sign In to add comment