{"data":{"count":0,"query":"SELECT * FROM `user` WHERE `age` \u003c? AND `age` \u003e? AND `status` =? ORDER BY id DESC LIMIT 5 ;"},"hypothesisId":"H1_SELECT2","location":"main.go:149","message":"Select 多条件自动AND测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776507}
{"data":{"count":0,"query":"SELECT id,name,status FROM `user` WHERE `status` !=? LIMIT 3 ;"},"hypothesisId":"H2_NOT_EQUAL","location":"main.go:204","message":"不等于条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776531}
{"data":{"count":0,"query":"SELECT id,name FROM `user` WHERE `name` LIKE ? LIMIT 3 ;"},"hypothesisId":"H2_LIKE","location":"main.go:237","message":"LIKE 模糊查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776542}
{"data":{"count":0,"query":"SELECT id,name,age FROM `user` WHERE `age` BETWEEN ? AND ? LIMIT 3 ;"},"hypothesisId":"H2_BETWEEN","location":"main.go:254","message":"BETWEEN 区间查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776552}
{"data":{"count":0},"hypothesisId":"H2_NOT_BETWEEN","location":"main.go:262","message":"NOT BETWEEN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776558}
{"data":{"count":0,"query":"SELECT id,name FROM `user` WHERE (`id` BETWEEN ? AND ? ) LIMIT 5 ;"},"hypothesisId":"H2_IN","location":"main.go:271","message":"IN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776564}
{"data":{"count":0},"hypothesisId":"H2_NOT_IN","location":"main.go:279","message":"NOT IN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776573}
{"data":{"count":0},"hypothesisId":"H2_IS_NOT_NULL","location":"main.go:295","message":"IS NOT NULL 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776581}
{"data":{"count":0,"query":"SELECT id,name,created_time FROM `user` WHERE `created_time` =\u003e DATE_SUB(NOW(), INTERVAL 365 DAY) LIMIT 3 ;"},"hypothesisId":"H2_RAW_SQL","location":"main.go:307","message":"直接 SQL 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776586}
{"data":{"count":0},"hypothesisId":"H2_EXPLICIT_AND","location":"main.go:321","message":"显式 AND 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776589}
{"data":{"count":0,"query":"SELECT id,name,age,level FROM `user` WHERE ( `age` \u003c? OR `level` =? ) AND `status` =? LIMIT 5 ;"},"hypothesisId":"H2_NESTED","location":"main.go:353","message":"嵌套 AND/OR 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776600}
{"data":{"count":0},"hypothesisId":"H3_AND","location":"main.go:387","message":"链式 And 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776609}
{"data":{"count":0},"hypothesisId":"H3_OR","location":"main.go:401","message":"链式 Or 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776613}
{"data":{"count":0},"hypothesisId":"H3_ORDER","location":"main.go:413","message":"链式 Order 排序测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776618}
{"data":{"user":null},"hypothesisId":"H3_GET","location":"main.go:434","message":"链式 Get 获取单条测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776628}
{"data":{"stats":[]},"hypothesisId":"H3_GROUP","location":"main.go:466","message":"链式 Group 分组测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776643}
{"data":{"count":0,"query":"SELECT app_order.id, app_order.amount, app_user.name as user_name FROM `order` LEFT JOIN `user` ON app_order.user_id = app_user.id WHERE app_order.status=? LIMIT 5 ;"},"hypothesisId":"H4_TRADITIONAL_JOIN","location":"main.go:525","message":"传统 JOIN 语法测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776657}
{"data":{"stats":[]},"hypothesisId":"H5_GROUP_BY","location":"main.go:625","message":"GROUP BY 分组统计测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769029776705}
{"data":{"10_raw_sql":{"name":"原生SQL测试","success":true,"tests":[{"count":0,"name":"Query 原生查询","result":true},{"name":"Exec 原生执行","note":"无可用测试数据","result":true}]},"1_basic_crud":{"name":"基础CRUD测试","success":true,"tests":[{"lastQuery":"INSERT INTO `user` (`email`,`age`,`status`,`balance`,`level`,`created_time`,`name`) VALUES (?,?,?,?,?,NOW(),?);","name":"Insert 插入测试","result":false,"userId":0},{"name":"Get 获取单条记录测试","result":false,"user":null},{"count":0,"name":"Select 单条件查询测试","result":false},{"count":0,"lastQuery":"SELECT * FROM `user` WHERE `age` \u003c? AND `age` \u003e? AND `status` =? ORDER BY id DESC LIMIT 5 ;","name":"Select 多条件自动AND测试","result":true},{"affected":0,"name":"Update 更新测试","result":false},{"affected":0,"name":"Delete 删除测试","result":false}]},"2_condition_syntax":{"name":"条件查询语法测试","success":true,"tests":[{"count":0,"name":"等于条件 (=)","result":true},{"count":0,"lastQuery":"SELECT id,name,status FROM `user` WHERE `status` !=? LIMIT 3 ;","name":"不等于条件 ([!])","result":true},{"count":0,"name":"大于小于条件 ([\u003e], [\u003c])","result":true},{"count":0,"name":"大于等于小于等于条件 ([\u003e=], [\u003c=])","result":true},{"count":0,"lastQuery":"SELECT id,name FROM `user` WHERE `name` LIKE ? LIMIT 3 ;","name":"LIKE 模糊查询 ([~])","result":true},{"count":0,"name":"右模糊查询 ([~!])","result":true},{"count":0,"lastQuery":"SELECT id,name,age FROM `user` WHERE `age` BETWEEN ? AND ? LIMIT 3 ;","name":"BETWEEN 区间查询 ([\u003c\u003e])","result":true},{"count":0,"name":"NOT BETWEEN 查询 ([\u003e\u003c])","result":true},{"count":0,"lastQuery":"SELECT id,name FROM `user` WHERE (`id` BETWEEN ? AND ? ) LIMIT 5 ;","name":"IN 查询","result":true},{"count":0,"name":"NOT IN 查询 ([!])","result":true},{"count":0,"name":"IS NULL 查询","result":true},{"count":0,"name":"IS NOT NULL 查询 ([!])","result":true},{"count":0,"lastQuery":"SELECT id,name,created_time FROM `user` WHERE `created_time` =\u003e DATE_SUB(NOW(), INTERVAL 365 DAY) LIMIT 3 ;","name":"直接 SQL 查询 ([#])","result":true},{"count":0,"name":"显式 AND 条件","result":true},{"count":0,"name":"OR 条件","result":true},{"count":0,"lastQuery":"SELECT id,name,age,level FROM `user` WHERE ( `age` \u003c? OR `level` =? ) AND `status` =? LIMIT 5 ;","name":"嵌套 AND/OR 条件","result":true}]},"3_chain_query":{"name":"链式查询测试","success":true,"tests":[{"count":0,"name":"基本链式查询 Table().Where().Select()","result":true},{"count":0,"name":"链式 And 条件","result":true},{"count":0,"name":"链式 Or 条件","result":true},{"count":0,"name":"链式 Order 排序","result":true},{"count":0,"name":"链式 Limit 限制","result":true},{"name":"链式 Get 获取单条","result":false,"user":null},{"count":0,"name":"链式 Count 统计","result":true},{"count":0,"name":"链式 Page 分页","result":true},{"name":"链式 Group 分组","result":true,"stats":[]},{"name":"链式 Update 更新","note":"无可用测试数据","result":true}]},"4_join_query":{"name":"JOIN查询测试","success":true,"tests":[{"count":0,"data":[],"name":"LEFT JOIN 链式查询","result":true},{"count":0,"lastQuery":"SELECT app_order.id, app_order.amount, app_user.name as user_name FROM `order` LEFT JOIN `user` ON app_order.user_id = app_user.id WHERE app_order.status=? LIMIT 5 ;","name":"传统 JOIN 语法","result":true},{"count":0,"data":[],"name":"多表 JOIN","result":true},{"count":0,"name":"INNER JOIN","result":true}]},"5_aggregate":{"name":"聚合函数测试","success":true,"tests":[{"count":0,"name":"Count 总数统计","result":true},{"count":0,"name":"Count 条件统计","result":true},{"name":"Sum 求和","result":true,"sum":0},{"avg":0,"name":"Avg 平均值","result":true},{"max":0,"name":"Max 最大值","result":true},{"min":0,"name":"Min 最小值","result":true},{"name":"GROUP BY 分组统计","result":true,"stats":[]}]},"6_paginat
{"data":{"count":4,"query":"SELECT * FROM `user` WHERE `age` \u003c? AND `age` \u003e? AND `status` =? ORDER BY id DESC LIMIT 5 ;"},"hypothesisId":"H1_SELECT2","location":"main.go:149","message":"Select 多条件自动AND测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121504}
{"data":{"count":3,"query":"SELECT id,name,status FROM `user` WHERE `status` !=? LIMIT 3 ;"},"hypothesisId":"H2_NOT_EQUAL","location":"main.go:204","message":"不等于条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121506}
{"data":{"count":1,"query":"SELECT id,name FROM `user` WHERE `name` LIKE ? LIMIT 3 ;"},"hypothesisId":"H2_LIKE","location":"main.go:237","message":"LIKE 模糊查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121507}
{"data":{"count":3,"query":"SELECT id,name,age FROM `user` WHERE `age` BETWEEN ? AND ? LIMIT 3 ;"},"hypothesisId":"H2_BETWEEN","location":"main.go:254","message":"BETWEEN 区间查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121508}
{"data":{"count":3},"hypothesisId":"H2_NOT_BETWEEN","location":"main.go:262","message":"NOT BETWEEN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121509}
{"data":{"count":5,"query":"SELECT id,name FROM `user` WHERE (`id` BETWEEN ? AND ? ) LIMIT 5 ;"},"hypothesisId":"H2_IN","location":"main.go:271","message":"IN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121509}
{"data":{"count":2},"hypothesisId":"H2_NOT_IN","location":"main.go:279","message":"NOT IN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121509}
{"data":{"count":0},"hypothesisId":"H2_IS_NOT_NULL","location":"main.go:295","message":"IS NOT NULL 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121510}
{"data":{"count":0,"query":"SELECT id,name,created_time FROM `user` WHERE `[##]` =? LIMIT 3 ;"},"hypothesisId":"H2_RAW_SQL","location":"main.go:307","message":"直接 SQL 片段查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121510}
{"data":{"count":3},"hypothesisId":"H2_EXPLICIT_AND","location":"main.go:321","message":"显式 AND 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121511}
{"data":{"count":3,"query":"SELECT id,name,age,level FROM `user` WHERE ( `age` \u003c? OR `level` =? ) AND `status` =? LIMIT 5 ;"},"hypothesisId":"H2_NESTED","location":"main.go:353","message":"嵌套 AND/OR 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121511}
{"data":{"count":0},"hypothesisId":"H3_AND","location":"main.go:387","message":"链式 And 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121512}
{"data":{"count":0},"hypothesisId":"H3_OR","location":"main.go:401","message":"链式 Or 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121513}
{"data":{"count":0},"hypothesisId":"H3_ORDER","location":"main.go:413","message":"链式 Order 排序测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121513}
{"data":{"user":null},"hypothesisId":"H3_GET","location":"main.go:434","message":"链式 Get 获取单条测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121514}
{"data":{"stats":[]},"hypothesisId":"H3_GROUP","location":"main.go:466","message":"链式 Group 分组测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121515}
{"data":{"count":0,"query":"SELECT app_order.id, app_order.amount, app_user.name as user_name FROM `order` LEFT JOIN `user` ON app_order.user_id = app_user.id WHERE app_order.status=? LIMIT 5 ;"},"hypothesisId":"H4_TRADITIONAL_JOIN","location":"main.go:525","message":"传统 JOIN 语法测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121516}
{"data":{"stats":[{"avg_age":30,"level":"normal","total_balance":1500,"user_count":2},{"avg_age":30,"level":"vip","total_balance":5000,"user_count":1},{"avg_age":28,"level":"svip","total_balance":10000,"user_count":1}]},"hypothesisId":"H5_GROUP_BY","location":"main.go:625","message":"GROUP BY 分组统计测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030121521}
{"data":{"10_raw_sql":{"name":"原生SQL测试","success":true,"tests":[{"count":0,"name":"Query 原生查询","result":true},{"error":{"Code":1,"ExtendedCode":1,"SystemErrno":0},"name":"Exec 原生执行","result":false}]},"1_basic_crud":{"name":"基础CRUD测试","success":true,"tests":[{"lastQuery":"INSERT INTO `user` (`name`,`email`,`age`,`status`,`balance`,`level`,`created_time`) VALUES (?,?,?,?,?,?,NOW());","name":"Insert 插入测试","result":false,"userId":0},{"name":"Get 获取单条记录测试","result":false,"user":null},{"count":4,"name":"Select 单条件查询测试","result":true},{"count":4,"lastQuery":"SELECT * FROM `user` WHERE `age` \u003c? AND `age` \u003e? AND `status` =? ORDER BY id DESC LIMIT 5 ;","name":"Select 多条件自动AND测试","result":true},{"affected":0,"name":"Update 更新测试","result":false},{"affected":0,"name":"Delete 删除测试","result":false}]},"2_condition_syntax":{"name":"条件查询语法测试","success":true,"tests":[{"count":3,"name":"等于条件 (=)","result":true},{"count":3,"lastQuery":"SELECT id,name,status FROM `user` WHERE `status` !=? LIMIT 3 ;","name":"不等于条件 ([!])","result":true},{"count":3,"name":"大于小于条件 ([\u003e], [\u003c])","result":true},{"count":3,"name":"大于等于小于等于条件 ([\u003e=], [\u003c=])","result":true},{"count":1,"lastQuery":"SELECT id,name FROM `user` WHERE `name` LIKE ? LIMIT 3 ;","name":"LIKE 模糊查询 ([~])","result":true},{"count":0,"name":"右模糊查询 ([~!])","result":true},{"count":3,"lastQuery":"SELECT id,name,age FROM `user` WHERE `age` BETWEEN ? AND ? LIMIT 3 ;","name":"BETWEEN 区间查询 ([\u003c\u003e])","result":true},{"count":3,"name":"NOT BETWEEN 查询 ([\u003e\u003c])","result":true},{"count":5,"lastQuery":"SELECT id,name FROM `user` WHERE (`id` BETWEEN ? AND ? ) LIMIT 5 ;","name":"IN 查询","result":true},{"count":2,"name":"NOT IN 查询 ([!])","result":true},{"count":3,"name":"IS NULL 查询","result":true},{"count":0,"name":"IS NOT NULL 查询 ([!])","result":true},{"count":0,"lastQuery":"SELECT id,name,created_time FROM `user` WHERE `[##]` =? LIMIT 3 ;","name":"直接 SQL 片段查询 ([##])","result":true},{"count":3,"name":"显式 AND 条件","result":true},{"count":3,"name":"OR 条件","result":true},{"count":3,"lastQuery":"SELECT id,name,age,level FROM `user` WHERE ( `age` \u003c? OR `level` =? ) AND `status` =? LIMIT 5 ;","name":"嵌套 AND/OR 条件","result":true}]},"3_chain_query":{"name":"链式查询测试","success":true,"tests":[{"count":0,"name":"基本链式查询 Table().Where().Select()","result":true},{"count":0,"name":"链式 And 条件","result":true},{"count":0,"name":"链式 Or 条件","result":true},{"count":0,"name":"链式 Order 排序","result":true},{"count":0,"name":"链式 Limit 限制","result":true},{"name":"链式 Get 获取单条","result":false,"user":null},{"count":4,"name":"链式 Count 统计","result":true},{"count":0,"name":"链式 Page 分页","result":true},{"name":"链式 Group 分组","result":true,"stats":[]},{"affected":0,"name":"链式 Update 更新","result":true}]},"4_join_query":{"name":"JOIN查询测试","success":true,"tests":[{"count":0,"data":[],"name":"LEFT JOIN 链式查询","result":true},{"count":0,"lastQuery":"SELECT app_order.id, app_order.amount, app_user.name as user_name FROM `order` LEFT JOIN `user` ON app_order.user_id = app_user.id WHERE app_order.status=? LIMIT 5 ;","name":"传统 JOIN 语法","result":true},{"count":0,"data":[],"name":"多表 JOIN","result":true},{"count":0,"name":"INNER JOIN","result":true}]},"5_aggregate":{"name":"聚合函数测试","success":true,"tests":[{"count":5,"name":"Count 总数统计","result":true},{"count":4,"name":"Count 条件统计","result":true},{"name":"Sum 求和","result":true,"sum":16500},{"avg":29.5,"name":"Avg 平均值","result":true},{"max":35,"name":"Max 最大值","result":true},{"min":25,"name":"Min 最小值","result":true},{"name":"GROUP BY 分组统计","result":true,"stats":[{"avg_age":30,"level":"normal","total_balanc
{"data":{"count":4,"query":"SELECT * FROM `user` WHERE `age` \u003c? AND `age` \u003e? AND `status` =? ORDER BY id DESC LIMIT 5 ;"},"hypothesisId":"H1_SELECT2","location":"main.go:149","message":"Select 多条件自动AND测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279611}
{"data":{"count":3,"query":"SELECT id,name,status FROM `user` WHERE `status` !=? LIMIT 3 ;"},"hypothesisId":"H2_NOT_EQUAL","location":"main.go:204","message":"不等于条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279613}
{"data":{"count":1,"query":"SELECT id,name FROM `user` WHERE `name` LIKE ? LIMIT 3 ;"},"hypothesisId":"H2_LIKE","location":"main.go:237","message":"LIKE 模糊查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279614}
{"data":{"count":3,"query":"SELECT id,name,age FROM `user` WHERE `age` BETWEEN ? AND ? LIMIT 3 ;"},"hypothesisId":"H2_BETWEEN","location":"main.go:254","message":"BETWEEN 区间查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279615}
{"data":{"count":3},"hypothesisId":"H2_NOT_BETWEEN","location":"main.go:262","message":"NOT BETWEEN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279615}
{"data":{"count":5,"query":"SELECT id,name FROM `user` WHERE (`id` BETWEEN ? AND ? ) LIMIT 5 ;"},"hypothesisId":"H2_IN","location":"main.go:271","message":"IN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279615}
{"data":{"count":2},"hypothesisId":"H2_NOT_IN","location":"main.go:279","message":"NOT IN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279616}
{"data":{"count":0},"hypothesisId":"H2_IS_NOT_NULL","location":"main.go:295","message":"IS NOT NULL 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279616}
{"data":{"count":0,"query":"SELECT id,name,created_time FROM `user` WHERE created_time \u003e DATE_SUB(NOW(), INTERVAL 365 DAY) LIMIT 3 ;"},"hypothesisId":"H2_RAW_SQL","location":"main.go:307","message":"直接 SQL 片段查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279617}
{"data":{"count":3},"hypothesisId":"H2_EXPLICIT_AND","location":"main.go:321","message":"显式 AND 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279618}
{"data":{"count":3,"query":"SELECT id,name,age,level FROM `user` WHERE ( `age` \u003c? OR `level` =? ) AND `status` =? LIMIT 5 ;"},"hypothesisId":"H2_NESTED","location":"main.go:353","message":"嵌套 AND/OR 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279618}
{"data":{"count":4},"hypothesisId":"H3_AND","location":"main.go:387","message":"链式 And 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279619}
{"data":{"count":2},"hypothesisId":"H3_OR","location":"main.go:401","message":"链式 Or 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279619}
{"data":{"count":4},"hypothesisId":"H3_ORDER","location":"main.go:413","message":"链式 Order 排序测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279620}
{"data":{"user":{"email":"zhangsan@example.com","id":1,"name":"张三"}},"hypothesisId":"H3_GET","location":"main.go:434","message":"链式 Get 获取单条测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279620}
{"data":{"stats":[{"cnt":2,"level":"normal"},{"cnt":1,"level":"svip"},{"cnt":1,"level":"vip"}]},"hypothesisId":"H3_GROUP","location":"main.go:466","message":"链式 Group 分组测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279621}
{"data":{"count":0,"query":"SELECT app_order.id, app_order.amount, app_user.name as user_name FROM `order` LEFT JOIN `user` ON app_order.user_id = app_user.id WHERE app_order.status=? LIMIT 5 ;"},"hypothesisId":"H4_TRADITIONAL_JOIN","location":"main.go:525","message":"传统 JOIN 语法测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279623}
{"data":{"stats":[{"avg_age":30,"level":"normal","total_balance":1500,"user_count":2},{"avg_age":30,"level":"vip","total_balance":5000,"user_count":1},{"avg_age":28,"level":"svip","total_balance":10000,"user_count":1}]},"hypothesisId":"H5_GROUP_BY","location":"main.go:625","message":"GROUP BY 分组统计测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030279627}
{"data":{"10_raw_sql":{"name":"原生SQL测试","success":true,"tests":[{"count":0,"name":"Query 原生查询","result":true},{"error":{"Code":1,"ExtendedCode":1,"SystemErrno":0},"name":"Exec 原生执行","result":false}]},"1_basic_crud":{"name":"基础CRUD测试","success":true,"tests":[{"lastQuery":"INSERT INTO `user` (`level`,`created_time`,`name`,`email`,`age`,`status`,`balance`) VALUES (?,NOW(),?,?,?,?,?);","name":"Insert 插入测试","result":false,"userId":0},{"name":"Get 获取单条记录测试","result":false,"user":null},{"count":4,"name":"Select 单条件查询测试","result":true},{"count":4,"lastQuery":"SELECT * FROM `user` WHERE `age` \u003c? AND `age` \u003e? AND `status` =? ORDER BY id DESC LIMIT 5 ;","name":"Select 多条件自动AND测试","result":true},{"affected":0,"name":"Update 更新测试","result":false},{"affected":0,"name":"Delete 删除测试","result":false}]},"2_condition_syntax":{"name":"条件查询语法测试","success":true,"tests":[{"count":3,"name":"等于条件 (=)","result":true},{"count":3,"lastQuery":"SELECT id,name,status FROM `user` WHERE `status` !=? LIMIT 3 ;","name":"不等于条件 ([!])","result":true},{"count":3,"name":"大于小于条件 ([\u003e], [\u003c])","result":true},{"count":3,"name":"大于等于小于等于条件 ([\u003e=], [\u003c=])","result":true},{"count":1,"lastQuery":"SELECT id,name FROM `user` WHERE `name` LIKE ? LIMIT 3 ;","name":"LIKE 模糊查询 ([~])","result":true},{"count":0,"name":"右模糊查询 ([~!])","result":true},{"count":3,"lastQuery":"SELECT id,name,age FROM `user` WHERE `age` BETWEEN ? AND ? LIMIT 3 ;","name":"BETWEEN 区间查询 ([\u003c\u003e])","result":true},{"count":3,"name":"NOT BETWEEN 查询 ([\u003e\u003c])","result":true},{"count":5,"lastQuery":"SELECT id,name FROM `user` WHERE (`id` BETWEEN ? AND ? ) LIMIT 5 ;","name":"IN 查询","result":true},{"count":2,"name":"NOT IN 查询 ([!])","result":true},{"count":3,"name":"IS NULL 查询","result":true},{"count":0,"name":"IS NOT NULL 查询 ([!])","result":true},{"count":0,"lastQuery":"SELECT id,name,created_time FROM `user` WHERE created_time \u003e DATE_SUB(NOW(), INTERVAL 365 DAY) LIMIT 3 ;","name":"直接 SQL 片段查询 ([##])","result":true},{"count":3,"name":"显式 AND 条件","result":true},{"count":3,"name":"OR 条件","result":true},{"count":3,"lastQuery":"SELECT id,name,age,level FROM `user` WHERE ( `age` \u003c? OR `level` =? ) AND `status` =? LIMIT 5 ;","name":"嵌套 AND/OR 条件","result":true}]},"3_chain_query":{"name":"链式查询测试","success":true,"tests":[{"count":4,"name":"基本链式查询 Table().Where().Select()","result":true},{"count":4,"name":"链式 And 条件","result":true},{"count":2,"name":"链式 Or 条件","result":true},{"count":4,"name":"链式 Order 排序","result":true},{"count":3,"name":"链式 Limit 限制","result":true},{"name":"链式 Get 获取单条","result":true,"user":{"email":"zhangsan@example.com","id":1,"name":"张三"}},{"count":4,"name":"链式 Count 统计","result":true},{"count":4,"name":"链式 Page 分页","result":true},{"name":"链式 Group 分组","result":true,"stats":[{"cnt":2,"level":"normal"},{"cnt":1,"level":"svip"},{"cnt":1,"level":"vip"}]},{"affected":0,"name":"链式 Update 更新","result":true}]},"4_join_query":{"name":"JOIN查询测试","success":true,"tests":[{"count":0,"data":[],"name":"LEFT JOIN 链式查询","result":true},{"count":0,"lastQuery":"SELECT app_order.id, app_order.amount, app_user.name as user_name FROM `order` LEFT JOIN `user` ON app_order.user_id = app_user.id WHERE app_order.status=? LIMIT 5 ;","name":"传统 JOIN 语法","result":true},{"count":0,"data":[],"name":"多表 JOIN","result":true},{"count":0,"name":"INNER JOIN","result":true}]},"5_aggregate":{"name":"聚合函数测试","success":true,"tests":[{"count":5,"name":"Count 总数统计","result":true},{"count":4,"name":"Count 条件统计","result":true},{"name":"Sum 求和","result":true,"sum":16500},{"avg":29.5,"name":"Avg 平均值","result":true},{"max":35,"name":"Max 最
{"data":{"count":1,"query":"SELECT * FROM `admin` WHERE `role_id` \u003e? AND `state` =? ORDER BY id DESC LIMIT 5 ;"},"hypothesisId":"H1_SELECT2","location":"main.go:149","message":"Select 多条件自动AND测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871383}
{"data":{"count":3,"query":"SELECT id,title,state FROM `article` WHERE `state` !=? LIMIT 3 ;"},"hypothesisId":"H2_NOT_EQUAL","location":"main.go:204","message":"不等于条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871416}
{"data":{"count":3,"query":"SELECT id,title FROM `article` WHERE `title` LIKE ? LIMIT 3 ;"},"hypothesisId":"H2_LIKE","location":"main.go:237","message":"LIKE 模糊查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871428}
{"data":{"count":3,"query":"SELECT id,title,click_num FROM `article` WHERE `click_num` BETWEEN ? AND ? LIMIT 3 ;"},"hypothesisId":"H2_BETWEEN","location":"main.go:254","message":"BETWEEN 区间查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871438}
{"data":{"count":0},"hypothesisId":"H2_NOT_BETWEEN","location":"main.go:262","message":"NOT BETWEEN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871460}
{"data":{"count":5,"query":"SELECT id,title FROM `article` WHERE (`id` BETWEEN ? AND ? ) LIMIT 5 ;"},"hypothesisId":"H2_IN","location":"main.go:271","message":"IN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871464}
{"data":{"count":5},"hypothesisId":"H2_NOT_IN","location":"main.go:279","message":"NOT IN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871469}
{"data":{"count":3},"hypothesisId":"H2_IS_NOT_NULL","location":"main.go:295","message":"IS NOT NULL 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871473}
{"data":{"count":0,"query":"SELECT id,title,create_time FROM `article` WHERE create_time \u003e DATE_SUB(NOW(), INTERVAL 365 DAY) LIMIT 3 ;"},"hypothesisId":"H2_RAW_SQL","location":"main.go:307","message":"直接 SQL 片段查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871493}
{"data":{"count":3},"hypothesisId":"H2_EXPLICIT_AND","location":"main.go:321","message":"显式 AND 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871497}
{"data":{"count":5,"query":"SELECT id,title,sort,state FROM `article` WHERE ( `click_num` \u003e? OR `sort` \u003e=? ) AND `state` =? LIMIT 5 ;"},"hypothesisId":"H2_NESTED","location":"main.go:353","message":"嵌套 AND/OR 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871505}
{"data":{"count":16659},"hypothesisId":"H3_AND","location":"main.go:387","message":"链式 And 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871598}
{"data":{"count":16659},"hypothesisId":"H3_OR","location":"main.go:401","message":"链式 Or 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871635}
{"data":{"count":5},"hypothesisId":"H3_ORDER","location":"main.go:413","message":"链式 Order 排序测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871658}
{"data":{"article":{"author":"atestu","id":1,"title":"atestu"}},"hypothesisId":"H3_GET","location":"main.go:434","message":"链式 Get 获取单条测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871664}
{"data":{"stats":[{"cnt":627,"ctg_id":null},{"cnt":36,"ctg_id":1},{"cnt":57,"ctg_id":2},{"cnt":8,"ctg_id":3},{"cnt":38,"ctg_id":4},{"cnt":11,"ctg_id":5},{"cnt":79,"ctg_id":6},{"cnt":59,"ctg_id":7},{"cnt":54,"ctg_id":8},{"cnt":1,"ctg_id":9},{"cnt":12,"ctg_id":10},{"cnt":3,"ctg_id":11},{"cnt":5,"ctg_id":12},{"cnt":1,"ctg_id":13},{"cnt":1,"ctg_id":17},{"cnt":1,"ctg_id":18},{"cnt":1,"ctg_id":19},{"cnt":10,"ctg_id":20},{"cnt":1857,"ctg_id":21},{"cnt":632,"ctg_id":22},{"cnt":4912,"ctg_id":23},{"cnt":1235,"ctg_id":24},{"cnt":1156,"ctg_id":25},{"cnt":1165,"ctg_id":26},{"cnt":111,"ctg_id":27},{"cnt":115,"ctg_id":28},{"cnt":40,"ctg_id":29},{"cnt":42,"ctg_id":30},{"cnt":76,"ctg_id":31},{"cnt":11,"ctg_id":32},{"cnt":6,"ctg_id":33},{"cnt":6,"ctg_id":34},{"cnt":185,"ctg_id":35},{"cnt":3,"ctg_id":40},{"cnt":1,"ctg_id":41},{"cnt":4,"ctg_id":43},{"cnt":28,"ctg_id":44},{"cnt":11,"ctg_id":45},{"cnt":2,"ctg_id":46},{"cnt":2,"ctg_id":48},{"cnt":5,"ctg_id":49},{"cnt":1,"ctg_id":50},{"cnt":5,"ctg_id":51},{"cnt":2,"ctg_id":52},{"cnt":52,"ctg_id":53},{"cnt":3,"ctg_id":54},{"cnt":8,"ctg_id":55},{"cnt":5,"ctg_id":57},{"cnt":8,"ctg_id":60},{"cnt":20,"ctg_id":61},{"cnt":1,"ctg_id":65},{"cnt":43,"ctg_id":66},{"cnt":46,"ctg_id":67},{"cnt":30,"ctg_id":68},{"cnt":17,"ctg_id":69},{"cnt":165,"ctg_id":70},{"cnt":29,"ctg_id":71},{"cnt":15,"ctg_id":72},{"cnt":28,"ctg_id":73},{"cnt":123,"ctg_id":76},{"cnt":6,"ctg_id":77},{"cnt":1,"ctg_id":79},{"cnt":1,"ctg_id":80},{"cnt":1,"ctg_id":81},{"cnt":23,"ctg_id":83},{"cnt":1,"ctg_id":85},{"cnt":1,"ctg_id":86},{"cnt":6,"ctg_id":87},{"cnt":2,"ctg_id":89},{"cnt":1,"ctg_id":90},{"cnt":4,"ctg_id":92},{"cnt":4,"ctg_id":93},{"cnt":2,"ctg_id":96},{"cnt":7,"ctg_id":97},{"cnt":1,"ctg_id":99},{"cnt":1,"ctg_id":100},{"cnt":1,"ctg_id":101},{"cnt":3,"ctg_id":103},{"cnt":3,"ctg_id":106},{"cnt":55,"ctg_id":107},{"cnt":2,"ctg_id":108},{"cnt":1,"ctg_id":109},{"cnt":1,"ctg_id":110},{"cnt":1,"ctg_id":111},{"cnt":5,"ctg_id":113},{"cnt":2,"ctg_id":117},{"cnt":3,"ctg_id":119},{"cnt":1,"ctg_id":123},{"cnt":2,"ctg_id":124},{"cnt":2,"ctg_id":125},{"cnt":12,"ctg_id":127},{"cnt":2,"ctg_id":131},{"cnt":1,"ctg_id":133},{"cnt":1,"ctg_id":134},{"cnt":3,"ctg_id":137},{"cnt":1,"ctg_id":138},{"cnt":3,"ctg_id":140},{"cnt":20,"ctg_id":141},{"cnt":1,"ctg_id":143},{"cnt":1,"ctg_id":144},{"cnt":1,"ctg_id":145},{"cnt":1,"ctg_id":153},{"cnt":1,"ctg_id":154},{"cnt":1,"ctg_id":155},{"cnt":3,"ctg_id":157},{"cnt":1,"ctg_id":158},{"cnt":3,"ctg_id":160},{"cnt":17,"ctg_id":161},{"cnt":1,"ctg_id":163},{"cnt":1,"ctg_id":164},{"cnt":1,"ctg_id":170},{"cnt":1,"ctg_id":173},{"cnt":1,"ctg_id":174},{"cnt":1,"ctg_id":175},{"cnt":22,"ctg_id":177},{"cnt":41,"ctg_id":179},{"cnt":3,"ctg_id":180},{"cnt":17,"ctg_id":181},{"cnt":1,"ctg_id":183},{"cnt":1,"ctg_id":184},{"cnt":1,"ctg_id":185},{"cnt":7,"ctg_id":187},{"cnt":2,"ctg_id":190},{"cnt":20,"ctg_id":191},{"cnt":7,"ctg_id":193},{"cnt":23,"ctg_id":194},{"cnt":4,"ctg_id":195},{"cnt":81,"ctg_id":196},{"cnt":3,"ctg_id":197},{"cnt":5,"ctg_id":199},{"cnt":2,"ctg_id":200},{"cnt":1,"ctg_id":201},{"cnt":25,"ctg_id":202},{"cnt":31,"ctg_id":203},{"cnt":20,"ctg_id":204},{"cnt":15,"ctg_id":205},{"cnt":7,"ctg_id":206},{"cnt":34,"ctg_id":207},{"cnt":21,"ctg_id":208},{"cnt":11,"ctg_id":213},{"cnt":3,"ctg_id":214},{"cnt":2814,"ctg_id":215},{"cnt":2,"ctg_id":216},{"cnt":1,"ctg_id":217},{"cnt":1,"ctg_id":231}]},"hypothesisId":"H3_GROUP","location":"main.go:466","message":"链式 Group 分组测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030871778}
{"data":{"count":5,"query":"SELECT article.id, article.title, ctg.name as ctg_name FROM `article` LEFT JOIN `ctg` ON article.ctg_id = ctg.id WHERE article.state=? LIMIT 5 ;"},"hypothesisId":"H4_TRADITIONAL_JOIN","location":"main.go:525","message":"传统 JOIN 语法测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030872521}
{"data":{"stats":[{"article_count":4912,"avg_clicks":"34.7453","ctg_id":23,"total_clicks":"170669"},{"article_count":2814,"avg_clicks":"24.8856","ctg_id":215,"total_clicks":"70028"},{"article_count":1857,"avg_clicks":"55.4265","ctg_id":21,"total_clicks":"102927"},{"article_count":1235,"avg_clicks":"12.1061","ctg_id":24,"total_clicks":"14951"},{"article_count":1165,"avg_clicks":"2.6704","ctg_id":26,"total_clicks":"3111"},{"article_count":1156,"avg_clicks":"16.6176","ctg_id":25,"total_clicks":"19210"},{"article_count":632,"avg_clicks":"131.1487","ctg_id":22,"total_clicks":"82886"},{"article_count":627,"avg_clicks":"2.0335","ctg_id":null,"total_clicks":"1275"},{"article_count":185,"avg_clicks":"8.6757","ctg_id":35,"total_clicks":"1605"},{"article_count":165,"avg_clicks":"0.4242","ctg_id":70,"total_clicks":"70"}]},"hypothesisId":"H5_GROUP_BY","location":"main.go:625","message":"GROUP BY 分组统计测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030872702}
{"data":{"10_raw_sql":{"name":"原生SQL测试","success":true,"tests":[{"count":5,"name":"Query 原生查询","result":true},{"affected":1,"name":"Exec 原生执行","result":true}]},"1_basic_crud":{"name":"基础CRUD测试","success":true,"tests":[{"adminId":16,"lastQuery":"INSERT INTO `admin` (`create_time`,`modify_time`,`name`,`phone`,`state`,`password`,`role_id`,`title`) VALUES (NOW(),NOW(),?,?,?,?,?,?);","name":"Insert 插入测试 (admin表)","result":true},{"admin":{"avatar_img":null,"create_time":"2026-01-21 21:27:51","id":16,"modify_time":"2026-01-21 21:27:51","name":"测试管理员_1769030871","password":"test123456","phone":"13869030871","role_id":1,"state":1,"title":"测试职位"},"name":"Get 获取单条记录测试","result":true},{"count":1,"name":"Select 单条件查询测试","result":true},{"count":1,"lastQuery":"SELECT * FROM `admin` WHERE `role_id` \u003e? AND `state` =? ORDER BY id DESC LIMIT 5 ;","name":"Select 多条件自动AND测试","result":true},{"affected":1,"name":"Update 更新测试","result":true},{"affected":1,"name":"Delete 删除测试","result":true}]},"2_condition_syntax":{"name":"条件查询语法测试","success":true,"tests":[{"count":3,"name":"等于条件 (=)","result":true},{"count":3,"lastQuery":"SELECT id,title,state FROM `article` WHERE `state` !=? LIMIT 3 ;","name":"不等于条件 ([!])","result":true},{"count":3,"name":"大于小于条件 ([\u003e], [\u003c])","result":true},{"count":3,"name":"大于等于小于等于条件 ([\u003e=], [\u003c=])","result":true},{"count":3,"lastQuery":"SELECT id,title FROM `article` WHERE `title` LIKE ? LIMIT 3 ;","name":"LIKE 模糊查询 ([~])","result":true},{"count":0,"name":"右模糊查询 ([~!])","result":true},{"count":3,"lastQuery":"SELECT id,title,click_num FROM `article` WHERE `click_num` BETWEEN ? AND ? LIMIT 3 ;","name":"BETWEEN 区间查询 ([\u003c\u003e])","result":true},{"count":0,"name":"NOT BETWEEN 查询 ([\u003e\u003c])","result":true},{"count":5,"lastQuery":"SELECT id,title FROM `article` WHERE (`id` BETWEEN ? AND ? ) LIMIT 5 ;","name":"IN 查询","result":true},{"count":5,"name":"NOT IN 查询 ([!])","result":true},{"count":3,"name":"IS NULL 查询","result":true},{"count":3,"name":"IS NOT NULL 查询 ([!])","result":true},{"count":0,"lastQuery":"SELECT id,title,create_time FROM `article` WHERE create_time \u003e DATE_SUB(NOW(), INTERVAL 365 DAY) LIMIT 3 ;","name":"直接 SQL 片段查询 ([##])","result":true},{"count":3,"name":"显式 AND 条件","result":true},{"count":5,"name":"OR 条件","result":true},{"count":5,"lastQuery":"SELECT id,title,sort,state FROM `article` WHERE ( `click_num` \u003e? OR `sort` \u003e=? ) AND `state` =? LIMIT 5 ;","name":"嵌套 AND/OR 条件","result":true}]},"3_chain_query":{"name":"链式查询测试","success":true,"tests":[{"count":16659,"name":"基本链式查询 Table().Where().Select()","result":true},{"count":16659,"name":"链式 And 条件","result":true},{"count":16659,"name":"链式 Or 条件","result":true},{"count":5,"name":"链式 Order 排序","result":true},{"count":3,"name":"链式 Limit 限制","result":true},{"article":{"author":"atestu","id":1,"title":"atestu"},"name":"链式 Get 获取单条","result":true},{"count":16659,"name":"链式 Count 统计","result":true},{"count":5,"name":"链式 Page 分页","result":true},{"name":"链式 Group 分组","result":true,"stats":[{"cnt":627,"ctg_id":null},{"cnt":36,"ctg_id":1},{"cnt":57,"ctg_id":2},{"cnt":8,"ctg_id":3},{"cnt":38,"ctg_id":4},{"cnt":11,"ctg_id":5},{"cnt":79,"ctg_id":6},{"cnt":59,"ctg_id":7},{"cnt":54,"ctg_id":8},{"cnt":1,"ctg_id":9},{"cnt":12,"ctg_id":10},{"cnt":3,"ctg_id":11},{"cnt":5,"ctg_id":12},{"cnt":1,"ctg_id":13},{"cnt":1,"ctg_id":17},{"cnt":1,"ctg_id":18},{"cnt":1,"ctg_id":19},{"cnt":10,"ctg_id":20},{"cnt":1857,"ctg_id":21},{"cnt":632,"ctg_id":22},{"cnt":4912,"ctg_id":23},{"cnt":1235,"ctg_id":24},{"cnt":1156,"ctg_id":25},{"cnt":1165,"ctg_id":26},{"cnt":111,"ctg_id":27},{"cnt":115,"ctg_id":28},{"cnt":40,"ctg_id":29},{"cnt":42,"ctg_id":30},{"cnt":76,"ctg_id":3
{"data":{"count":2,"query":"SELECT * FROM `admin` WHERE `role_id` \u003e? AND `state` =? ORDER BY id DESC LIMIT 5 ;"},"hypothesisId":"H1_SELECT2","location":"main.go:149","message":"Select 多条件自动AND测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030893508}
{"data":{"count":3,"query":"SELECT id,title,state FROM `article` WHERE `state` !=? LIMIT 3 ;"},"hypothesisId":"H2_NOT_EQUAL","location":"main.go:204","message":"不等于条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030900525}
{"data":{"count":3,"query":"SELECT id,title FROM `article` WHERE `title` LIKE ? LIMIT 3 ;"},"hypothesisId":"H2_LIKE","location":"main.go:237","message":"LIKE 模糊查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030900534}
{"data":{"count":3,"query":"SELECT id,title,click_num FROM `article` WHERE `click_num` BETWEEN ? AND ? LIMIT 3 ;"},"hypothesisId":"H2_BETWEEN","location":"main.go:254","message":"BETWEEN 区间查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030900541}
{"data":{"count":0},"hypothesisId":"H2_NOT_BETWEEN","location":"main.go:262","message":"NOT BETWEEN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030900561}
{"data":{"count":5,"query":"SELECT id,title FROM `article` WHERE (`id` BETWEEN ? AND ? ) LIMIT 5 ;"},"hypothesisId":"H2_IN","location":"main.go:271","message":"IN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030900564}
{"data":{"count":5},"hypothesisId":"H2_NOT_IN","location":"main.go:279","message":"NOT IN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030900568}
{"data":{"count":3},"hypothesisId":"H2_IS_NOT_NULL","location":"main.go:295","message":"IS NOT NULL 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030900571}
{"data":{"count":0,"query":"SELECT id,title,create_time FROM `article` WHERE create_time \u003e DATE_SUB(NOW(), INTERVAL 365 DAY) LIMIT 3 ;"},"hypothesisId":"H2_RAW_SQL","location":"main.go:307","message":"直接 SQL 片段查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030900590}
{"data":{"count":3},"hypothesisId":"H2_EXPLICIT_AND","location":"main.go:321","message":"显式 AND 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030900593}
{"data":{"count":5,"query":"SELECT id,title,sort,state FROM `article` WHERE ( `click_num` \u003e? OR `sort` \u003e=? ) AND `state` =? LIMIT 5 ;"},"hypothesisId":"H2_NESTED","location":"main.go:353","message":"嵌套 AND/OR 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030900597}
{"data":{"count":3,"query":"SELECT * FROM `admin` WHERE `role_id` \u003e? AND `state` =? ORDER BY id DESC LIMIT 5 ;"},"hypothesisId":"H1_SELECT2","location":"main.go:149","message":"Select 多条件自动AND测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030913933}
{"data":{"count":3,"query":"SELECT id,title,state FROM `article` WHERE `state` !=? LIMIT 3 ;"},"hypothesisId":"H2_NOT_EQUAL","location":"main.go:204","message":"不等于条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914314}
{"data":{"count":3,"query":"SELECT id,title FROM `article` WHERE `title` LIKE ? LIMIT 3 ;"},"hypothesisId":"H2_LIKE","location":"main.go:237","message":"LIKE 模糊查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914322}
{"data":{"count":3,"query":"SELECT id,title,click_num FROM `article` WHERE `click_num` BETWEEN ? AND ? LIMIT 3 ;"},"hypothesisId":"H2_BETWEEN","location":"main.go:254","message":"BETWEEN 区间查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914331}
{"data":{"count":0},"hypothesisId":"H2_NOT_BETWEEN","location":"main.go:262","message":"NOT BETWEEN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914353}
{"data":{"count":5,"query":"SELECT id,title FROM `article` WHERE (`id` BETWEEN ? AND ? ) LIMIT 5 ;"},"hypothesisId":"H2_IN","location":"main.go:271","message":"IN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914358}
{"data":{"count":5},"hypothesisId":"H2_NOT_IN","location":"main.go:279","message":"NOT IN 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914362}
{"data":{"count":3},"hypothesisId":"H2_IS_NOT_NULL","location":"main.go:295","message":"IS NOT NULL 查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914364}
{"data":{"count":0,"query":"SELECT id,title,create_time FROM `article` WHERE create_time \u003e DATE_SUB(NOW(), INTERVAL 365 DAY) LIMIT 3 ;"},"hypothesisId":"H2_RAW_SQL","location":"main.go:307","message":"直接 SQL 片段查询测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914384}
{"data":{"count":3},"hypothesisId":"H2_EXPLICIT_AND","location":"main.go:321","message":"显式 AND 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914390}
{"data":{"count":5,"query":"SELECT id,title,sort,state FROM `article` WHERE ( `click_num` \u003e? OR `sort` \u003e=? ) AND `state` =? LIMIT 5 ;"},"hypothesisId":"H2_NESTED","location":"main.go:353","message":"嵌套 AND/OR 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914398}
{"data":{"count":16659},"hypothesisId":"H3_AND","location":"main.go:387","message":"链式 And 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914468}
{"data":{"count":16659},"hypothesisId":"H3_OR","location":"main.go:401","message":"链式 Or 条件测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914497}
{"data":{"count":5},"hypothesisId":"H3_ORDER","location":"main.go:413","message":"链式 Order 排序测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914521}
{"data":{"article":{"author":"atestu","id":1,"title":"atestu"}},"hypothesisId":"H3_GET","location":"main.go:434","message":"链式 Get 获取单条测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914529}
{"data":{"stats":[{"cnt":627,"ctg_id":null},{"cnt":36,"ctg_id":1},{"cnt":57,"ctg_id":2},{"cnt":8,"ctg_id":3},{"cnt":38,"ctg_id":4},{"cnt":11,"ctg_id":5},{"cnt":79,"ctg_id":6},{"cnt":59,"ctg_id":7},{"cnt":54,"ctg_id":8},{"cnt":1,"ctg_id":9},{"cnt":12,"ctg_id":10},{"cnt":3,"ctg_id":11},{"cnt":5,"ctg_id":12},{"cnt":1,"ctg_id":13},{"cnt":1,"ctg_id":17},{"cnt":1,"ctg_id":18},{"cnt":1,"ctg_id":19},{"cnt":10,"ctg_id":20},{"cnt":1857,"ctg_id":21},{"cnt":632,"ctg_id":22},{"cnt":4912,"ctg_id":23},{"cnt":1235,"ctg_id":24},{"cnt":1156,"ctg_id":25},{"cnt":1165,"ctg_id":26},{"cnt":111,"ctg_id":27},{"cnt":115,"ctg_id":28},{"cnt":40,"ctg_id":29},{"cnt":42,"ctg_id":30},{"cnt":76,"ctg_id":31},{"cnt":11,"ctg_id":32},{"cnt":6,"ctg_id":33},{"cnt":6,"ctg_id":34},{"cnt":185,"ctg_id":35},{"cnt":3,"ctg_id":40},{"cnt":1,"ctg_id":41},{"cnt":4,"ctg_id":43},{"cnt":28,"ctg_id":44},{"cnt":11,"ctg_id":45},{"cnt":2,"ctg_id":46},{"cnt":2,"ctg_id":48},{"cnt":5,"ctg_id":49},{"cnt":1,"ctg_id":50},{"cnt":5,"ctg_id":51},{"cnt":2,"ctg_id":52},{"cnt":52,"ctg_id":53},{"cnt":3,"ctg_id":54},{"cnt":8,"ctg_id":55},{"cnt":5,"ctg_id":57},{"cnt":8,"ctg_id":60},{"cnt":20,"ctg_id":61},{"cnt":1,"ctg_id":65},{"cnt":43,"ctg_id":66},{"cnt":46,"ctg_id":67},{"cnt":30,"ctg_id":68},{"cnt":17,"ctg_id":69},{"cnt":165,"ctg_id":70},{"cnt":29,"ctg_id":71},{"cnt":15,"ctg_id":72},{"cnt":28,"ctg_id":73},{"cnt":123,"ctg_id":76},{"cnt":6,"ctg_id":77},{"cnt":1,"ctg_id":79},{"cnt":1,"ctg_id":80},{"cnt":1,"ctg_id":81},{"cnt":23,"ctg_id":83},{"cnt":1,"ctg_id":85},{"cnt":1,"ctg_id":86},{"cnt":6,"ctg_id":87},{"cnt":2,"ctg_id":89},{"cnt":1,"ctg_id":90},{"cnt":4,"ctg_id":92},{"cnt":4,"ctg_id":93},{"cnt":2,"ctg_id":96},{"cnt":7,"ctg_id":97},{"cnt":1,"ctg_id":99},{"cnt":1,"ctg_id":100},{"cnt":1,"ctg_id":101},{"cnt":3,"ctg_id":103},{"cnt":3,"ctg_id":106},{"cnt":55,"ctg_id":107},{"cnt":2,"ctg_id":108},{"cnt":1,"ctg_id":109},{"cnt":1,"ctg_id":110},{"cnt":1,"ctg_id":111},{"cnt":5,"ctg_id":113},{"cnt":2,"ctg_id":117},{"cnt":3,"ctg_id":119},{"cnt":1,"ctg_id":123},{"cnt":2,"ctg_id":124},{"cnt":2,"ctg_id":125},{"cnt":12,"ctg_id":127},{"cnt":2,"ctg_id":131},{"cnt":1,"ctg_id":133},{"cnt":1,"ctg_id":134},{"cnt":3,"ctg_id":137},{"cnt":1,"ctg_id":138},{"cnt":3,"ctg_id":140},{"cnt":20,"ctg_id":141},{"cnt":1,"ctg_id":143},{"cnt":1,"ctg_id":144},{"cnt":1,"ctg_id":145},{"cnt":1,"ctg_id":153},{"cnt":1,"ctg_id":154},{"cnt":1,"ctg_id":155},{"cnt":3,"ctg_id":157},{"cnt":1,"ctg_id":158},{"cnt":3,"ctg_id":160},{"cnt":17,"ctg_id":161},{"cnt":1,"ctg_id":163},{"cnt":1,"ctg_id":164},{"cnt":1,"ctg_id":170},{"cnt":1,"ctg_id":173},{"cnt":1,"ctg_id":174},{"cnt":1,"ctg_id":175},{"cnt":22,"ctg_id":177},{"cnt":41,"ctg_id":179},{"cnt":3,"ctg_id":180},{"cnt":17,"ctg_id":181},{"cnt":1,"ctg_id":183},{"cnt":1,"ctg_id":184},{"cnt":1,"ctg_id":185},{"cnt":7,"ctg_id":187},{"cnt":2,"ctg_id":190},{"cnt":20,"ctg_id":191},{"cnt":7,"ctg_id":193},{"cnt":23,"ctg_id":194},{"cnt":4,"ctg_id":195},{"cnt":81,"ctg_id":196},{"cnt":3,"ctg_id":197},{"cnt":5,"ctg_id":199},{"cnt":2,"ctg_id":200},{"cnt":1,"ctg_id":201},{"cnt":25,"ctg_id":202},{"cnt":31,"ctg_id":203},{"cnt":20,"ctg_id":204},{"cnt":15,"ctg_id":205},{"cnt":7,"ctg_id":206},{"cnt":34,"ctg_id":207},{"cnt":21,"ctg_id":208},{"cnt":11,"ctg_id":213},{"cnt":3,"ctg_id":214},{"cnt":2814,"ctg_id":215},{"cnt":2,"ctg_id":216},{"cnt":1,"ctg_id":217},{"cnt":1,"ctg_id":231}]},"hypothesisId":"H3_GROUP","location":"main.go:466","message":"链式 Group 分组测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914577}
{"data":{"count":5,"query":"SELECT article.id, article.title, ctg.name as ctg_name FROM `article` LEFT JOIN `ctg` ON article.ctg_id = ctg.id WHERE article.state=? LIMIT 5 ;"},"hypothesisId":"H4_TRADITIONAL_JOIN","location":"main.go:525","message":"传统 JOIN 语法测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030914872}
{"data":{"stats":[{"article_count":4912,"avg_clicks":"34.7453","ctg_id":23,"total_clicks":"170669"},{"article_count":2814,"avg_clicks":"24.8856","ctg_id":215,"total_clicks":"70028"},{"article_count":1857,"avg_clicks":"55.4265","ctg_id":21,"total_clicks":"102927"},{"article_count":1235,"avg_clicks":"12.1061","ctg_id":24,"total_clicks":"14951"},{"article_count":1165,"avg_clicks":"2.6704","ctg_id":26,"total_clicks":"3111"},{"article_count":1156,"avg_clicks":"16.6176","ctg_id":25,"total_clicks":"19210"},{"article_count":632,"avg_clicks":"131.1487","ctg_id":22,"total_clicks":"82886"},{"article_count":627,"avg_clicks":"2.0335","ctg_id":null,"total_clicks":"1275"},{"article_count":185,"avg_clicks":"8.6757","ctg_id":35,"total_clicks":"1605"},{"article_count":165,"avg_clicks":"0.4242","ctg_id":70,"total_clicks":"70"}]},"hypothesisId":"H5_GROUP_BY","location":"main.go:625","message":"GROUP BY 分组统计测试","runId":"hotimedb-test-run","sessionId":"debug-session","timestamp":1769030915033}
{"data":{"10_raw_sql":{"name":"原生SQL测试","success":true,"tests":[{"count":5,"name":"Query 原生查询","result":true},{"affected":1,"name":"Exec 原生执行","result":true}]},"1_basic_crud":{"name":"基础CRUD测试","success":true,"tests":[{"adminId":20,"lastQuery":"INSERT INTO `admin` (`title`,`create_time`,`modify_time`,`name`,`phone`,`state`,`password`,`role_id`) VALUES (?,NOW(),NOW(),?,?,?,?,?);","name":"Insert 插入测试 (admin表)","result":true},{"admin":{"avatar_img":null,"create_time":"2026-01-21 21:28:33","id":20,"modify_time":"2026-01-21 21:28:33","name":"测试管理员_1769030913","password":"test123456","phone":"13869030913","role_id":1,"state":1,"title":"测试职位"},"name":"Get 获取单条记录测试","result":true},{"count":3,"name":"Select 单条件查询测试","result":true},{"count":3,"lastQuery":"SELECT * FROM `admin` WHERE `role_id` \u003e? AND `state` =? ORDER BY id DESC LIMIT 5 ;","name":"Select 多条件自动AND测试","result":true},{"affected":1,"name":"Update 更新测试","result":true},{"affected":1,"name":"Delete 删除测试","result":true}]},"2_condition_syntax":{"name":"条件查询语法测试","success":true,"tests":[{"count":3,"name":"等于条件 (=)","result":true},{"count":3,"lastQuery":"SELECT id,title,state FROM `article` WHERE `state` !=? LIMIT 3 ;","name":"不等于条件 ([!])","result":true},{"count":3,"name":"大于小于条件 ([\u003e], [\u003c])","result":true},{"count":3,"name":"大于等于小于等于条件 ([\u003e=], [\u003c=])","result":true},{"count":3,"lastQuery":"SELECT id,title FROM `article` WHERE `title` LIKE ? LIMIT 3 ;","name":"LIKE 模糊查询 ([~])","result":true},{"count":0,"name":"右模糊查询 ([~!])","result":true},{"count":3,"lastQuery":"SELECT id,title,click_num FROM `article` WHERE `click_num` BETWEEN ? AND ? LIMIT 3 ;","name":"BETWEEN 区间查询 ([\u003c\u003e])","result":true},{"count":0,"name":"NOT BETWEEN 查询 ([\u003e\u003c])","result":true},{"count":5,"lastQuery":"SELECT id,title FROM `article` WHERE (`id` BETWEEN ? AND ? ) LIMIT 5 ;","name":"IN 查询","result":true},{"count":5,"name":"NOT IN 查询 ([!])","result":true},{"count":3,"name":"IS NULL 查询","result":true},{"count":3,"name":"IS NOT NULL 查询 ([!])","result":true},{"count":0,"lastQuery":"SELECT id,title,create_time FROM `article` WHERE create_time \u003e DATE_SUB(NOW(), INTERVAL 365 DAY) LIMIT 3 ;","name":"直接 SQL 片段查询 ([##])","result":true},{"count":3,"name":"显式 AND 条件","result":true},{"count":5,"name":"OR 条件","result":true},{"count":5,"lastQuery":"SELECT id,title,sort,state FROM `article` WHERE ( `click_num` \u003e? OR `sort` \u003e=? ) AND `state` =? LIMIT 5 ;","name":"嵌套 AND/OR 条件","result":true}]},"3_chain_query":{"name":"链式查询测试","success":true,"tests":[{"count":16659,"name":"基本链式查询 Table().Where().Select()","result":true},{"count":16659,"name":"链式 And 条件","result":true},{"count":16659,"name":"链式 Or 条件","result":true},{"count":5,"name":"链式 Order 排序","result":true},{"count":3,"name":"链式 Limit 限制","result":true},{"article":{"author":"atestu","id":1,"title":"atestu"},"name":"链式 Get 获取单条","result":true},{"count":16659,"name":"链式 Count 统计","result":true},{"count":5,"name":"链式 Page 分页","result":true},{"name":"链式 Group 分组","result":true,"stats":[{"cnt":627,"ctg_id":null},{"cnt":36,"ctg_id":1},{"cnt":57,"ctg_id":2},{"cnt":8,"ctg_id":3},{"cnt":38,"ctg_id":4},{"cnt":11,"ctg_id":5},{"cnt":79,"ctg_id":6},{"cnt":59,"ctg_id":7},{"cnt":54,"ctg_id":8},{"cnt":1,"ctg_id":9},{"cnt":12,"ctg_id":10},{"cnt":3,"ctg_id":11},{"cnt":5,"ctg_id":12},{"cnt":1,"ctg_id":13},{"cnt":1,"ctg_id":17},{"cnt":1,"ctg_id":18},{"cnt":1,"ctg_id":19},{"cnt":10,"ctg_id":20},{"cnt":1857,"ctg_id":21},{"cnt":632,"ctg_id":22},{"cnt":4912,"ctg_id":23},{"cnt":1235,"ctg_id":24},{"cnt":1156,"ctg_id":25},{"cnt":1165,"ctg_id":26},{"cnt":111,"ctg_id":27},{"cnt":115,"ctg_id":28},{"cnt":40,"ctg_id":29},{"cnt":42,"ctg_id":30},{"cnt":76,"ctg_id":3