Guest User

Untitled

a guest
Jan 21st, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. SEP = ", "
  2. QUOTE = "\'"
  3. NEWLINE = System.getProperty("line.separator")
  4.  
  5. KEYWORDS_LOWERCASE = com.intellij.database.util.DbSqlUtil.areKeywordsLowerCase(PROJECT)
  6. KW_UPDATE = KEYWORDS_LOWERCASE ? "update " : "UPDATE "
  7. KW_SET = KEYWORDS_LOWERCASE ? " set " : " SET "
  8. KW_NULL = KEYWORDS_LOWERCASE ? "null" : "NULL"
  9. KW_EQUALS = " = "
  10. KW_WHERE = KEYWORDS_LOWERCASE ? " where " : " WHERE "
  11.  
  12. def record(columns, dataRow) {
  13. OUT.append(KW_UPDATE)
  14. if (TABLE == null) OUT.append("MY_TABLE")
  15. else OUT.append(TABLE.getParent().getName()).append(".").append(TABLE.getName())
  16. OUT.append(KW_SET)
  17.  
  18. columns.eachWithIndex { column, idx ->
  19. def value = dataRow.value(column)
  20. def skipQuote = value.toString().isNumber() || value == null
  21. def stringValue = value != null ? FORMATTER.format(dataRow, column) : KW_NULL
  22. if (idx == 0) {
  23. } else {
  24. OUT.append(column.name())
  25. .append(KW_EQUALS)
  26. .append(skipQuote ? "": QUOTE)
  27. .append(stringValue.replace(QUOTE, QUOTE + QUOTE))
  28. .append(skipQuote ? "": QUOTE)
  29. .append(idx != columns.size() - 1 ? SEP : "")
  30. }
  31.  
  32. }
  33. OUT.append(KW_WHERE)
  34.  
  35. columns.eachWithIndex { column, idx ->
  36. def value = dataRow.value(column)
  37. def skipQuote = value.toString().isNumber() || value == null
  38. def stringValue = value != null ? FORMATTER.format(dataRow, column) : KW_NULL
  39. if (idx == 0) {
  40. OUT.append(column.name())
  41. .append(KW_EQUALS)
  42. .append(skipQuote ? "": QUOTE)
  43. .append(stringValue.replace(QUOTE, QUOTE + QUOTE))
  44. .append(skipQuote ? "": QUOTE)
  45. } else {
  46. }
  47. }
  48.  
  49. OUT.append(";").append(NEWLINE)
  50. }
  51.  
  52. ROWS.each { row -> record(COLUMNS, row) }
Add Comment
Please, Sign In to add comment