Skip to content

Commit

Permalink
Append instead of prepend sql comments
Browse files Browse the repository at this point in the history
  • Loading branch information
jmeunier28 committed Oct 26, 2023
1 parent 1d3d236 commit 3bc270d
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ public class SQLCommenter {
private static final char EQUALS = '=';
private static final char COMMA = ',';
private static final char QUOTE = '\'';
private static final String OPEN_COMMENT = "/*";
private static final String CLOSE_COMMENT = "*/ ";
private static final String OPEN_COMMENT = " /*";
private static final String CLOSE_COMMENT = "*/";
private static final int INITIAL_CAPACITY = computeInitialCapacity();

public static String inject(final String sql, final String dbService) {
Expand All @@ -44,26 +44,25 @@ public static String inject(
final String version = config.getVersion();
final int commentSize = capacity(traceParent, parentService, dbService, env, version);
StringBuilder sb = new StringBuilder(sql.length() + commentSize);
sb.append(sql);
sb.append(OPEN_COMMENT);
toComment(sb, injectTrace, parentService, dbService, env, version, traceParent);
if (sb.length() == 2) {
if (sb.length() == OPEN_COMMENT.length() + sql.length()) {
return sql;
}
sb.append(CLOSE_COMMENT);
sb.append(sql);
return sb.toString();
}

private static boolean hasDDComment(String sql) {
// first check to see if sql starts with a comment
if (!(sql.startsWith("/*"))) {
// first check to see if sql ends with a comment
if (!(sql.endsWith("*/"))) {
return false;
}
// else check to see if it's a DBM trace sql comment
int i = 2;
boolean found = false;
if (sql.length() > 2) {
// check if the next word starts with one of the specified keys
int i = sql.lastIndexOf("/*") + 2;
if (i >= 2) {
if (hasMatchingSubstring(sql, i, PARENT_SERVICE)) {
found = true;
} else if (hasMatchingSubstring(sql, i, DATABASE_SERVICE)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,25 +24,26 @@ class SQLCommenterTest extends AgentTestRunner {

where:
query | ddService | ddEnv | dbService | ddVersion | injectTrace | traceParent | expected
"SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-00" | "/*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-00'*/ SELECT * FROM foo"
"SELECT * FROM foo" | "" | "Test" | "" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-00" | "/*dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-00'*/ SELECT * FROM foo"
"SELECT * FROM foo" | "" | "Test" | "my-service" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-00" | "/*dddbs='my-service',dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-00'*/ SELECT * FROM foo"
"SELECT * FROM foo" | "" | "Test" | "" | "" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-00" | "/*dde='Test',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-00'*/ SELECT * FROM foo"
"SELECT * FROM foo" | "" | "" | "" | "" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-00" | "/*traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-00'*/ SELECT * FROM foo"
"SELECT * from FOO -- test query" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-01" | "/*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-01'*/ SELECT * from FOO -- test query"
"SELECT /* customer-comment */ * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-01" | "/*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-01'*/ SELECT /* customer-comment */ * FROM foo"
"SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion'*/ SELECT * FROM foo"
"SELECT /* customer-comment */ * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion'*/ SELECT /* customer-comment */ * FROM foo"
"SELECT * from FOO -- test query" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion'*/ SELECT * from FOO -- test query"
"SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-00" | "SELECT * FROM foo /*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-00'*/"
"{call dogshelterProc(?, ?)}" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-00" | "{call dogshelterProc(?, ?)} /*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-00'*/"
"SELECT * FROM foo" | "" | "Test" | "" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-00" | "SELECT * FROM foo /*dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-00'*/"
"SELECT * FROM foo" | "" | "Test" | "my-service" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-00" | "SELECT * FROM foo /*dddbs='my-service',dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-00'*/"
"SELECT * FROM foo" | "" | "Test" | "" | "" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-00" | "SELECT * FROM foo /*dde='Test',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-00'*/"
"SELECT * FROM foo" | "" | "" | "" | "" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-00" | "SELECT * FROM foo /*traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-00'*/"
"SELECT * from FOO -- test query" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-01" | "SELECT * from FOO -- test query /*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-01'*/"
"SELECT /* customer-comment */ * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-01" | "SELECT /* customer-comment */ * FROM foo /*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-01'*/"
"SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "SELECT * FROM foo /*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion'*/"
"SELECT /* customer-comment */ * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "SELECT /* customer-comment */ * FROM foo /*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion'*/"
"SELECT * from FOO -- test query" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "SELECT * from FOO -- test query /*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion'*/"
"" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-00" | ""
" " | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-01" | "/*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-01'*/ "
"/*dddbs='my-service',dde='Test',ddps='SqlCommenter',ddpv='TestVersion'*/ SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*dddbs='my-service',dde='Test',ddps='SqlCommenter',ddpv='TestVersion'*/ SELECT * FROM foo"
"/*dde='Test',ddps='SqlCommenter',ddpv='TestVersion'*/ SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*dde='Test',ddps='SqlCommenter',ddpv='TestVersion'*/ SELECT * FROM foo"
"/*ddps='SqlCommenter',ddpv='TestVersion'*/ SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*ddps='SqlCommenter',ddpv='TestVersion'*/ SELECT * FROM foo"
"/*ddpv='TestVersion'*/ SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*ddpv='TestVersion'*/ SELECT * FROM foo"
"/*ddjk its a customer */ SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion'*/ /*ddjk its a customer */ SELECT * FROM foo"
"/*traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-01'*/ SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-01'*/ SELECT * FROM foo"
"/*customer-comment*/ SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion'*/ /*customer-comment*/ SELECT * FROM foo"
"/*traceparent" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion'*/ /*traceparent"
" " | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | true | "00-00000000000000007fffffffffffffff-000000024cb016ea-01" | " /*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion',traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-01'*/"
"SELECT * FROM foo /*dddbs='my-service',dde='Test',ddps='SqlCommenter',ddpv='TestVersion'*/" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "SELECT * FROM foo /*dddbs='my-service',dde='Test',ddps='SqlCommenter',ddpv='TestVersion'*/"
"SELECT * FROM foo /*dde='Test',ddps='SqlCommenter',ddpv='TestVersion'*/" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "SELECT * FROM foo /*dde='Test',ddps='SqlCommenter',ddpv='TestVersion'*/"
"SELECT * FROM foo /*ddps='SqlCommenter',ddpv='TestVersion'*/" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "SELECT * FROM foo /*ddps='SqlCommenter',ddpv='TestVersion'*/"
"SELECT * FROM foo /*ddpv='TestVersion'*/" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "SELECT * FROM foo /*ddpv='TestVersion'*/"
"/*ddjk its a customer */ SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*ddjk its a customer */ SELECT * FROM foo /*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion'*/"
"SELECT * FROM foo /*traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-01'*/" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "SELECT * FROM foo /*traceparent='00-00000000000000007fffffffffffffff-000000024cb016ea-01'*/"
"/*customer-comment*/ SELECT * FROM foo" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*customer-comment*/ SELECT * FROM foo /*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion'*/"
"/*traceparent" | "SqlCommenter" | "Test" | "my-service" | "TestVersion" | false | null | "/*traceparent /*ddps='SqlCommenter',dddbs='my-service',dde='Test',ddpv='TestVersion'*/"
}
}

0 comments on commit 3bc270d

Please sign in to comment.