{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":162838,"defaultBranch":"main","name":"pgtap","ownerLogin":"theory","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2009-03-30T03:02:59.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/46604?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1712583846.0","currentOid":""},"activityList":{"items":[{"before":"dec77c4f5f7d276a1e5487ac7fabbabd93962763","after":"91f1c13b9a8ef06fc62003f427b52975fca48bf2","ref":"refs/heads/main","pushedAt":"2024-04-30T04:14:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Fix typo in bag_eq() docs","shortMessageHtmlLink":"Fix typo in bag_eq() docs"}},{"before":"56dc86b9f429e4f7b48d9b72fdac1ab1bf129bec","after":"dec77c4f5f7d276a1e5487ac7fabbabd93962763","ref":"refs/heads/main","pushedAt":"2024-04-08T13:45:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Increment to v1.3.4","shortMessageHtmlLink":"Increment to v1.3.4"}},{"before":"b941782fada240afdb7057065eb3261a21e8512c","after":"56dc86b9f429e4f7b48d9b72fdac1ab1bf129bec","ref":"refs/heads/main","pushedAt":"2024-04-08T13:44:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Increment to v1.3.4","shortMessageHtmlLink":"Increment to v1.3.4"}},{"before":"b67ed9317b5857c0f266bfed62d9754b74d0fa65","after":"b941782fada240afdb7057065eb3261a21e8512c","ref":"refs/heads/main","pushedAt":"2024-04-08T13:43:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Timestamp v1.3.3","shortMessageHtmlLink":"Timestamp v1.3.3"}},{"before":"f8aa683b8da09afc7e23aac07631f4e563cb7212","after":null,"ref":"refs/tags/v1.3.3","pushedAt":"2024-04-08T13:42:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}},{"before":"b0184e4fe90f2a1a45a74804bca2d5859f6e8867","after":"b67ed9317b5857c0f266bfed62d9754b74d0fa65","ref":"refs/heads/main","pushedAt":"2024-04-08T13:22:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Timestamp v1.3.3","shortMessageHtmlLink":"Timestamp v1.3.3"}},{"before":"b0184e4fe90f2a1a45a74804bca2d5859f6e8867","after":null,"ref":"refs/heads/to_regtypemod","pushedAt":"2024-04-08T13:17:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}},{"before":"f5d166b8b4f78a517b859fc40fa2f205a292e04d","after":"b0184e4fe90f2a1a45a74804bca2d5859f6e8867","ref":"refs/heads/main","pushedAt":"2024-04-08T13:17:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Use `to_regtypemod` on Postgres 17\n\nWhen running on Postgres 17 or higher, take advantage of the new\n`to_regtypemod` function to much more correctly and efficiently\nnormalize type names, including their type modifiers. Notably, interval\ntypes will now also be normalized, so note this fact in the docs.\n\nUpdate the CI testing to test on Postgres 17 and adjust patch offsets\nfor the line count change in `pgtap.sql.in`.","shortMessageHtmlLink":"Use to_regtypemod on Postgres 17"}},{"before":"b73509271ae49d1fee26ea33ba282c08c4e44b77","after":"b0184e4fe90f2a1a45a74804bca2d5859f6e8867","ref":"refs/heads/to_regtypemod","pushedAt":"2024-04-01T02:12:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Use `to_regtypemod` on Postgres 17\n\nWhen running on Postgres 17 or higher, take advantage of the new\n`to_regtypemod` function to much more correctly and efficiently\nnormalize type names, including their type modifiers. Notably, interval\ntypes will now also be normalized, so note this fact in the docs.\n\nUpdate the CI testing to test on Postgres 17 and adjust patch offsets\nfor the line count change in `pgtap.sql.in`.","shortMessageHtmlLink":"Use to_regtypemod on Postgres 17"}},{"before":"13e196deaab2ce8d71bdab57716c1e8538a14a7e","after":"b73509271ae49d1fee26ea33ba282c08c4e44b77","ref":"refs/heads/to_regtypemod","pushedAt":"2024-03-31T21:40:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Use `to_regtypemod` on Postgres 17\n\nWhen running on Postgres 17 or higher, take advantage of the new\n`to_regtypemod` function to much more correctly and efficiently\nnormalize type names, including their type modifiers. Notably, interval\ntypes will now also be normalized, so note this fact in the docs.\n\nUpdate the CI testing to test on Postgres 17 and adjust patch offsets\nfor the line count change in `pgtap.sql.in`.","shortMessageHtmlLink":"Use to_regtypemod on Postgres 17"}},{"before":null,"after":"13e196deaab2ce8d71bdab57716c1e8538a14a7e","ref":"refs/heads/to_regtypemod","pushedAt":"2024-03-31T21:38:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Use `to_regtypemod` on Postgres 17\n\nWhen running on Postgres 17 or higher, take advantage of the new\n`to_regtypemod` function to much more correctly and efficiently\nnormalize type names, including their type modifiers. Notably, interval\ntypes will now also be normalized, so note this fact in the docs.\n\nUpdate the CI testing to test on Postgres 17 and adjust patch offsets\nfor the line count change in `pgtap.sql.in`.","shortMessageHtmlLink":"Use to_regtypemod on Postgres 17"}},{"before":"02bc769c92c48d01e4c2f76db6523287017b45a9","after":"f5d166b8b4f78a517b859fc40fa2f205a292e04d","ref":"refs/heads/main","pushedAt":"2024-02-26T18:02:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Fix a couple of links in the documentation\n\nPGUnit seems to have dissappeared, and the GitHub link doesn't need or\nwant the `/tree`. Resolves #333.","shortMessageHtmlLink":"Fix a couple of links in the documentation"}},{"before":"f65094c19f0f025b34609c18c92a89edd37d0e76","after":"02bc769c92c48d01e4c2f76db6523287017b45a9","ref":"refs/heads/main","pushedAt":"2024-02-17T18:32:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Note `col_type_is`/`format_type_string` fix in Changes","shortMessageHtmlLink":"Note col_type_is/format_type_string fix in Changes"}},{"before":"4d42443c2e1e56b224740e558d1032c70a56e19f","after":"dff509fd1915aaf63d6fa43c9e03054ba3309f18","ref":"refs/heads/gh-pages","pushedAt":"2024-02-04T19:49:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Update docs to v1.3.2","shortMessageHtmlLink":"Update docs to v1.3.2"}},{"before":"0f62166098716e2de25b532018d50b364ff90cba","after":"f65094c19f0f025b34609c18c92a89edd37d0e76","ref":"refs/heads/main","pushedAt":"2024-02-04T19:04:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Increment to v1.3.3","shortMessageHtmlLink":"Increment to v1.3.3"}},{"before":"2bfb0108c5151530426448311cce509ff985735c","after":"0f62166098716e2de25b532018d50b364ff90cba","ref":"refs/heads/main","pushedAt":"2024-02-04T18:57:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Timestamp v1.3.2","shortMessageHtmlLink":"Timestamp v1.3.2"}},{"before":"2bfb0108c5151530426448311cce509ff985735c","after":null,"ref":"refs/heads/test-proc","pushedAt":"2024-02-04T18:46:43.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}},{"before":"1ace1532632eb82f5b2d38704aebad2eb79e3fa2","after":"2bfb0108c5151530426448311cce509ff985735c","ref":"refs/heads/main","pushedAt":"2024-02-04T18:46:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Test and document proc with function assertions\n\nAdd tests for all of the function assertion test functions to ensure\nthat they also work as expected with procedures. Document that support\nwhere appropriate. Closes #329.","shortMessageHtmlLink":"Test and document proc with function assertions"}},{"before":"1ace1532632eb82f5b2d38704aebad2eb79e3fa2","after":null,"ref":"refs/heads/reparse","pushedAt":"2024-02-04T18:36:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}},{"before":"c47f86226229b8c1b2281db8543c884586fb50b1","after":"1ace1532632eb82f5b2d38704aebad2eb79e3fa2","ref":"refs/heads/main","pushedAt":"2024-02-04T18:36:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Replace C parse_type() function with PL/pgSQL\n\nThe C code cause a number of challenges, including the requirement for a\nsuperuser to install the extension, and would require a fair bit of\nrefactoring to abide by [secure design principals]. It also makes\ninstallation difficult on Windows, and would likely be rejected by\norganizations like AWS that tend to balk at C code.\n\nSo delete the `parse_type()` function and all the C code added in\n4ec32e7 and rewrite the `format_type_string()` function based on the\nprototype that @ewie developed in the comments of #315. By looking up\nthe type output format function in the catalog, we're able to correctly\noutput the data type with its full SQL name as before. The exception is\ninterval types, which require the PostgreSQL grammar to parse the\ninterval fields (`second`, `interval minute`, etc.) into a bitmask for\nthe `typmod`. So require that they be specified exactly as PostgreSQL\noutputs them.\n\nMake adjustments to the patches to eliminate hunk offset messages due to\nthe changes to the SQL code, and upgrade `actions/checkout` to v4 to\neliminate warnings in the workflows.\n\n [secure design principals]: https://www.postgresql.org/docs/current/extend-extensions.html#EXTEND-EXTENSIONS-SECURITY","shortMessageHtmlLink":"Replace C parse_type() function with PL/pgSQL"}},{"before":"92495a7f609ca0fa83df1f77ada6bbb0b437131c","after":"2bfb0108c5151530426448311cce509ff985735c","ref":"refs/heads/test-proc","pushedAt":"2024-02-04T00:11:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Test and document proc with function assertions\n\nAdd tests for all of the function assertion test functions to ensure\nthat they also work as expected with procedures. Document that support\nwhere appropriate. Closes #329.","shortMessageHtmlLink":"Test and document proc with function assertions"}},{"before":"e36c460c3329acf3f64d1ecab922ba24c1d7902a","after":"92495a7f609ca0fa83df1f77ada6bbb0b437131c","ref":"refs/heads/test-proc","pushedAt":"2024-02-03T23:25:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Test and document proc with function assertions\n\nAdd tests for all of the function assertion test functions to ensure\nthat they also work as expected with procedures. Document that support\nwhere appropriate. Closes #329.","shortMessageHtmlLink":"Test and document proc with function assertions"}},{"before":null,"after":"e36c460c3329acf3f64d1ecab922ba24c1d7902a","ref":"refs/heads/test-proc","pushedAt":"2024-02-03T23:25:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Test and document proc with function assertions\n\nAdd tests for all of the function assertion test functions to ensure\nthat they also work as expected with procedures. Document that support\nwhere appropriate.","shortMessageHtmlLink":"Test and document proc with function assertions"}},{"before":"8fab510672e9fb940008c117590d045e13105e33","after":"1ace1532632eb82f5b2d38704aebad2eb79e3fa2","ref":"refs/heads/reparse","pushedAt":"2024-02-03T22:12:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Replace C parse_type() function with PL/pgSQL\n\nThe C code cause a number of challenges, including the requirement for a\nsuperuser to install the extension, and would require a fair bit of\nrefactoring to abide by [secure design principals]. It also makes\ninstallation difficult on Windows, and would likely be rejected by\norganizations like AWS that tend to balk at C code.\n\nSo delete the `parse_type()` function and all the C code added in\n4ec32e7 and rewrite the `format_type_string()` function based on the\nprototype that @ewie developed in the comments of #315. By looking up\nthe type output format function in the catalog, we're able to correctly\noutput the data type with its full SQL name as before. The exception is\ninterval types, which require the PostgreSQL grammar to parse the\ninterval fields (`second`, `interval minute`, etc.) into a bitmask for\nthe `typmod`. So require that they be specified exactly as PostgreSQL\noutputs them.\n\nMake adjustments to the patches to eliminate hunk offset messages due to\nthe changes to the SQL code, and upgrade `actions/checkout` to v4 to\neliminate warnings in the workflows.\n\n [secure design principals]: https://www.postgresql.org/docs/current/extend-extensions.html#EXTEND-EXTENSIONS-SECURITY","shortMessageHtmlLink":"Replace C parse_type() function with PL/pgSQL"}},{"before":"9ecce198b2b8776dd7bd45fbeaf9997bfec629d9","after":"8fab510672e9fb940008c117590d045e13105e33","ref":"refs/heads/reparse","pushedAt":"2024-02-03T22:01:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Replace C parse_type() function with PL/pgSQL\n\nThe C code cause a number of challenges, including the requirement for a\nsuperuser to install the extension, and would require a fair bit of\nrefactoring to abide by [secure design principals]. It also makes\ninstallation difficult on Windows, and would likely be rejected by\norganizations like AWS that tend to balk at C code.\n\nSo delete the `parse_type()` function and all the C code added in\n4ec32e7 and rewrite the `format_type_string()` function based on the\nprototype that @ewie developed in the comments of #315. By looking up\nthe type output format function in the catalog, we're able to correctly\noutput the data type with its full SQL name as before. The exception is\ninterval types, which require the PostgreSQL grammar to parse the\ninterval fields (`second`, `interval minute`, etc.) into a bitmask for\nthe `typmod`. So require that they be specified exactly as PostgreSQL\noutputs them.\n\n [secure design principals]: https://www.postgresql.org/docs/current/extend-extensions.html#EXTEND-EXTENSIONS-SECURITY","shortMessageHtmlLink":"Replace C parse_type() function with PL/pgSQL"}},{"before":null,"after":"9ecce198b2b8776dd7bd45fbeaf9997bfec629d9","ref":"refs/heads/reparse","pushedAt":"2024-02-03T22:00:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Replace C parse_type() function with PL/pgSQL\n\nThe C code cause a number of challenges, including the requirement for a\nsuperuser to install the extension, and would require a fair bit of\nrefactoring to abide by [secure design principals]. It also makes\ninstallation difficult on Windows, and would likely be rejected by\norganizations like AWS that tend to balk at C code.\n\nSo delete the `parse_type()` function and all the C code added in\n4ec32e7 and rewrite the `format_type_string()` function based on the\nprototype that @ewie developed in the comments of #315. By looking up\nthe type output format function in the catalog, we're able to correctly\noutput the data type with its full SQL name as before. The exception is\ninterval types, which require the PostgreSQL grammar to parse the\ninterval fields (`second`, `interval minute`, etc.) into a bitmask for\nthe `typmod`. So require that they be specified exactly as PostgreSQL\noutputs them.\n\n [secure design principals]: https://www.postgresql.org/docs/current/extend-extensions.html#EXTEND-EXTENSIONS-SECURITY","shortMessageHtmlLink":"Replace C parse_type() function with PL/pgSQL"}},{"before":"83b45855ccd494977202fb1fc8b13018c208bac2","after":"c47f86226229b8c1b2281db8543c884586fb50b1","ref":"refs/heads/main","pushedAt":"2023-10-02T19:26:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Update pgtap.mmd: minor corrections","shortMessageHtmlLink":"Update pgtap.mmd: minor corrections"}},{"before":"6fdae2bda7e4122f95d5d2265b67f613f31d1de6","after":"83b45855ccd494977202fb1fc8b13018c208bac2","ref":"refs/heads/main","pushedAt":"2023-09-24T16:16:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Rename master branch to main\n\nAnd remove all references to master (even unrelated ones). Everyone with\na local clone will need to update it;\n[instructions](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch#updating-a-local-clone-after-a-branch-name-changes):\n\n``` sh\ngit branch -m master main\ngit fetch origin\ngit branch -u origin/main main\ngit remote set-head origin -a\n```","shortMessageHtmlLink":"Rename master branch to main"}},{"before":"6fdae2bda7e4122f95d5d2265b67f613f31d1de6","after":null,"ref":"refs/heads/master","pushedAt":"2023-09-24T16:12:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"}},{"before":null,"after":"6fdae2bda7e4122f95d5d2265b67f613f31d1de6","ref":"refs/heads/main","pushedAt":"2023-09-24T16:12:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"theory","name":"David E. Wheeler","path":"/theory","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46604?s=80&v=4"},"commit":{"message":"Fix latest-changes.md make target","shortMessageHtmlLink":"Fix latest-changes.md make target"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEPZmeUwA","startCursor":null,"endCursor":null}},"title":"Activity ยท theory/pgtap"}