Skip to content

Commit 2c71b03

Browse files
committed
Add SQL dialect selection and update sql-formatter version
1 parent cee8454 commit 2c71b03

File tree

1 file changed

+12
-33
lines changed

1 file changed

+12
-33
lines changed

index.html

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@
1414
font-family: 'Ubuntu Mono', monospace;
1515
font-size: 14px;
1616
}
17+
.btn {
18+
margin: 2px;
19+
}
1720
</style>
1821
</head>
1922
<body>
@@ -28,9 +31,13 @@ <h1>Datasource Proxy log formatter service</h1>
2831
<div class="row flex-grow-1 overflow-hidden">
2932
<div class="col-4 mh-100 overflow-auto py-2">
3033
<button type="button" id="formatLog" class="btn btn-danger">Format Log</button>
31-
<button type="button" id="loadDemoLog" class="btn btn-info">Demo Log</button>
32-
<button type="button" id="formatSql" class="btn btn-danger">Format SQL</button>
33-
<button type="button" id="loadDemoSql" class="btn btn-info">Demo SQL</button>
34+
<select id="sqlDialect" class="btn btn-secondary">
35+
<option value="sql" selected>Standard SQL</option>
36+
<option value="mysql">MySQL</option>
37+
<option value="tsql">Microsoft SQL Server</option>
38+
<option value="plsql">Oracle</option>
39+
<option value="postgresql">PostgreSQL</option>
40+
</select>
3441
<br/>
3542
<br/>
3643
<textarea class="form-control h-75" id="logEntries"
@@ -48,12 +55,10 @@ <h1>Datasource Proxy log formatter service</h1>
4855
</div>
4956
</body>
5057
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js"></script>
51-
<script src="https://unpkg.com/sql-formatter@12.0.3/dist/sql-formatter.min.js"></script>
58+
<script src="https://unpkg.com/sql-formatter@15.5.1/dist/sql-formatter.min.js"></script>
5259
<script>
5360
let formatLogButton = document.getElementById("formatLog");
54-
let formatSqlButton = document.getElementById("formatSql");
5561
let loadDemoLog = document.getElementById("loadDemoLog");
56-
let loadDemoSql = document.getElementById("loadDemoSql");
5762
let logEntriesTextarea = document.getElementById("logEntries");
5863
let sqlCodeBlock = document.getElementById("sql");
5964

@@ -93,7 +98,7 @@ <h1>Datasource Proxy log formatter service</h1>
9398
let formattedSql;
9499
try {
95100
formattedSql = sqlFormatter.format(query, {
96-
language: "sql",
101+
language: "tsql",
97102
uppercase: true
98103
});
99104
} catch (e) {
@@ -120,35 +125,9 @@ <h1>Datasource Proxy log formatter service</h1>
120125
hljs.highlightAll();
121126
});
122127

123-
formatSqlButton.addEventListener("click", function (e) {
124-
let input = logEntriesTextarea.value;
125-
126-
if (!input || input.includes("SLF4JQueryLoggingListener")) {
127-
return;
128-
}
129-
130-
let formattedSql = sqlFormatter.format(logEntriesTextarea.value, {
131-
language: "sql",
132-
uppercase: true
133-
});
134-
sqlCodeBlock.innerHTML = `<pre><code class="language-sql">${formattedSql}</code></pre>`;
135-
hljs.highlightAll();
136-
});
137-
138128
const createBatchCounter = (index, batchSize) => batchSize > 1 ? ("(" + (index + 1) + "/" + batchSize + ")") : "";
139129
const escapeHtml = (unsafe) => unsafe.replaceAll('&', '&amp;').replaceAll('<', '&lt;').replaceAll('>', '&gt;').replaceAll('"', '&quot;').replaceAll("'", '&#039;')
140130
const formatParameter = param => param !== "" && Number.isInteger(Number(param)) ? param : ("'" + escapeHtml(param) + "'")
141131

