{"record":{"id":"6af1111c2dbbb90a","repo":"pinpoint-apm/pinpoint","slug":"syntax-error-expected-token-literal-token-6af111","errorCode":null,"errorMessage":"Syntax error. Expected token='LITERAL' :<token>","messagePattern":"Syntax error\\. Expected token='LITERAL' :<token>","errorType":"validation","errorClass":"OracleConnectionStringException","httpStatus":null,"severity":"error","filePath":"agent-module/plugins/oracle-jdbc/src/main/java/com/navercorp/pinpoint/plugin/jdbc/oracle/parser/OracleNetConnectionDescriptorTokenizer.java","lineNumber":232,"sourceCode":"        Token token = this.nextToken();\n        if (token == null) {\n            throw new OracleConnectionStringException(\"parse error. token is null. Expected token='LITERAL'\");\n        }\n        // We can check by == because the token object is singleton.\n        if (!(token.getType() == TYPE_LITERAL)) {\n            throw new OracleConnectionStringException(\"Syntax error. Expected token='LITERAL'' :\" + token.getToken());\n        }\n        return token;\n    }\n\n    public Token getLiteralToken(String expectedValue) {\n        Token token = this.nextToken();\n        if (token == null) {\n            throw new OracleConnectionStringException(\"parse error. token is null. Expected token='LITERAL'\");\n        }\n        // We can check by == because the token object is singleton.\n        if (!(token.getType() == TYPE_LITERAL)) {\n            throw new OracleConnectionStringException(\"Syntax error. Expected token='LITERAL' :\" + token.getToken());\n        }\n        if (!expectedValue.equals(token.getToken())) {\n            throw new OracleConnectionStringException(\"Syntax error. Expected token=\" + expectedValue + \"' :\" + token.getToken());\n        }\n        return token;\n    }\n}\n","sourceCodeStart":214,"sourceCodeEnd":240,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/agent-module/plugins/oracle-jdbc/src/main/java/com/navercorp/pinpoint/plugin/jdbc/oracle/parser/OracleNetConnectionDescriptorTokenizer.java#L214-L240","documentation":"Parser guard in getLiteralToken(String expectedValue): the token's type was literal but its text did not equal the expected literal keyword required at this position of the Oracle descriptor grammar, so parsing aborts as a syntax mismatch.","triggerScenarios":"Thrown at agent-module/plugins/oracle-jdbc/src/main/java/com/navercorp/pinpoint/plugin/jdbc/oracle/parser/OracleNetConnectionDescriptorTokenizer.java:232 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use the exact keyword the descriptor grammar expects at that position (case/format sensitive)","Compare the failing token text in the message with the expected value and correct the URL"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"744c3d3075e595656abb1ae331ad2c0e4c9eb996","analyzedAt":"2026-09-07T18:48:45.289Z","contentChangedAt":"2026-09-07T18:48:45.289Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}