{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":768114462,"defaultBranch":"master","name":"TDB","ownerLogin":"THSS-DB","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-03-06T13:51:35.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/160723710?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717333302.0","currentOid":""},"activityList":{"items":[{"before":"328df69ddb1c88dcca0280b678307a50eebd37bc","after":"d4f86847a97433154a99da6e04172f81cb3fa5e1","ref":"refs/heads/master","pushedAt":"2024-06-12T03:23:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"fix(mvcc): fix commit xid may be accidentally reused (#26)\n\n**问题:** 在事务恢复阶段,`MTR_BEGIN` 日志对应的 trx id 会在 `MvccTrxManager` 类的\r\n`create_trx(int32_t trx_id)` 方法中更新 `current_trx_id` 以避免重复使用,符合预期。但是\r\n`MTR_COMMIT` 日志所使用的 commit xid 没有更新,可能会被重用而导致错误的结果。\r\n\r\n**解决方案:** 增加 `update_trx_id` 方法用于确保 `current_trx_id` 不小于给定的参数。在 recover\r\n阶段,`MvccTrx` 提交时应当调用该方法更新 `current_trx_id`。","shortMessageHtmlLink":"fix(mvcc): fix commit xid may be accidentally reused (#26)"}},{"before":null,"after":"a4537c07cd8cb37c599f34b8c74e7e3fb2657eb4","ref":"refs/heads/lab3test","pushedAt":"2024-06-02T13:01:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"fix: wrong index in cell_at() of JoinTuple and redundant species when calling open() repeatedly (#16)\n\nbug 1: join tuple cannot be visited by cell_at() at position 0\r\nbug 2: row tuple's schema will be double or triple initialized when\r\ntrying to reopen table scanner","shortMessageHtmlLink":"fix: wrong index in cell_at() of JoinTuple and redundant species when…"}},{"before":"902b9bdd72ca5e24e4f86832de5ce4dcbb88ebb3","after":"328df69ddb1c88dcca0280b678307a50eebd37bc","ref":"refs/heads/master","pushedAt":"2024-05-31T13:14:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"fix: fix a bug when the same transaction inserts and deletes the same data (#24)\n\n修改OperationSet的判断元素相等和计算哈希方法","shortMessageHtmlLink":"fix: fix a bug when the same transaction inserts and deletes the same…"}},{"before":"6253355fc52b6f1baa334fdeef8bcfc80a70ea2b","after":"902b9bdd72ca5e24e4f86832de5ce4dcbb88ebb3","ref":"refs/heads/master","pushedAt":"2024-05-31T13:05:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"fix error: ‘atomic_int32_t’ in namespace std does not name a type","shortMessageHtmlLink":"fix error: ‘atomic_int32_t’ in namespace std does not name a type"}},{"before":"4860bd941fbb5e82c82602254cd9f60b2a136524","after":"6253355fc52b6f1baa334fdeef8bcfc80a70ea2b","ref":"refs/heads/master","pushedAt":"2024-05-31T02:09:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"feature: [lab5] redo log and recovery","shortMessageHtmlLink":"feature: [lab5] redo log and recovery"}},{"before":null,"after":"68bc17e3fdec09a31d8fb7de37ab13299ff2c696","ref":"refs/heads/lab2test","pushedAt":"2024-05-26T13:40:45.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"fix: add force copy ability of class Value; unmatch between IndexScanPhysicalOperator and index_->create_scanner \n\nfix: add force copy ability of class Value; unmatch between IndexScanPhysicalOperator and index_->create_scanner","shortMessageHtmlLink":"fix: add force copy ability of class Value; unmatch between IndexScan…"}},{"before":"e659b99c6af906bc38baee65692d50860e6952c6","after":"4860bd941fbb5e82c82602254cd9f60b2a136524","ref":"refs/heads/master","pushedAt":"2024-05-16T06:39:29.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"feature: [lab4] finish task","shortMessageHtmlLink":"feature: [lab4] finish task"}},{"before":"a4537c07cd8cb37c599f34b8c74e7e3fb2657eb4","after":"e659b99c6af906bc38baee65692d50860e6952c6","ref":"refs/heads/master","pushedAt":"2024-05-16T05:48:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"fix: fix issues detected by address sanitizer \n\n- Fix frame not unpinned in some cases in BplusTreeScanner\r\n- Fix new/malloc and delete/free mismatch in sql parser\r\n- Fix memory leaks\r\n- Flush all pages instead of evicting them when syncing index","shortMessageHtmlLink":"fix: fix issues detected by address sanitizer"}},{"before":null,"after":"d1fa7b68c3aefc2ec6aca68b51c4ce6f048c26d0","ref":"refs/heads/lab1_codebase","pushedAt":"2024-05-09T14:25:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"fix: [lab1] update unittest for buffer pool","shortMessageHtmlLink":"fix: [lab1] update unittest for buffer pool"}},{"before":"1cfb3b5ab4b81cdc96bf2db6c2c69433617610e7","after":"a4537c07cd8cb37c599f34b8c74e7e3fb2657eb4","ref":"refs/heads/master","pushedAt":"2024-05-07T16:05:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"fix: wrong index in cell_at() of JoinTuple and redundant species when calling open() repeatedly (#16)\n\nbug 1: join tuple cannot be visited by cell_at() at position 0\r\nbug 2: row tuple's schema will be double or triple initialized when\r\ntrying to reopen table scanner","shortMessageHtmlLink":"fix: wrong index in cell_at() of JoinTuple and redundant species when…"}},{"before":"a43bd5f7b6ebf2c62fae24deeaea2be6afcfbe7b","after":"1cfb3b5ab4b81cdc96bf2db6c2c69433617610e7","ref":"refs/heads/master","pushedAt":"2024-05-06T00:07:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"feat: [lab3] support table alias in join clause (#14)\n\n目前代码不支持 `JOIN` 子句中使用表别名,涉及多表连接时不方便书写 SQL 语句。考虑扩充 SQL 解析的文法,在 `join_list`\r\n支持形如 `table_name table_alias` 或 `table_name AS table_alias`\r\n的语法,同时重构文法中对表别名的处理方式,提升代码复用性。\r\n\r\n修改后,连接操作的 SQL 可以使用别名简化,例如\r\n```sql\r\nSELECT * FROM join_table_1 a\r\nINNER JOIN join_table_2 b ON b.id = a.id\r\nINNER JOIN join_table_3 c ON c.id = b.id\r\nWHERE a.name = 'a';\r\n```\r\n同时也更方便进行 self-join,例如\r\n```sql\r\nSELECT * FROM join_table_1 a\r\nINNER JOIN join_table_1 b ON b.id = a.id + 1;\r\n```","shortMessageHtmlLink":"feat: [lab3] support table alias in join clause (#14)"}},{"before":"df87a424d98e298cbe1716b8a8fa46cbd6d930b6","after":"a43bd5f7b6ebf2c62fae24deeaea2be6afcfbe7b","ref":"refs/heads/master","pushedAt":"2024-04-25T07:13:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"fix: fix inconsistency between floating-point number's storage (#13)\n\n# 问题:浮点数的存储和输出格式不一致导致无法精确查找\r\n### 描述:现有TDB的float存储时未作截断,打印时截断至两位小数导致无法精确查找。因此取消打印时的位数截断。\r\n\r\n![image](https://github.com/THSS-DB/TDB/assets/74061089/4c2d9104-7de0-4d85-a4b7-c10bc7003eb5)\r\n#### 分析:直接打印为 %f 不会因为缓冲区导致截断\r\nfloat的阶码为8位,尾数为23位。\r\n规格化最大正数为:2^24-1)x2^(127-23) = (2^24-1)x2^104,即 3.4028235E+38\r\n规格化最小正数为:1x2^(-126),即1.1754943E-38\r\n非规格化最小正数为:2^(-23)x2^(-126)=2^(-149),即1.401298E-45\r\n均不会超过分配的256字节的缓冲区buf,因此可以完整输出。\r\n\r\nCo-authored-by: thu \r\nCo-authored-by: YangCaiyin ","shortMessageHtmlLink":"fix: fix inconsistency between floating-point number's storage (#13)"}},{"before":"4f5557465be32ab3b68f211738c8e68841845ce0","after":"df87a424d98e298cbe1716b8a8fa46cbd6d930b6","ref":"refs/heads/master","pushedAt":"2024-04-25T06:56:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"fix: adjust the order of table in join clause","shortMessageHtmlLink":"fix: adjust the order of table in join clause"}},{"before":"bde5ecae7068ee5af43fc849b841cb876c8eea57","after":"4f5557465be32ab3b68f211738c8e68841845ce0","ref":"refs/heads/master","pushedAt":"2024-04-22T03:03:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"lab3: remove groupBy in formal lab","shortMessageHtmlLink":"lab3: remove groupBy in formal lab"}},{"before":"68bc17e3fdec09a31d8fb7de37ab13299ff2c696","after":"bde5ecae7068ee5af43fc849b841cb876c8eea57","ref":"refs/heads/master","pushedAt":"2024-04-19T06:41:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"feat: support Lab3","shortMessageHtmlLink":"feat: support Lab3"}},{"before":"2bbf4c2d1a830c95bb3f75ecfbae542a9f0acb74","after":"68bc17e3fdec09a31d8fb7de37ab13299ff2c696","ref":"refs/heads/master","pushedAt":"2024-04-15T02:49:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"fix: add force copy ability of class Value; unmatch between IndexScanPhysicalOperator and index_->create_scanner \n\nfix: add force copy ability of class Value; unmatch between IndexScanPhysicalOperator and index_->create_scanner","shortMessageHtmlLink":"fix: add force copy ability of class Value; unmatch between IndexScan…"}},{"before":"3fbf05b3fb9dfefaff1798057fd4ad6e220d3910","after":"2bbf4c2d1a830c95bb3f75ecfbae542a9f0acb74","ref":"refs/heads/master","pushedAt":"2024-04-11T04:32:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"Merge branch 'master' into lab2_codebase","shortMessageHtmlLink":"Merge branch 'master' into lab2_codebase"}},{"before":"0beada907656c7684424f2fd7f88b16b2a20c246","after":"3fbf05b3fb9dfefaff1798057fd4ad6e220d3910","ref":"refs/heads/master","pushedAt":"2024-04-10T13:33:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"Merge remote-tracking branch 'refs/remotes/origin/master'","shortMessageHtmlLink":"Merge remote-tracking branch 'refs/remotes/origin/master'"}},{"before":"e7e1d5f91dcd0c1f4a8aaa2ae3373912270044a0","after":"0beada907656c7684424f2fd7f88b16b2a20c246","ref":"refs/heads/master","pushedAt":"2024-04-10T08:18:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"fix: update comments","shortMessageHtmlLink":"fix: update comments"}},{"before":"845291a510a2bfced95692b55bb1d71f056cd747","after":"e7e1d5f91dcd0c1f4a8aaa2ae3373912270044a0","ref":"refs/heads/master","pushedAt":"2024-04-09T06:47:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"fix: move data.txt from test to build/bin","shortMessageHtmlLink":"fix: move data.txt from test to build/bin"}},{"before":"0eef19450e82b3cc5b125c03d182871e48471516","after":"845291a510a2bfced95692b55bb1d71f056cd747","ref":"refs/heads/master","pushedAt":"2024-04-09T03:42:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"feat: support load from file","shortMessageHtmlLink":"feat: support load from file"}},{"before":null,"after":"7c7404facc050a8994c9bbda1f3fe0e3e124d61e","ref":"refs/heads/IndexTest","pushedAt":"2024-04-09T03:27:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"feat:support load data from file","shortMessageHtmlLink":"feat:support load data from file"}},{"before":"6372ba033f38338cf1ca282912a323a72d6bac81","after":"0eef19450e82b3cc5b125c03d182871e48471516","ref":"refs/heads/master","pushedAt":"2024-04-09T02:35:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"fix:eliminate warnings","shortMessageHtmlLink":"fix:eliminate warnings"}},{"before":"53db3d2cc2b20fadd60c0f9d869e243ca77edc4c","after":null,"ref":"refs/heads/IndexTest","pushedAt":"2024-04-08T16:39:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"}},{"before":"fe4bccc20d4657e63ba1392b25e24317d6ca2f41","after":"6372ba033f38338cf1ca282912a323a72d6bac81","ref":"refs/heads/master","pushedAt":"2024-04-08T16:39:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"feat: support prediction push-down in scanNode and record the cost of query (#10)","shortMessageHtmlLink":"feat: support prediction push-down in scanNode and record the cost of…"}},{"before":"61d66b4ef9f097bd7ce763211faacae721a4d18b","after":"53db3d2cc2b20fadd60c0f9d869e243ca77edc4c","ref":"refs/heads/IndexTest","pushedAt":"2024-04-08T16:38:51.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"Merge branch 'master' into IndexTest","shortMessageHtmlLink":"Merge branch 'master' into IndexTest"}},{"before":null,"after":"61d66b4ef9f097bd7ce763211faacae721a4d18b","ref":"refs/heads/IndexTest","pushedAt":"2024-04-08T15:39:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"feat: support prediction push-down in scan and record time cost","shortMessageHtmlLink":"feat: support prediction push-down in scan and record time cost"}},{"before":"87e648b0b1605cf2ea1b7ec5459285c65a9bcf7c","after":"fe4bccc20d4657e63ba1392b25e24317d6ca2f41","ref":"refs/heads/master","pushedAt":"2024-04-08T15:06:15.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"RkGrit","name":"RkGrit","path":"/RkGrit","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/89496957?s=80&v=4"},"commit":{"message":"feature:[Lab2] index scan to optimize query and add test for b+tree","shortMessageHtmlLink":"feature:[Lab2] index scan to optimize query and add test for b+tree"}},{"before":"8b52c8a0adf29a0180b9a2621e0cc3b0db454a3e","after":null,"ref":"refs/heads/2024Lab2","pushedAt":"2024-04-07T15:06:30.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"}},{"before":"5607cbe651a34e7902b8676f9ee0f62751ae7cd0","after":"87e648b0b1605cf2ea1b7ec5459285c65a9bcf7c","ref":"refs/heads/master","pushedAt":"2024-04-07T15:06:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ycycse","name":"YangCaiyin","path":"/ycycse","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/51467236?s=80&v=4"},"commit":{"message":"Lab2: index scan to optimize query (#9)","shortMessageHtmlLink":"Lab2: index scan to optimize query (#9)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xMlQwMzoyMzo0My4wMDAwMDBazwAAAARi2jjo","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xMlQwMzoyMzo0My4wMDAwMDBazwAAAARi2jjo","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNC0wN1QxNTowNjozMC4wMDAwMDBazwAAAAQqLEUf"}},"title":"Activity · THSS-DB/TDB"}