Skip to content

Commit 64d86a0

Browse files
committed
ColumnDisplayFormatDialog: Escape column_name only once
1 parent af3c0f8 commit 64d86a0

1 file changed

Lines changed: 29 additions & 27 deletions

File tree

src/ColumnDisplayFormatDialog.cpp

Lines changed: 29 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -41,33 +41,35 @@ ColumnDisplayFormatDialog::ColumnDisplayFormatDialog(DBBrowserDB& db, const sqlb
4141

4242
ui->labelDisplayFormat->setText(ui->labelDisplayFormat->text().arg(column_name));
4343

44-
formatFunctions["decimal"] = "printf('%d', " + sqlb::escapeIdentifier(column_name) + ")";
45-
formatFunctions["exponent"] = "printf('%e', " + sqlb::escapeIdentifier(column_name) + ")";
46-
formatFunctions["hexblob"] = "hex(" + sqlb::escapeIdentifier(column_name) + ")";
47-
formatFunctions["hex"] = "printf('0x%x', " + sqlb::escapeIdentifier(column_name) + ")";
48-
formatFunctions["octal"] = "printf('%o', " + sqlb::escapeIdentifier(column_name) + ")";
49-
formatFunctions["round"] = "round(" + sqlb::escapeIdentifier(column_name) + ")";
50-
formatFunctions["appleDate"] = "datetime('2001-01-01', " + sqlb::escapeIdentifier(column_name) + " || ' seconds')";
51-
formatFunctions["javaEpoch"] = "strftime('%Y-%m-%d %H:%M:%S.', " + sqlb::escapeIdentifier(column_name) +
52-
"/1000, 'unixepoch') || (" + sqlb::escapeIdentifier(column_name) + "%1000)";
53-
formatFunctions["dotNetTicks"] = "datetime(" + sqlb::escapeIdentifier(column_name) + " / 10000000 - 62135596800, 'unixepoch')";
54-
formatFunctions["julian"] = "datetime(" + sqlb::escapeIdentifier(column_name) + ")";
55-
formatFunctions["epoch"] = "datetime(" + sqlb::escapeIdentifier(column_name) + ", 'unixepoch')";
56-
formatFunctions["epochLocalTime"] = "datetime(" + sqlb::escapeIdentifier(column_name) + ", 'unixepoch', 'localtime')";
57-
formatFunctions["winDate"] = "datetime('1899-12-30', " + sqlb::escapeIdentifier(column_name) + " || ' days')";
58-
formatFunctions["ddmmyyyyDate"] = "strftime('%d/%m/%Y', " + sqlb::escapeIdentifier(column_name) + ")";
59-
formatFunctions["lower"] = "lower(" + sqlb::escapeIdentifier(column_name) + ")";
60-
formatFunctions["upper"] = "upper(" + sqlb::escapeIdentifier(column_name) + ")";
61-
formatFunctions["guid"] = "substr(hex(" + sqlb::escapeIdentifier(column_name) + "), 7, 2) || " +
62-
"substr(hex(" + sqlb::escapeIdentifier(column_name) + "), 5, 2) || " +
63-
"substr(hex(" + sqlb::escapeIdentifier(column_name) + "), 3, 2) || " +
64-
"substr(hex(" + sqlb::escapeIdentifier(column_name) + "), 1, 2) || '-' || " +
65-
"substr(hex(" + sqlb::escapeIdentifier(column_name) + "), 11, 2) || " +
66-
"substr(hex(" + sqlb::escapeIdentifier(column_name) + "), 9, 2) || '-' || " +
67-
"substr(hex(" + sqlb::escapeIdentifier(column_name) + "), 15, 2) || " +
68-
"substr(hex(" + sqlb::escapeIdentifier(column_name) + "), 13, 2) || '-' || " +
69-
"substr(hex(" + sqlb::escapeIdentifier(column_name) + "), 17, 4) || '-' || " +
70-
"substr(hex(" + sqlb::escapeIdentifier(column_name) + "), 21, 12)";
44+
const QString e_column_name = sqlb::escapeIdentifier(column_name);
45+
46+
formatFunctions["decimal"] = "printf('%d', " + e_column_name + ")";
47+
formatFunctions["exponent"] = "printf('%e', " + e_column_name + ")";
48+
formatFunctions["hexblob"] = "hex(" + e_column_name + ")";
49+
formatFunctions["hex"] = "printf('0x%x', " + e_column_name + ")";
50+
formatFunctions["octal"] = "printf('%o', " + e_column_name + ")";
51+
formatFunctions["round"] = "round(" + e_column_name + ")";
52+
formatFunctions["appleDate"] = "datetime('2001-01-01', " + e_column_name + " || ' seconds')";
53+
formatFunctions["javaEpoch"] = "strftime('%Y-%m-%d %H:%M:%S.', " + e_column_name +
54+
"/1000, 'unixepoch') || (" + e_column_name + "%1000)";
55+
formatFunctions["dotNetTicks"] = "datetime(" + e_column_name + " / 10000000 - 62135596800, 'unixepoch')";
56+
formatFunctions["julian"] = "datetime(" + e_column_name + ")";
57+
formatFunctions["epoch"] = "datetime(" + e_column_name + ", 'unixepoch')";
58+
formatFunctions["epochLocalTime"] = "datetime(" + e_column_name + ", 'unixepoch', 'localtime')";
59+
formatFunctions["winDate"] = "datetime('1899-12-30', " + e_column_name + " || ' days')";
60+
formatFunctions["ddmmyyyyDate"] = "strftime('%d/%m/%Y', " + e_column_name + ")";
61+
formatFunctions["lower"] = "lower(" + e_column_name + ")";
62+
formatFunctions["upper"] = "upper(" + e_column_name + ")";
63+
formatFunctions["guid"] = "substr(hex(" + e_column_name + "), 7, 2) || " +
64+
"substr(hex(" + e_column_name + "), 5, 2) || " +
65+
"substr(hex(" + e_column_name + "), 3, 2) || " +
66+
"substr(hex(" + e_column_name + "), 1, 2) || '-' || " +
67+
"substr(hex(" + e_column_name + "), 11, 2) || " +
68+
"substr(hex(" + e_column_name + "), 9, 2) || '-' || " +
69+
"substr(hex(" + e_column_name + "), 15, 2) || " +
70+
"substr(hex(" + e_column_name + "), 13, 2) || '-' || " +
71+
"substr(hex(" + e_column_name + "), 17, 4) || '-' || " +
72+
"substr(hex(" + e_column_name + "), 21, 12)";
7173

7274
// Set the current format, if it's empty set the default format
7375
if(current_format.isEmpty())

0 commit comments

Comments
 (0)