{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":72486161,"defaultBranch":"main","name":"skeema","ownerLogin":"skeema","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-10-31T23:18:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/18493113?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716503736.0","currentOid":""},"activityList":{"items":[{"before":"058e4db4e23f35af8dce65757d48a6e4b8d6efd6","after":"94f8475b1d5e102b106b37ab57c5ad328f2ffff8","ref":"refs/heads/main","pushedAt":"2024-06-05T02:52:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"MariaDB 11.4 support\n\nThis commit marks MariaDB 11.4 as a supported DB flavor, now that its GA\nrelease occurred on 29 May 2024.\n\nMariaDB 11.4 is a new LTS version series. Our GitHub Actions CI configuration\nis still going to use the previous LTS (MariaDB 10.11) for now, but will be\nupdated to 11.4 at some point in the future, once more of the MariaDB\ncommunity has upgraded to 11.4.\n\nNone of MariaDB 11.4 changes required modifications in Skeema's code, and all\nintegration tests pass as-is when run using SKEEMA_TEST_IMAGES=mariadb:11.4.\n\nSkeema's baseline TLS support is compatible with MariaDB 11.4's new automatic\nself-signed server certificates, similar to the behavior of MySQL 5.7+.\nConfiguring Skeema to use --ssl-mode=required works as expected with MariaDB\n11.4 out of the box.\n\nServer name verification of self-signed certificates (using Skeema Premium's\noption --ssl-verify-server-cert) still requires supplying the CA PEM file to\nSkeema, as it does for MySQL. Although the `mariadb` command-line client now\nhas a new automatic ability to verify self-signed server certificates (as\ndescribed in MDEV-31855), the Golang database driver would need special\nsupport for this authentication scheme first in order to eventually provide\nthis functionality in Skeema.\n\nThis commit also tweaks the wording of the too-new server version warning log\nmessage (introduced in a45dbf2 in March) to avoid repeating the same word\ntwice.","shortMessageHtmlLink":"MariaDB 11.4 support"}},{"before":"38f22f0557466bbb4193d1d49b9595c1a5a71baa","after":"058e4db4e23f35af8dce65757d48a6e4b8d6efd6","ref":"refs/heads/main","pushedAt":"2024-05-31T20:59:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"internal workspace tweak: use result struct for instance metadata\n\nIn recent commit c151901, whenever a workspace schema is introspected, the\nunderlying database instance's flavor value was added to the returned\ninformation. In that commit, the flavor was returned as a separate return\nvalue.\n\nThe shortcoming to that approach is awkwardness in adding further metadata\nfields to the introspection result. So this commit now refactors that logic\nslightly, in order to use a new intermediate result struct. In addition, the\nreturned result now includes the workspace session's sql_mode value, alongside\nthe introspected schema and the instance flavor.\n\nThe sql_mode value is not used by any Community Edition features yet, but it\nmay be useful in the future, and it will immediately be used in a new Premium\nEdition feature under development.","shortMessageHtmlLink":"internal workspace tweak: use result struct for instance metadata"}},{"before":"45d66b6e4525b471ae5332b564941194203399c2","after":"38f22f0557466bbb4193d1d49b9595c1a5a71baa","ref":"refs/heads/main","pushedAt":"2024-05-28T23:46:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"lint-fk-parent: adjust annotation text\n\nWhen MySQL 8.4 was first released, its documentation did not mention the\nforeign key changes in this release; see discussion on MySQL bug 114838.\nHowever, Oracle has now updated their release notes and manual to cover this\nchange, which points to bug 97836 as a primary motivator: if the parent side\nof a foreign key constraint lacks a UNIQUE KEY on the exact referenced\ncolumns, this can break group replication when multi-threaded applier is in\nuse.\n\nNow that the full motivation for this FK change is known, this commit updates\nthe annotation message for lint-fk-parent accordingly.\n\nMore background in our blog post, which has now been updated as well:\nhttps://www.skeema.io/blog/2024/05/14/mysql84-surprises/#foreign-key-restrictions","shortMessageHtmlLink":"lint-fk-parent: adjust annotation text"}},{"before":"c849f8da64bec6eb4289097428b43e12abdea815","after":null,"ref":"refs/heads/lint-fk-parent","pushedAt":"2024-05-23T22:35:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"}},{"before":"c151901616a5f4dae3a4352ffe6cac649ac21cfa","after":"45d66b6e4525b471ae5332b564941194203399c2","ref":"refs/heads/main","pushedAt":"2024-05-23T22:21:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"linter: add new check lint-fk-parent\n\nThis commit adds a new linter check/option, lint-fk-parent, which detects two\ntypes of issues with the parent-side table of a foreign key constraint:\n\n* Parent table does not exist\n* Parent table lacks a unique constraint covering the exact referenced columns\n\nThe latter problem is especially relevant in MySQL 8.4. For more information\nsee https://www.skeema.io/blog/2024/05/14/mysql84-surprises/#foreign-key-restrictions\n\nThis linter check does not ever flag foreign keys which extend across schema\n(database) boundaries, since Skeema's workspace model only operates on a\nsingle schema at a time.\n\nThe logic for this linter check was originally inspired by pull request #79\nfrom 2019. This new commit is being merged to main along with preceding commit\ndb33690 from that PR, in order to assign credit to the author; however this\ncommit must fully rewrite/remove that older commit due to underlying code\nstructure changes in the past five years. Also, it was not possible to merge\nthat old PR directly today due to change of Skeema's default branch name.\n\nSeparate from the new linter check, this commit also makes some minor tweaks\nto the linter package:\n\n* Old test logic relating to the no-longer-relevant MariaDB server variable\n innodb_read_only_compressed has been removed; this variable isn't enabled\n by default in any MariaDB release since Feb 2022\n\n* Linter logic will now panic upon a duplicate attempt to register the same\n check name, as this indicates programmer error / copypasta\n\n* lint-has-fk will now properly set the annotation line number even if\n multiple spaces occur between the keywords FOREIGN and KEY.","shortMessageHtmlLink":"linter: add new check lint-fk-parent"}},{"before":"61cd331759fae604a9ae7c1f06fea9eb0963d126","after":"c849f8da64bec6eb4289097428b43e12abdea815","ref":"refs/heads/lint-fk-parent","pushedAt":"2024-05-23T21:56:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"linter: add new check lint-fk-parent\n\nThis commit adds a new linter check/option, lint-fk-parent, which detects two\ntypes of issues with the parent-side table of a foreign key constraint:\n\n* Parent table does not exist\n* Parent table lacks a unique constraint covering the exact referenced columns\n\nThe latter problem is especially relevant in MySQL 8.4. For more information\nsee https://www.skeema.io/blog/2024/05/14/mysql84-surprises/#foreign-key-restrictions\n\nThe logic for this linter check was originally inspired by pull request 79\nfrom 2019.\n\nThis linter check does not ever flag foreign keys which extend across schema\n(database) boundaries, since Skeema's workspace model only operates on a\nsingle schema at a time.\n\nSeparate from the new linter check, this commit also makes some minor tweaks\nto the linter package:\n\n* Old test logic relating to the no-longer-relevant MariaDB server variable\n innodb_read_only_compressed has been removed; this variable isn't enabled\n by default in any MariaDB release since Feb 2022\n\n* Linter logic will now panic upon a duplicate attempt to register the same\n check name, as this indicates programmer error / copypasta\n\n* lint-has-fk will now properly set the annotation line number even if\n multiple spaces occur between the keywords FOREIGN and KEY.","shortMessageHtmlLink":"linter: add new check lint-fk-parent"}},{"before":"e1f9374dcabf4efe8edff01db33611e9ff5746c1","after":"61cd331759fae604a9ae7c1f06fea9eb0963d126","ref":"refs/heads/lint-fk-parent","pushedAt":"2024-05-21T02:48:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"wip: refactor #79 into new lint-fk-parent [ci skip]\n\n*** This is a work-in-progress commit, which will be rebased/amended ***","shortMessageHtmlLink":"wip: refactor #79 into new lint-fk-parent [ci skip]"}},{"before":"0cee520ea88744e02e742db578f160b016c04d07","after":"e1f9374dcabf4efe8edff01db33611e9ff5746c1","ref":"refs/heads/lint-fk-parent","pushedAt":"2024-05-20T22:16:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"wip: refactor #79 into new lint-fk-parent [ci skip]\n\n*** This is a work-in-progress commit, which will be rebased/amended ***","shortMessageHtmlLink":"wip: refactor #79 into new lint-fk-parent [ci skip]"}},{"before":null,"after":"0cee520ea88744e02e742db578f160b016c04d07","ref":"refs/heads/lint-fk-parent","pushedAt":"2024-05-20T20:04:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"wip: refactor #79 into new lint-fk-parent [ci skip]\n\n*** This is a work-in-progress commit, which will be rebased/amended ***","shortMessageHtmlLink":"wip: refactor #79 into new lint-fk-parent [ci skip]"}},{"before":"62061aa11445b3312e3f344e781b94cbf474bc47","after":null,"ref":"refs/heads/wip-linter-actual-flavor","pushedAt":"2024-05-16T20:46:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"}},{"before":"992dd60214449f60c47d45a8d06c7bcf24868ad5","after":"c151901616a5f4dae3a4352ffe6cac649ac21cfa","ref":"refs/heads/main","pushedAt":"2024-05-16T20:46:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"linter: ignore incorrect flavor overrides\n\nSome linter checks rely on the flavor value in their logic or annotation text.\nPreviously, this value was populated based on the configured value of the\n\"flavor\" option, from either the directory .skeema file or a command-line\noverride. However, the configured value does not necessarily match the\nworkspace database instance, especially when using the default of\nworkspace=temp-schema. For example, if you upgrade your database server, the\n.skeema file's flavor value is only updated automatically if you run `skeema\npull`.\n\nThis commit solves the problem by using the actual flavor value from the\nworkspace database instance. This ensures the introspected schema and flavor\nvalue are aligned, and has the added benefit of making the specific patch\n(point release) version number available to linter logic as well.","shortMessageHtmlLink":"linter: ignore incorrect flavor overrides"}},{"before":null,"after":"62061aa11445b3312e3f344e781b94cbf474bc47","ref":"refs/heads/wip-linter-actual-flavor","pushedAt":"2024-05-15T22:01:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"wip: linter: ignore incorrect flavor overrides\n\nSome linter checks rely on the flavor value in their logic or annotation text.\nPreviously, this value was populated based on the configured value of the\n\"flavor\" option, which is not guaranteed to be correct, especially when using\nthe default of workspace=temp-schema.\n\nThis commit solves the problem by using the actual flavor value from the\nworkspace. This ensures the introspected schema and flavor value are aligned.","shortMessageHtmlLink":"wip: linter: ignore incorrect flavor overrides"}},{"before":"9f4959138bf30c632af73f0e20e340584634c4ca","after":"992dd60214449f60c47d45a8d06c7bcf24868ad5","ref":"refs/heads/main","pushedAt":"2024-05-15T20:20:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"lint-reserved-word: two corrections for MySQL 8.2-8.3\n\nThis commit fixes two minor inaccuracies in the reserved word handling:\n\n* \"parallel\" became reserved starting in MySQL 8.2 (not 8.4 as listed before)\n* \"qualify\" became reserved starting in MySQL 8.3 (not 8.4 as listed before)\n\nThese were omitted from the original 8.2 and 8.3 compatibility commits due to\ninaccuracies in I_S.keywords (https://bugs.mysql.com/bug.php?id=114874) and\nMySQL manual issues (https://bugs.mysql.com/bug.php?id=114875). The MySQL\ndocumentation team fixed the latter issue within a few hours of the report,\nand also helpfully provided a link to a better document for version-by-version\nchanges, https://dev.mysql.com/doc/mysqld-version-reference/en/keywords.html,\nwhich will be used as the source-of-truth here moving forwards.","shortMessageHtmlLink":"lint-reserved-word: two corrections for MySQL 8.2-8.3"}},{"before":"9d5da53f8f39ea03e25023dce34f2d44edb7ef21","after":null,"ref":"refs/heads/wip-sql-processor-perf-may2024","pushedAt":"2024-05-10T21:53:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"}},{"before":"4674f9071d1847fcf0b65d8d23e673076cb0ce7e","after":"9f4959138bf30c632af73f0e20e340584634c4ca","ref":"refs/heads/main","pushedAt":"2024-05-10T21:53:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"SQL processor: improve performance and reduce allocations\n\nThis commit improves the SQL processor performance, and reduces allocations by\n45-70%. This is achieved by removing sort operations, removing strings.Count\ncalls, reducing string case conversions, changing the order of various\ncomparisons, and basing more logic on string length (which Golang stores in\nthe string header, so it is very efficient to use).","shortMessageHtmlLink":"SQL processor: improve performance and reduce allocations"}},{"before":"c80e16bbceb83ac8f9741d18db4cdae823273893","after":"9d5da53f8f39ea03e25023dce34f2d44edb7ef21","ref":"refs/heads/wip-sql-processor-perf-may2024","pushedAt":"2024-05-10T19:57:40.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"SQL processor: improve performance and reduce allocations\n\nThis commit improves the SQL processor performance, and reduces allocations by\n45-55%. This is achieved by removing sort operations, removing strings.Count\ncalls, reducing string case conversions, changing the order of various\ncomparisons, and basing more logic on string length (which Golang stores in\nthe string header, so it is very efficient to use).","shortMessageHtmlLink":"SQL processor: improve performance and reduce allocations"}},{"before":"b0035f9dccd2b4333db09eee412e8a773a4212ea","after":"c80e16bbceb83ac8f9741d18db4cdae823273893","ref":"refs/heads/wip-sql-processor-perf-may2024","pushedAt":"2024-05-09T23:38:14.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"SQL processor: improve performance and reduce allocations\n\nThis commit improves the SQL processor performance, and reduces allocations by\n45-55%. This is achieved by removing sort operations, removing strings.Count\ncalls, reducing string case conversions, changing the order of various\ncomparisons, and basing more logic on string length (which Golang stores in\nthe string header, so it is very efficient to use).","shortMessageHtmlLink":"SQL processor: improve performance and reduce allocations"}},{"before":"ad2d6ebc82a634d100b3fd245ecb695b444a6b5a","after":"b0035f9dccd2b4333db09eee412e8a773a4212ea","ref":"refs/heads/wip-sql-processor-perf-may2024","pushedAt":"2024-05-09T23:23:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"SQL processor: improve performance and reduce allocations\n\nThis commit improves the SQL processor performance, and reduces allocations by\n45-55%. This is achieved by removing sort operations, removing strings.Count\ncalls, changing the order of various comparisons, and basing more logic on\nstring length (which Golang stores in the string header, so it is very\nefficient to use).","shortMessageHtmlLink":"SQL processor: improve performance and reduce allocations"}},{"before":"4031fd9b7c364abb83a3dbcd299d1d215e3fa1c2","after":"ad2d6ebc82a634d100b3fd245ecb695b444a6b5a","ref":"refs/heads/wip-sql-processor-perf-may2024","pushedAt":"2024-05-09T05:04:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"wip: SQL processor: improve performance and reduce allocations\n\n*** This commit is a work-in-progress and will be amended/rebased. ***\n\nThis commit improves the SQL processor performance, and reduces allocations by\n45-55%.","shortMessageHtmlLink":"wip: SQL processor: improve performance and reduce allocations"}},{"before":"ba4170db7837038e72466a04ac1779006093ad61","after":"4031fd9b7c364abb83a3dbcd299d1d215e3fa1c2","ref":"refs/heads/wip-sql-processor-perf-may2024","pushedAt":"2024-05-09T04:36:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"wip: SQL processor: improve performance and reduce allocations\n\n*** This commit is a work-in-progress and will be amended/rebased. ***\n\nThis commit improves the SQL processor performance, and reduces allocations by\n45-55%.","shortMessageHtmlLink":"wip: SQL processor: improve performance and reduce allocations"}},{"before":"057d13a580035985198307d8c84ac9a4e2b0f383","after":"ba4170db7837038e72466a04ac1779006093ad61","ref":"refs/heads/wip-sql-processor-perf-may2024","pushedAt":"2024-05-08T23:11:59.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"wip: SQL processor: improve performance and reduce allocations\n\n*** This commit is a work-in-progress and will be amended/rebased. ***\n\nThis commit improves the SQL processor performance, and reduces allocations by\n45-55%.","shortMessageHtmlLink":"wip: SQL processor: improve performance and reduce allocations"}},{"before":null,"after":"057d13a580035985198307d8c84ac9a4e2b0f383","ref":"refs/heads/wip-sql-processor-perf-may2024","pushedAt":"2024-05-08T20:46:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"wip: SQL processor: improve performance and reduce allocations\n\n*** This commit is a work-in-progress and will be amended/rebased. ***\n\nThis commit improves the SQL processor performance, and reduces allocations by\n45-55%.","shortMessageHtmlLink":"wip: SQL processor: improve performance and reduce allocations"}},{"before":"055cbcd21df6edc7f0bc990a5cf77147a273cf05","after":null,"ref":"refs/heads/wip-mysql-8.4","pushedAt":"2024-05-03T22:21:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"}},{"before":"e69630b75be6485f1c5a0849a25e6848cd420810","after":"4674f9071d1847fcf0b65d8d23e673076cb0ce7e","ref":"refs/heads/main","pushedAt":"2024-05-03T22:21:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"MySQL 8.4 support\n\nThis commit adds support for MySQL 8.4, which was released on 30 April 2024.\n\nChanges in this commit include:\n\n* lint-reserved-word changes: MySQL 8.4 adds 4 new reserved words, and also\n \"un-reserves\" 2 previously-reserved words. This is the first time the server\n has ever \"un-reserved\" words, so the linter check's logic had to be updated\n to handle this situation.\n\n* Integration testing for foreign keys have been updated to use a UNIQUE index\n on the parent table's referenced columns. Surprisingly, MySQL 8.4.0 no\n longer permits non-unique indexes to be used in this situation. This is most\n likely a server bug; see https://bugs.mysql.com/bug.php?id=114838\n\n* Integration testing for the temp-schema-binlog option required modifications\n to run on MySQL 8.4, since SHOW MASTER STATUS has been removed and is now\n replaced by SHOW BINARY LOG STATUS.\n\n* CI now tests against MySQL 8.4, instead of 8.0, since 8.4 essentially covers\n all 8.0-specific behaviors plus some new ones.\n\n* Refactored a server error classification function from the previous commit.","shortMessageHtmlLink":"MySQL 8.4 support"}},{"before":"56a6621970d8459208b8068ef3cde8742ccfa589","after":"055cbcd21df6edc7f0bc990a5cf77147a273cf05","ref":"refs/heads/wip-mysql-8.4","pushedAt":"2024-05-03T22:09:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"wip: MySQL 8.4 support\n\n*** This is a work-in-progress commit, which will be amended/rewritten! ***\n*** TODO: manual testing of lint-reserved-word changes ***\n\nThis commit adds support for MySQL 8.4, which was released on April 30.\n\nChanges in this commit include:\n\n* lint-reserved-word changes: MySQL 8.4 adds 4 new reserved words, and also\n \"un-reserves\" 2 previously-reserved words. This is the first time the server\n has ever \"un-reserved\" words, so the linter check's logic had to be updated\n to handle this situation.\n\n* Integration tests for foreign keys have been updated to use a UNIQUE index\n on the parent table's referenced columns. Surprisingly, MySQL 8.4.0 no\n longer permits non-unique indexes to be used in this situation. This is most\n likely a server bug; see https://bugs.mysql.com/bug.php?id=114838\n\n* Integration testing for the temp-schema-binlog option required modifications\n to run on MySQL 8.4, since SHOW MASTER STATUS has been removed and is now\n replaced by SHOW BINARY LOG STATUS.\n\n* CI now tests against MySQL 8.4, instead of 8.0, since 8.4 essentially covers\n all 8.0-specific behaviors plus some new ones.","shortMessageHtmlLink":"wip: MySQL 8.4 support"}},{"before":"e69630b75be6485f1c5a0849a25e6848cd420810","after":null,"ref":"refs/heads/wip-error-number-refactor","pushedAt":"2024-05-03T03:14:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"}},{"before":"10021fe475bcd1a46f06f272c91790c1146f43ce","after":"e69630b75be6485f1c5a0849a25e6848cd420810","ref":"refs/heads/main","pushedAt":"2024-05-03T03:04:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"internal refactor: SQL error number handling\n\nThis commit refactors code relating to detection of specific server error\nnumbers. Previously, this logic relied on constants in an external package\ngithub.com/VividCortex/mysqlerr, but that package is obsolete: it is no\nlonger being updated with new errors from recent server releases.\n\nIn this commit, we now track only the relevant error codes internally, and\nexpose new helper functions which are used by the appropriate callsites.\n\nThis refactor was motivated by an overall desire to avoid unnecessary\nexternal module dependencies, which was made more urgent due to MySQL 8.4's\nintroduction of new error codes (to be handled in a subsequent commit).\n\nThis commit also removes tengo.IsAccessError(), which was dead code.","shortMessageHtmlLink":"internal refactor: SQL error number handling"}},{"before":"c33eda49f344875ea21ab34f370a8b0db298e903","after":"56a6621970d8459208b8068ef3cde8742ccfa589","ref":"refs/heads/wip-mysql-8.4","pushedAt":"2024-05-03T03:04:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"wip: MySQL 8.4 support [ci skip]\n\n*** This is a work-in-progress commit, which will be amended/rewritten! ***\n*** TODO: investigate SkeemaIntegrationSuite.TestForeignKeys failures ***\n*** TODO: manual testing of lint-reserved-word changes ***\n\nThis commit adds support for MySQL 8.4, which was released on April 30.\n\nChanges in this commit include:\n\n* lint-reserved-word changes: MySQL 8.4 adds 4 new reserved words, and also\n \"un-reserves\" 2 previously-reserved words. This is the first time the server\n has ever \"un-reserved\" words, so the linter check's logic had to be updated\n to handle this situation.\n\n* When concurrently running multiple CREATE TABLE statements in a workspace,\n if foreign keys are in-use and the CREATEs conflict, the error code returned\n by the server has changed. Skeema must catch the new error code in order to\n retry these failed CREATE TABLEs serially.\n\n* Integration testing for the temp-schema-binlog option required modifications\n to run on MySQL 8.4, since SHOW MASTER STATUS has been removed and is now\n replaced by SHOW BINARY LOG STATUS.\n\n* CI now tests against MySQL 8.4, instead of 8.0, since 8.4 essentially covers\n all 8.0-specific behaviors plus some new ones.","shortMessageHtmlLink":"wip: MySQL 8.4 support [ci skip]"}},{"before":"e79b98df9abd6a3be688bff18041eccc141899a8","after":"e69630b75be6485f1c5a0849a25e6848cd420810","ref":"refs/heads/wip-error-number-refactor","pushedAt":"2024-05-03T02:54:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"internal refactor: SQL error number handling\n\nThis commit refactors code relating to detection of specific server error\nnumbers. Previously, this logic relied on constants in an external package\ngithub.com/VividCortex/mysqlerr, but that package is obsolete: it is no\nlonger being updated with new errors from recent server releases.\n\nIn this commit, we now track only the relevant error codes internally, and\nexpose new helper functions which are used by the appropriate callsites.\n\nThis refactor was motivated by an overall desire to avoid unnecessary\nexternal module dependencies, which was made more urgent due to MySQL 8.4's\nintroduction of new error codes (to be handled in a subsequent commit).\n\nThis commit also removes tengo.IsAccessError(), which was dead code.","shortMessageHtmlLink":"internal refactor: SQL error number handling"}},{"before":null,"after":"e79b98df9abd6a3be688bff18041eccc141899a8","ref":"refs/heads/wip-error-number-refactor","pushedAt":"2024-05-02T23:37:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"evanelias","name":"Evan Elias","path":"/evanelias","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/71920?s=80&v=4"},"commit":{"message":"wip: internal refactor to SQL error number handling\n\n*** This is a work-in-progress commit, which will be amended/rewritten ***\n*** TODO: more test coverage for new tengo error methods ***\n\nThis commit refactors code relating to detection of specific server error\nnumbers. Previously, this logic relied on constants in an external package\ngithub.com/VividCortex/mysqlerr, but that package is obsolete / no longer\nbeing updated with new errors from recent server releases.\n\nIn this commit, we now track only the relevant error codes internally, and\nexpose new helper functions which are used by the appropriate callsites.\n\nThis refactor was motivated by an overall desire to avoid unnecessary\nexternal module dependencies, which was made more urgent due to MySQL 8.4's\nnew ER_FK_NO_UNIQUE_INDEX_PARENT error being encountered by Skeema's\nworkspace logic.\n\nThis commit also removes tengo.IsAccessError(), which was dead code.","shortMessageHtmlLink":"wip: internal refactor to SQL error number handling"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXKQShwA","startCursor":null,"endCursor":null}},"title":"Activity ยท skeema/skeema"}