{
  "title" : "Duplication",
  "timestamp" : "2026-04-18 12:56:10",
  "duplicates" : [ {
    "blockSize" : 817,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/antlr4/UberScriptQuerySql.g4",
        "extension" : "g4",
        "linesOfCode" : 931,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 931,
      "startLine" : 138,
      "endLine" : 1060,
      "cleanedStartLine" : 115,
      "cleanedEndLine" : 931
    }, {
      "file" : {
        "relativePath" : "src/main/antlr4/UberScriptQueryTemplate.g4",
        "extension" : "g4",
        "linesOfCode" : 857,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 52,
      "endLine" : 974,
      "cleanedStartLine" : 41,
      "cleanedEndLine" : 857
    } ]
  }, {
    "blockSize" : 20,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/antlr4/UberScriptQuerySql.g4",
        "extension" : "g4",
        "linesOfCode" : 931,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 931,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    }, {
      "file" : {
        "relativePath" : "src/main/antlr4/UberScriptQueryTemplate.g4",
        "extension" : "g4",
        "linesOfCode" : 857,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 1,
      "endLine" : 20,
      "cleanedStartLine" : 1,
      "cleanedEndLine" : 20
    } ]
  }, {
    "blockSize" : 10,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/util/HttpUtils.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 51,
      "endLine" : 63,
      "cleanedStartLine" : 15,
      "cleanedEndLine" : 24
    }, {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/util/HttpUtils.java",
        "extension" : "java",
        "linesOfCode" : 100,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 65,
      "startLine" : 82,
      "endLine" : 94,
      "cleanedStartLine" : 37,
      "cleanedEndLine" : 46
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/execution/WriteCsvFileActionStatementExecutor.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/execution/WriteJsonFileActionStatementExecutor.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/execution/WriteCsvFileActionStatementExecutor.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/execution/WriteParquetFileActionStatementExecutor.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 9,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/execution/WriteJsonFileActionStatementExecutor.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    }, {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/execution/WriteParquetFileActionStatementExecutor.java",
        "extension" : "java",
        "linesOfCode" : 27,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 16,
      "startLine" : 16,
      "endLine" : 27,
      "cleanedStartLine" : 4,
      "cleanedEndLine" : 12
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/jdbc/SingleTableJdbcWriter.java",
        "extension" : "java",
        "linesOfCode" : 222,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 179,
      "endLine" : 185,
      "cleanedStartLine" : 104,
      "cleanedEndLine" : 110
    }, {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/jdbc/SingleTableJdbcWriter.java",
        "extension" : "java",
        "linesOfCode" : 222,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 169,
      "startLine" : 221,
      "endLine" : 227,
      "cleanedStartLine" : 136,
      "cleanedEndLine" : 142
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/antlr4/UberScriptQuerySql.g4",
        "extension" : "g4",
        "linesOfCode" : 931,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 931,
      "startLine" : 25,
      "endLine" : 33,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    }, {
      "file" : {
        "relativePath" : "src/main/antlr4/UberScriptQueryTemplate.g4",
        "extension" : "g4",
        "linesOfCode" : 857,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 857,
      "startLine" : 25,
      "endLine" : 33,
      "cleanedStartLine" : 22,
      "cleanedEndLine" : 28
    } ]
  }, {
    "blockSize" : 7,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/antlr4/parsing/QuerySqlParser.java",
        "extension" : "java",
        "linesOfCode" : 179,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 138,
      "startLine" : 83,
      "endLine" : 90,
      "cleanedStartLine" : 32,
      "cleanedEndLine" : 38
    }, {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/antlr4/parsing/QueryTemplateParser.java",
        "extension" : "java",
        "linesOfCode" : 81,
        "components" : [ "primary::src" ],
        "concerns" : [ "::Unclassified" ]
      },
      "sourceFileCleanedLinesOfCode" : 58,
      "startLine" : 46,
      "endLine" : 53,
      "cleanedStartLine" : 11,
      "cleanedEndLine" : 17
    } ]
  }, {
    "blockSize" : 6,
    "duplicatedFileBlocks" : [ {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/execution/QueryEngine.java",
        "extension" : "java",
        "linesOfCode" : 182,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 77,
      "endLine" : 84,
      "cleanedStartLine" : 28,
      "cleanedEndLine" : 33
    }, {
      "file" : {
        "relativePath" : "src/main/java/com/uber/uberscriptquery/execution/QueryEngine.java",
        "extension" : "java",
        "linesOfCode" : 182,
        "components" : [ "primary::src" ],
        "concerns" : [ "::TODOs" ]
      },
      "sourceFileCleanedLinesOfCode" : 132,
      "startLine" : 99,
      "endLine" : 106,
      "cleanedStartLine" : 43,
      "cleanedEndLine" : 48
    } ]
  } ],
  "overallDuplication" : null
}