142-
loadDemoLog.addEventListener('click', function () {
143-
logEntriesTextarea.value =
144-
`2021-10-14 15:29:52.409 DEBUG [employee-service,,,] 90994 --- [ main] n.t.d.l.l.SLF4JQueryLoggingListener : {"name":"dataSource-proxy", "connection":121, "time":2, "success":true, "type":"Prepared", "batch":false, "querySize":1, "batchSize":0, "query":["SELECT * FROM employees employees0_ WHERE employees0_.id = ?"], "params":[["e98a53a5-9ca2-4c8b-8ecd-9bcb076e02c0"]]}
145-
2021-10-14 15:29:53.662 DEBUG [employee-service,,,] 86163 --- [ main] n.t.d.l.l.SLF4JQueryLoggingListener : {"name":"dataSource-proxy", "connection":122, "time":17, "success":true, "type":"Prepared", "batch":false, "querySize":1, "batchSize":0, "query":["select * from employees employees0_ where (employees0_.department=? and (employees0_.relation_id=? or employees0_.relation_id=?) and (employees0_.stream is null or employees0_.stream=? or (employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=?) and (employees0_.stream=?)) or employees0_.department=? and (employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=?) and (employees0_.stream is null or employees0_.stream=? or (employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=?) and (employees0_.stream=?)) or employees0_.department=? and (employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=?) and (employees0_.stream is null or employees0_.stream=? or (employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=?) and (employees0_.stream=?)) or employees0_.department=? and (employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=?) and (employees0_.stream is null or employees0_.stream=? or (employees0_.relation_id=? or employees0_.relation_id=? or employees0_.relation_id=?) and (employees0_.stream=?))) and (employees0_.status=? or employees0_.status=? or employees0_.status=? or employees0_.status=? or employees0_.status=? or employees0_.status=? or employees0_.status=? or employees0_.status=?) order by employees0_.start_date desc, employees0_.created_at desc limit ?"], "params":[["RnD","7c1e621fef6f4756bed27a53e97922b3","381e431f1e2346dda92f13115b4149de","","7c1e621fef6f4756bed27a53e97922b3","d60df6614cc946e594fd084e20ace081","8b1e622fef7f4756ded27a53e98922a4","Neo","Sales","8w32f6618bc946e594fd084e20ace081","8b1e622fef7f4756ded27a53e98922a4","d60df6614cc946e594fd084e20ace081","c4rtf6614cc946e594fd084e20ace081","","7c1e621fef6f4756bed27a53e97922b3","d60df6614cc946e594fd084e20ace081","8b1e622fef7f4756ded27a53e98922a4","Neo","Logistics","980df6618bc946e594fd084e20ace081","800df6618bc946e594fd084e20ace081","8w32f6618bc946e594fd084e20ace081","8w32f6618bc946e594fd084e20ace092","8b1e622fef7f4756ded27a53e98922a4","d60df6614cc946e594fd084e20ace081","c4rtf6614cc946e594fd084e20ace081","u4rtf6er4cc946e594fd084e20ace081","8b1e622fef7f4756ded27a53e98922b5","","7c1e621fef6f4756bed27a53e97922b3","d60df6614cc946e594fd084e20ace081","8b1e622fef7f4756ded27a53e98922a4","Neo","Marketing","980df6618bc946e594fd084e20ace081","8b1e622fef7f4756ded27a53e98922a4","d60df6614cc946e594fd084e20ace081","","7c1e621fef6f4756bed27a53e97922b3","d60df6614cc946e594fd084e20ace081","8b1e622fef7f4756ded27a53e98922a4","Neo","ENTERED","WAITING_ONBOARDING","ONBOARDED","READY","ACKNOWLEDGED","ACTIVE","RESIGNED","TERMINATED","10"]]}`;
146-
});
147-
148-
loadDemoSql.addEventListener('click', function () {
149-
logEntriesTextarea.value =
150-
`SELECT * FROM employees employees0_ WHERE (employees0_.department = 'RnD' AND (employees0_.relation_id = '7c1e621fef6f4756bed27a53e97922b3' OR employees0_.relation_id = '381e431f1e2346dda92f13115b4149de') AND (employees0_.stream IS NULL OR employees0_.stream = '' OR (employees0_.relation_id = '7c1e621fef6f4756bed27a53e97922b3' OR employees0_.relation_id = 'd60df6614cc946e594fd084e20ace081' OR employees0_.relation_id = '8b1e622fef7f4756ded27a53e98922a4') AND (employees0_.stream = 'Neo')) OR employees0_.department = 'Sales' AND (employees0_.relation_id = '8w32f6618bc946e594fd084e20ace081' OR employees0_.relation_id = '8b1e622fef7f4756ded27a53e98922a4' OR employees0_.relation_id = 'd60df6614cc946e594fd084e20ace081' OR employees0_.relation_id = 'c4rtf6614cc946e594fd084e20ace081') AND (employees0_.stream IS NULL OR employees0_.stream = '' OR (employees0_.relation_id = '7c1e621fef6f4756bed27a53e97922b3' OR employees0_.relation_id = 'd60df6614cc946e594fd084e20ace081' OR employees0_.relation_id = '8b1e622fef7f4756ded27a53e98922a4') AND (employees0_.stream = 'Neo')) OR employees0_.department = 'Logistics' AND (employees0_.relation_id = '980df6618bc946e594fd084e20ace081' OR employees0_.relation_id = '800df6618bc946e594fd084e20ace081' OR employees0_.relation_id = '8w32f6618bc946e594fd084e20ace081' OR employees0_.relation_id = '8w32f6618bc946e594fd084e20ace092' OR employees0_.relation_id = '8b1e622fef7f4756ded27a53e98922a4' OR employees0_.relation_id = 'd60df6614cc946e594fd084e20ace081' OR employees0_.relation_id = 'c4rtf6614cc946e594fd084e20ace081' OR employees0_.relation_id = 'u4rtf6er4cc946e594fd084e20ace081' OR employees0_.relation_id = '8b1e622fef7f4756ded27a53e98922b5') AND (employees0_.stream IS NULL OR employees0_.stream = '' OR (employees0_.relation_id = '7c1e621fef6f4756bed27a53e97922b3' OR employees0_.relation_id = 'd60df6614cc946e594fd084e20ace081' OR employees0_.relation_id = '8b1e622fef7f4756ded27a53e98922a4') AND (employees0_.stream = 'Neo')) OR employees0_.department = 'Marketing' AND (employees0_.relation_id = '980df6618bc946e594fd084e20ace081' OR employees0_.relation_id = '8b1e622fef7f4756ded27a53e98922a4' OR employees0_.relation_id = 'd60df6614cc946e594fd084e20ace081') AND (employees0_.stream IS NULL OR employees0_.stream = '' OR (employees0_.relation_id = '7c1e621fef6f4756bed27a53e97922b3' OR employees0_.relation_id = 'd60df6614cc946e594fd084e20ace081' OR employees0_.relation_id = '8b1e622fef7f4756ded27a53e98922a4') AND (employees0_.stream = 'Neo'))) AND (employees0_.status = 'ENTERED' OR employees0_.status = 'WAITING_ONBOARDING' OR employees0_.status = 'ONBOARDED' OR employees0_.status = 'READY' OR employees0_.status = 'ACKNOWLEDGED' OR employees0_.status = 'ACTIVE' OR employees0_.status = 'RESIGNED' OR employees0_.status = 'TERMINATED') ORDER BY employees0_.start_date desc, employees0_.created_at desc LIMIT 10;`;
151-
});
152-
153132
</script>
154133
</html>

0 commit comments

Comments
 (0)