{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":744785772,"defaultBranch":"main","name":"multi-tenant-db-benchmark","ownerLogin":"jschlicht","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-18T02:03:31.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/639815?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1706143517.0","currentOid":""},"activityList":{"items":[{"before":"716135f9c70836e2b110c82d83a460ace01da5a9","after":"247b081b3b5a67e3c6b322506eda85f93c47ac7c","ref":"refs/heads/tests_and_github_actions","pushedAt":"2024-01-25T03:26:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Skip mysql for now until I can figure out why it is so slow.","shortMessageHtmlLink":"Skip mysql for now until I can figure out why it is so slow."}},{"before":"0e29eb05a07cde36214cb6c53dbe29cff9439e45","after":"716135f9c70836e2b110c82d83a460ace01da5a9","ref":"refs/heads/tests_and_github_actions","pushedAt":"2024-01-25T02:49:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Fix detekt errors.","shortMessageHtmlLink":"Fix detekt errors."}},{"before":"14ddf643a30303fee07cfdd97af6976c8ee41ae1","after":"0e29eb05a07cde36214cb6c53dbe29cff9439e45","ref":"refs/heads/tests_and_github_actions","pushedAt":"2024-01-25T02:45:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Increase mysql connect timeout for github actions.","shortMessageHtmlLink":"Increase mysql connect timeout for github actions."}},{"before":"8d227e4b7e9b5556f774cec34e84366d0e51991e","after":"14ddf643a30303fee07cfdd97af6976c8ee41ae1","ref":"refs/heads/tests_and_github_actions","pushedAt":"2024-01-25T02:15:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Remove unused imports.","shortMessageHtmlLink":"Remove unused imports."}},{"before":"370c5c23a269fda7a11cbff2d0500d4c4bc95cfe","after":"8d227e4b7e9b5556f774cec34e84366d0e51991e","ref":"refs/heads/tests_and_github_actions","pushedAt":"2024-01-25T02:14:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Fix generator to handle working directory being rootProject or model","shortMessageHtmlLink":"Fix generator to handle working directory being rootProject or model"}},{"before":"9ee6b77faf99f740d4d98dc1ae79fee225099bf4","after":"370c5c23a269fda7a11cbff2d0500d4c4bc95cfe","ref":"refs/heads/tests_and_github_actions","pushedAt":"2024-01-25T02:04:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Detekt fixes.","shortMessageHtmlLink":"Detekt fixes."}},{"before":"d7fa41c5bb802539f1cd9b7aed698e65066370be","after":"9ee6b77faf99f740d4d98dc1ae79fee225099bf4","ref":"refs/heads/tests_and_github_actions","pushedAt":"2024-01-25T02:03:12.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Ensure files are written to the correct directory.","shortMessageHtmlLink":"Ensure files are written to the correct directory."}},{"before":"ae25c1ec7542fe3b312b1c03b0426a02b7328dad","after":"d7fa41c5bb802539f1cd9b7aed698e65066370be","ref":"refs/heads/tests_and_github_actions","pushedAt":"2024-01-25T01:24:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Fix detekt issues.","shortMessageHtmlLink":"Fix detekt issues."}},{"before":null,"after":"ae25c1ec7542fe3b312b1c03b0426a02b7328dad","ref":"refs/heads/tests_and_github_actions","pushedAt":"2024-01-25T00:45:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Adding basic \"does it crash\" tests.","shortMessageHtmlLink":"Adding basic \"does it crash\" tests."}},{"before":"36218dc2537bdaee1f4299dec59f2afb0a38040c","after":null,"ref":"refs/heads/customer_table","pushedAt":"2024-01-24T23:35:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"}},{"before":"84056455acfcb7f48f8760a3cf26dad1f1cfa36d","after":"5ba6b0c28c89523a3738a9765a147f8e6af6a58c","ref":"refs/heads/main","pushedAt":"2024-01-24T23:35:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Add Customer table (#3)\n\nCustomers is the first multi-tenant table in the benchmark.\r\n\r\n- MySQL and MariaDB don't support foreign keys on partitioned tables, so we have to skip them for those strategies\r\n- MySQL and MariaDB require a leading index on auto incrementing keys.\r\n- Added support for schema/namespace based multi-tenancy.","shortMessageHtmlLink":"Add Customer table (#3)"}},{"before":"7135864e6d008e7d7c2010164545b588ccca906b","after":"36218dc2537bdaee1f4299dec59f2afb0a38040c","ref":"refs/heads/customer_table","pushedAt":"2024-01-24T23:32:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Revert todo comment, partitioning is now supported by mysql/mariadb","shortMessageHtmlLink":"Revert todo comment, partitioning is now supported by mysql/mariadb"}},{"before":"693ca36780879a1ac6ef89acc6735117dbabed4e","after":"7135864e6d008e7d7c2010164545b588ccca906b","ref":"refs/heads/customer_table","pushedAt":"2024-01-24T23:30:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Merge branch 'main' into customer_table","shortMessageHtmlLink":"Merge branch 'main' into customer_table"}},{"before":"db4cfe6ce2bba34d0dee615345df131f7e94428f","after":"693ca36780879a1ac6ef89acc6735117dbabed4e","ref":"refs/heads/customer_table","pushedAt":"2024-01-24T23:23:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Restore support for partitioning in mysql/mariadb.","shortMessageHtmlLink":"Restore support for partitioning in mysql/mariadb."}},{"before":"546468e6b43b13f6bdf7591d98a73266071cfced","after":"db4cfe6ce2bba34d0dee615345df131f7e94428f","ref":"refs/heads/customer_table","pushedAt":"2024-01-24T22:14:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Mention partitioning isn't supported for mysql/mariadb yet.","shortMessageHtmlLink":"Mention partitioning isn't supported for mysql/mariadb yet."}},{"before":null,"after":"546468e6b43b13f6bdf7591d98a73266071cfced","ref":"refs/heads/customer_table","pushedAt":"2024-01-24T03:41:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"In-progress work (disabled partitioning on mysql/mariadb)","shortMessageHtmlLink":"In-progress work (disabled partitioning on mysql/mariadb)"}},{"before":"dbd6f1b743dc0333caa3d1680b67b7f8d86b31a5","after":null,"ref":"refs/heads/jooq_codegen_support","pushedAt":"2024-01-24T01:58:13.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"}},{"before":"1b9fbeb637cad3e6cf3d9abf2eaeac07a8d03fcd","after":"84056455acfcb7f48f8760a3cf26dad1f1cfa36d","ref":"refs/heads/main","pushedAt":"2024-01-24T01:58:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Use Jooq codegen (#2)\n\nUse JOOQ codegen to make it easier to write insert/select statements on the generated structure.\r\n\r\nRequired splitting the project into submodules to prevent a chicken and egg problem. If the code generator fails, it'd leave the project without JOOQ records or POJOs.\r\n\r\nroot project: command line argument parsing, calls into other modules.\r\n\r\ncore: infrastructure related to supported databases, multi-tenant strategies, and test containers. Referenced by all other modules.\r\n\r\ndefinition: creates tables, indexes, constraints. Does not insert any data.\r\n\r\nmodel: generates a JOOQ model and POJOs from the sql tables created by the definitions module. Currently needs to be manually run if table structure is modified or new tables are added.\r\n\r\ndata: generates random data and inserts it.\r\n\r\nquery: will hold the various benchmarks we want to perform against the data. Might want to rename it later if I decide to test insert/update performance.","shortMessageHtmlLink":"Use Jooq codegen (#2)"}},{"before":"5d2c18cb9d45f0c55c61140d3376923f6e3ec772","after":"dbd6f1b743dc0333caa3d1680b67b7f8d86b31a5","ref":"refs/heads/jooq_codegen_support","pushedAt":"2024-01-24T01:57:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Move data generator test.","shortMessageHtmlLink":"Move data generator test."}},{"before":"3d38e90c63b2d6238fe21c7690aca5decc0920fc","after":"5d2c18cb9d45f0c55c61140d3376923f6e3ec772","ref":"refs/heads/jooq_codegen_support","pushedAt":"2024-01-24T01:50:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Switch to singular form so pojos are named properly.","shortMessageHtmlLink":"Switch to singular form so pojos are named properly."}},{"before":"ea160d3f36dfe2be12d99c865a407a0d796f77b7","after":"3d38e90c63b2d6238fe21c7690aca5decc0920fc","ref":"refs/heads/jooq_codegen_support","pushedAt":"2024-01-24T00:38:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Add JOOQ generated files.","shortMessageHtmlLink":"Add JOOQ generated files."}},{"before":"5a12e7b8495d5c25e836b3427161dc266ab443f3","after":"ea160d3f36dfe2be12d99c865a407a0d796f77b7","ref":"refs/heads/jooq_codegen_support","pushedAt":"2024-01-23T23:21:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"More module splitting","shortMessageHtmlLink":"More module splitting"}},{"before":"663132124cb8daa1a43f0c5bccfad7c6dfc32869","after":"5a12e7b8495d5c25e836b3427161dc266ab443f3","ref":"refs/heads/jooq_codegen_support","pushedAt":"2024-01-23T23:04:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Splitting up app into modules.","shortMessageHtmlLink":"Splitting up app into modules."}},{"before":null,"after":"663132124cb8daa1a43f0c5bccfad7c6dfc32869","ref":"refs/heads/jooq_codegen_support","pushedAt":"2024-01-23T23:01:31.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Splitting up app into modules.","shortMessageHtmlLink":"Splitting up app into modules."}},{"before":"7484edff739aeb1f8ccac75d574d4036c1785094","after":null,"ref":"refs/heads/add_shops","pushedAt":"2024-01-20T01:05:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"}},{"before":"f8884cc180f81de493f2291f17d09ff4bd047a35","after":"1b9fbeb637cad3e6cf3d9abf2eaeac07a8d03fcd","ref":"refs/heads/main","pushedAt":"2024-01-20T01:05:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Add Shops table w/ data (#1)\n\n* Project shell setup, command line argument parsing, optionally output generated .SQL to a folder.\r\n* Create and populate the shops table.\r\n* Generate shops with faker. Use a deterministic seed so that we can generate identical data for each separate database+strategy combination that's being tested.\r\n* I'm not a huge fan of the repetition in inserting data (writing out the column names and then calling all the columns manually). Goal in a future commit is to use the JOOQ code generator (in a separate gradle module) to generate Records or pojos for proper typing.","shortMessageHtmlLink":"Add Shops table w/ data (#1)"}},{"before":"3465bef5fcc4af3910317d080367fc8f0ec09c9f","after":"7484edff739aeb1f8ccac75d574d4036c1785094","ref":"refs/heads/add_shops","pushedAt":"2024-01-20T01:01:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Cleanup unused imports.","shortMessageHtmlLink":"Cleanup unused imports."}},{"before":"7d8610ac3ca47c5f93786c72401ff34ab3fb0e33","after":"3465bef5fcc4af3910317d080367fc8f0ec09c9f","ref":"refs/heads/add_shops","pushedAt":"2024-01-20T00:58:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Completed store generation on all supported databases.","shortMessageHtmlLink":"Completed store generation on all supported databases."}},{"before":"62bcb502bb2c5d430671eb5512c7f515057ad943","after":"7d8610ac3ca47c5f93786c72401ff34ab3fb0e33","ref":"refs/heads/add_shops","pushedAt":"2024-01-20T00:08:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Generate shop data.","shortMessageHtmlLink":"Generate shop data."}},{"before":"dfa68acfb762405d9764b91a9dcbe758d6761c8d","after":"62bcb502bb2c5d430671eb5512c7f515057ad943","ref":"refs/heads/add_shops","pushedAt":"2024-01-19T03:21:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jschlicht","name":"Jared Schlicht","path":"/jschlicht","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/639815?s=80&v=4"},"commit":{"message":"Starting to generate data","shortMessageHtmlLink":"Starting to generate data"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMS0yNVQwMzoyNjowOS4wMDAwMDBazwAAAAPoh0zO","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMS0xOVQwMzoyMTowMi4wMDAwMDBazwAAAAPjnXsi"}},"title":"Activity ยท jschlicht/multi-tenant-db-benchmark"}