)]}'
{
  "commit": "c9720833ffe545f1197ccbbd1aece16f646cf1b2",
  "tree": "c1d30e813f64d3b027e0c9ab85e857b0a5a9aee6",
  "parents": [
    "7a42f6b17cc31cc86c13462d53485274e6529da6"
  ],
  "author": {
    "name": "Rob Vesse",
    "email": "rob.vesse@telicent.io",
    "time": "Mon Sep 28 11:46:15 2026 +0100"
  },
  "committer": {
    "name": "Rob Vesse",
    "email": "rvesse@dotnetrdf.org",
    "time": "Tue Oct 06 14:24:42 2026 +0100"
  },
  "message": "Avoid unnecessary math computation\n\nVarious built-in SPARQL function libraries provide access to a range of\nmath computations.  However some of these can result in generating very\nlarge outputs that won\u0027t fit into the target type.  This commit adds a\nnew MathLimits static helper with pre-computation validation functions\nthat are called to check whether a given computation should be computed\nand throw an error if its output would be excessive.\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "efe497d72288801f57c2a4c9fb0dbe28c60825ff",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/MathLimits.java"
    },
    {
      "type": "modify",
      "old_id": "554cf45e552c2c790ff4122848563e1d67564e88",
      "old_mode": 33188,
      "old_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/Math_exp.java",
      "new_id": "b996b65f39a910cd743d73fa5c9abd7c1c1204ab",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/Math_exp.java"
    },
    {
      "type": "modify",
      "old_id": "70f9f87389bcdc88608a203703234afdf6770c8e",
      "old_mode": 33188,
      "old_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/Math_exp10.java",
      "new_id": "c9270157b2e8a9549c054f152717947aceacda99",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/Math_exp10.java"
    },
    {
      "type": "modify",
      "old_id": "b5d0d5761caa93d8332a06993921103a86cb8923",
      "old_mode": 33188,
      "old_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/Math_pow.java",
      "new_id": "e549aaf5f8cdad270434d29e370d5e4fa7f857c9",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/Math_pow.java"
    },
    {
      "type": "modify",
      "old_id": "d5dee55f6dbce2c1e999b3c74fb821e730ed90e1",
      "old_mode": 33188,
      "old_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/cartesian.java",
      "new_id": "e63cb4f3662849ac1c9f50b9aea43bb1bdb782ef",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/cartesian.java"
    },
    {
      "type": "modify",
      "old_id": "c4aee9f2f2b15a63300abbccf7ceda26b261570a",
      "old_mode": 33188,
      "old_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/cube.java",
      "new_id": "136afa9d7d2d38179471d3607cfc3587b3d65456",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/cube.java"
    },
    {
      "type": "modify",
      "old_id": "66abdf252f597cee81fd91701875a12e2a877df2",
      "old_mode": 33188,
      "old_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/e.java",
      "new_id": "18ca67e3f90e720456562b0ec85a5994cfadcb38",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/e.java"
    },
    {
      "type": "modify",
      "old_id": "d8692e215aa2d4d1b539c3952ef5932b776cea07",
      "old_mode": 33188,
      "old_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/factorial.java",
      "new_id": "17935d498bd3d84ffde8b2d814169ead90bc799d",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/factorial.java"
    },
    {
      "type": "modify",
      "old_id": "b32a4e33696b266026e7fab3ddfcbb32bf73ad5f",
      "old_mode": 33188,
      "old_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/pow.java",
      "new_id": "38d84a818cee3efb4ab876a9d22fcc3e39ca86f4",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/pow.java"
    },
    {
      "type": "modify",
      "old_id": "da691f9538e2e944abcd2994932963fd81edfe74",
      "old_mode": 33188,
      "old_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/pythagoras.java",
      "new_id": "044419ed9f18f5a07f1984891984391e167bb544",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/pythagoras.java"
    },
    {
      "type": "modify",
      "old_id": "e133217c72a25fc467db9e58f57628ed32d3ce25",
      "old_mode": 33188,
      "old_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/root.java",
      "new_id": "71636461f69614350278bc49df1d60f396f848e6",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/root.java"
    },
    {
      "type": "modify",
      "old_id": "077f623cb5e1fbb47c7a1e71f509813a992f3327",
      "old_mode": 33188,
      "old_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/sq.java",
      "new_id": "d318869112b2e56faa6852f55179c9c1c41051f4",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/sq.java"
    },
    {
      "type": "modify",
      "old_id": "9afcf110152c4a182b1f36884948a37ac3a113da",
      "old_mode": 33188,
      "old_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/ten.java",
      "new_id": "bf8888592221328476463e7fd62e9f819bc84bf0",
      "new_mode": 33188,
      "new_path": "jena-arq/src/main/java/org/apache/jena/sparql/function/library/leviathan/ten.java"
    },
    {
      "type": "modify",
      "old_id": "5cf9044355b72cca6abb95dcf8aeddd41cf03478",
      "old_mode": 33188,
      "old_path": "jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestTransformConstantFolding.java",
      "new_id": "c77b37706803b283be9570e67d2046a38e3fdbd5",
      "new_mode": 33188,
      "new_path": "jena-arq/src/test/java/org/apache/jena/sparql/algebra/optimize/TestTransformConstantFolding.java"
    },
    {
      "type": "modify",
      "old_id": "a40ef65e446db2f4895d0fdd1596c1f1affc3787",
      "old_mode": 33188,
      "old_path": "jena-arq/src/test/java/org/apache/jena/sparql/expr/LibTestExpr.java",
      "new_id": "ce4ad057edd0b4a0f693c56cd38bfa89403bbcc2",
      "new_mode": 33188,
      "new_path": "jena-arq/src/test/java/org/apache/jena/sparql/expr/LibTestExpr.java"
    },
    {
      "type": "modify",
      "old_id": "45161d3fd393b5e01761b4749a0209ecac024123",
      "old_mode": 33188,
      "old_path": "jena-arq/src/test/java/org/apache/jena/sparql/expr/TestLeviathanFunctions.java",
      "new_id": "e0efa3665cb90ec8beb0919c7100de7cfdeab41b",
      "new_mode": 33188,
      "new_path": "jena-arq/src/test/java/org/apache/jena/sparql/expr/TestLeviathanFunctions.java"
    },
    {
      "type": "modify",
      "old_id": "75bbe27a6438fc281e97b5681748d99b7ae5883e",
      "old_mode": 33188,
      "old_path": "jena-arq/src/test/java/org/apache/jena/sparql/function/library/TS_LibraryFunctions.java",
      "new_id": "b6eb8c7a12210684a649a03e8cb3df250caa2a30",
      "new_mode": 33188,
      "new_path": "jena-arq/src/test/java/org/apache/jena/sparql/function/library/TS_LibraryFunctions.java"
    },
    {
      "type": "modify",
      "old_id": "5c08e9f8e44a787403f53bdbd17940348bd05311",
      "old_mode": 33188,
      "old_path": "jena-arq/src/test/java/org/apache/jena/sparql/function/library/TestFnFunctionsNumeric.java",
      "new_id": "821d512daf3814a25f0a8f84929f1f7da069d1f1",
      "new_mode": 33188,
      "new_path": "jena-arq/src/test/java/org/apache/jena/sparql/function/library/TestFnFunctionsNumeric.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9b058aa6a9e49e965e0b539ea6254f3aab471094",
      "new_mode": 33188,
      "new_path": "jena-arq/src/test/java/org/apache/jena/sparql/function/library/TestMathLimits.java"
    }
  ]
}
