)]}'
{
  "commit": "9c0960efbe5e03c470f3d9b2b1048faa5c81222e",
  "tree": "6ee637d0d36eb9260b41c58a50f30fe7c016191c",
  "parents": [
    "b45283b9c632cd63b3be6c155f2f0ebf88b76d0a"
  ],
  "author": {
    "name": "John Gemignani",
    "email": "jrgemignani@gmail.com",
    "time": "Mon Aug 26 02:50:04 2024 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Aug 26 14:50:04 2024 +0500"
  },
  "message": "Fix memory leaks in functions part 1 (#2066)\n\nFixing memory leaks in functions due to contexts not clearing out\r\nthe memory soon enough.\r\n\r\nBackground: Destroying a context will free up its associated memory.\r\nHowever, before that happens, a process can still accumulate a lot of\r\nmemory working on large data sets if it expects the context free to do\r\nit for it. For example, when PG does quicksort the context isn\u0027t\r\ndestroyed until after the qs has finished. This can cause memory to be\r\nexhausted.\r\n\r\nPut in more aggressive freeing of memory. However, there are a lot of\r\nareas that need this applied. So, this is part 1 of at least 3 or 4\r\nparts.\r\n\r\nWorked mainly on `agtype.c` However, dealt with linked functions in\r\nother files.\r\n\r\n    modified:   src/backend/utils/adt/age_vle.c\r\n    modified:   src/backend/utils/adt/agtype.c\r\n    modified:   src/backend/utils/adt/agtype_util.c\r\n    modified:   src/include/utils/agtype.h",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ed094e952bd6f9ae493268881d4aa9b525bd0953",
      "old_mode": 33188,
      "old_path": "src/backend/utils/adt/age_vle.c",
      "new_id": "6f7efbbc3d3152a3539ae1f1200b82f3c5977f91",
      "new_mode": 33188,
      "new_path": "src/backend/utils/adt/age_vle.c"
    },
    {
      "type": "modify",
      "old_id": "345cb6531707bb13ba87fde39ea3fd82e04915f5",
      "old_mode": 33188,
      "old_path": "src/backend/utils/adt/agtype.c",
      "new_id": "c1266df3ee510fc382e5518cf96859f72a31bda5",
      "new_mode": 33188,
      "new_path": "src/backend/utils/adt/agtype.c"
    },
    {
      "type": "modify",
      "old_id": "dd590f09d2b54dc9453608ebea358ecbbd1334f0",
      "old_mode": 33188,
      "old_path": "src/backend/utils/adt/agtype_util.c",
      "new_id": "878f1844a0e361ccfbf8f7350b67d0102080e553",
      "new_mode": 33188,
      "new_path": "src/backend/utils/adt/agtype_util.c"
    },
    {
      "type": "modify",
      "old_id": "bafed69877f8d5301fb7fed512bf17bf4ddb8419",
      "old_mode": 33188,
      "old_path": "src/include/utils/agtype.h",
      "new_id": "e77f04536ed309bcc7c7515ad5135cc1593de79f",
      "new_mode": 33188,
      "new_path": "src/include/utils/agtype.h"
    }
  ]
}
