【miniob】JOIN TABLE DEBUG

pro1

INSERT INTO join_table_1 VALUES (4, '16a'); Select * from join_table_1 inner join join_table_2 on join_table_1.name<join_table_2.age and join_table_1.id=join_table_2.id; + failed to receive response from observer. reason=Failed to receive from server. poll return POLLHUP=16 or POLLERR=str(event & select.POLLERR) failed to receive response from observer. reason=Failed to receive from server. poll return POLLHUP=16 or POLLERR=str(event & select.POLLERR)

就是对于表达式当中的比较类型,如果不一致的话,一开始是没考虑,后面是直接返回类型不一致的报错,但是没过,看别人的思路,应该就是要进行强转比较


就是当类型不可比的时候,如何处理?

char为什么能转换成double?是否能转为Int或其它类型?

subpro1

这个就是在.h文件中,就不用再声明类名前缀了

将Value::去掉即可

subpro2

就是运行以下make clean,清理一下缓存

subpro3

这个很抽象的一点是代码内部自己定义了一个string,和std::string不一样(?

但确实不太理解之间的区别

用.c_str()就能正常打印和输出了

test

大数据

select * from join_table_large_1

inner join join_table_large_2 on join_table_large_1.id=join_table_large_2.id

inner join join_table_large_3 on join_table_large_1.id=join_table_large_3.id

inner join join_table_large_4 on join_table_large_3.id=join_table_large_4.id

inner join join_table_large_5 on 1=1

inner join join_table_large_6 on join_table_large_5.id=join_table_large_6.id

where

join_table_large_3.num3 <10

and

join_table_large_5.num5>90;

select * from join_table_large_1 inner join join_table_large_2 on join_table_large_1.id=join_table_large_2.id inner join join_table_large_3 on join_table_large_1.id=join_table_large_3.id inner join join_table_large_4 on join_table_large_3.id=join_table_large_4.id inner join join_table_large_5 on 1=1 inner join join_table_large_6 on join_table_large_5.id=join_table_large_6.id where join_table_large_3.num3 <10 and join_table_large_5.num5>90;

select * from join_table_1 inner join join_table_2 on 1=1

select * from join_table_large_5

CREATE TABLE join_table_1(id int, name char);

INSERT INTO join_table_1 VALUES (1, 'a');

INSERT INTO join_table_1 VALUES (2, 'b');

CREATE TABLE join_table_2(id int, num int);

INSERT INTO join_table_2 VALUES (1, 2);

INSERT INTO join_table_2 VALUES (2, 15);

create table join_table_large_1(id int, num1 int);

create table join_table_large_2(id int, num2 int);

create table join_table_large_3(id int, num3 int);

create table join_table_large_4(id int, num4 int);

create table join_table_large_5(id int, num5 int);

create table join_table_large_6(id int, num6 int);

insert into join_table_large_1 values(1, 1);

insert into join_table_large_1 values(2, 2);

insert into join_table_large_1 values(3, 3);

insert into join_table_large_1 values(4, 4);

insert into join_table_large_1 values(5, 5);

insert into join_table_large_1 values(6, 6);

insert into join_table_large_1 values(7, 7);

insert into join_table_large_1 values(8, 8);

insert into join_table_large_1 values(9, 9);

insert into join_table_large_1 values(10, 10);

insert into join_table_large_1 values(11, 11);

insert into join_table_large_1 values(12, 12);

insert into join_table_large_2 values(1, 1);

insert into join_table_large_2 values(2, 2);

insert into join_table_large_2 values(3, 3);

insert into join_table_large_2 values(4, 4);

insert into join_table_large_2 values(5, 5);

insert into join_table_large_2 values(6, 6);

insert into join_table_large_2 values(7, 7);

insert into join_table_large_2 values(8, 8);

insert into join_table_large_2 values(9, 9);

insert into join_table_large_2 values(10, 10);

insert into join_table_large_2 values(11, 11);

insert into join_table_large_2 values(12, 12);

insert into join_table_large_3 values(1, 1);

insert into join_table_large_3 values(2, 2);

insert into join_table_large_3 values(3, 3);

insert into join_table_large_3 values(4, 4);

insert into join_table_large_3 values(5, 5);

insert into join_table_large_3 values(6, 6);

insert into join_table_large_3 values(7, 7);

insert into join_table_large_3 values(8, 8);

insert into join_table_large_3 values(9, 9);

insert into join_table_large_3 values(10, 10);

insert into join_table_large_3 values(11, 11);

insert into join_table_large_3 values(12, 12);

insert into join_table_large_4 values(1, 1);

insert into join_table_large_4 values(2, 2);

insert into join_table_large_4 values(3, 3);

insert into join_table_large_4 values(4, 4);

insert into join_table_large_4 values(5, 5);

insert into join_table_large_4 values(6, 6);

insert into join_table_large_4 values(7, 7);

insert into join_table_large_4 values(8, 8);

insert into join_table_large_4 values(9, 9);

insert into join_table_large_4 values(10, 10);

insert into join_table_large_4 values(11, 11);

insert into join_table_large_4 values(12, 12);

insert into join_table_large_5 values(87, 87);

insert into join_table_large_5 values(88, 88);

insert into join_table_large_5 values(89, 89);

insert into join_table_large_5 values(90, 90);

insert into join_table_large_5 values(91, 91);

insert into join_table_large_5 values(92, 92);

insert into join_table_large_5 values(93, 93);

insert into join_table_large_5 values(94, 94);

insert into join_table_large_5 values(95, 95);

insert into join_table_large_5 values(96, 96);

insert into join_table_large_5 values(97, 97);

insert into join_table_large_5 values(98, 98);

insert into join_table_large_5 values(99, 99);

insert into join_table_large_5 values(100, 100);

insert into join_table_large_6 values(86, 86);

insert into join_table_large_6 values(87, 87);

insert into join_table_large_6 values(88, 88);

insert into join_table_large_6 values(89, 89);

insert into join_table_large_6 values(90, 90);

insert into join_table_large_6 values(91, 91);

insert into join_table_large_6 values(92, 92);

insert into join_table_large_6 values(93, 93);

insert into join_table_large_6 values(94, 94);

insert into join_table_large_6 values(95, 95);

insert into join_table_large_6 values(96, 96);

insert into join_table_large_6 values(97, 97);

insert into join_table_large_6 values(98, 98);

insert into join_table_large_6 values(99, 99);

insert into join_table_large_6 values(100, 100);

大数据下没问题,就是数据要求可判断的

miniob > select * from join_table_large_1 inner join join_table_large_2 on join_table_large_1.id=join_table_large_2.id inner join join_table_large_3 on join_table_large_1.id=join_table_large_3.id inner join join_table_large_4 on join_table_large_3.id=join_table_large_4.id inner join join_table_large_5 on 1=1 inner join join_table_large_6 on join_table_large_5.id=join_table_large_6.id where join_table_large_3.num3 <10 and join_table_large_5.num5>90;

id | num1 | id | num6 | id | num5 | id | num4 | id | num3 | id | num2

1 | 1 | 91 | 91 | 91 | 91 | 1 | 1 | 1 | 1 | 1 | 1

1 | 1 | 92 | 92 | 92 | 92 | 1 | 1 | 1 | 1 | 1 | 1

1 | 1 | 93 | 93 | 93 | 93 | 1 | 1 | 1 | 1 | 1 | 1

1 | 1 | 94 | 94 | 94 | 94 | 1 | 1 | 1 | 1 | 1 | 1

1 | 1 | 95 | 95 | 95 | 95 | 1 | 1 | 1 | 1 | 1 | 1

1 | 1 | 96 | 96 | 96 | 96 | 1 | 1 | 1 | 1 | 1 | 1

1 | 1 | 97 | 97 | 97 | 97 | 1 | 1 | 1 | 1 | 1 | 1

1 | 1 | 98 | 98 | 98 | 98 | 1 | 1 | 1 | 1 | 1 | 1

1 | 1 | 99 | 99 | 99 | 99 | 1 | 1 | 1 | 1 | 1 | 1

1 | 1 | 100 | 100 | 100 | 100 | 1 | 1 | 1 | 1 | 1 | 1

2 | 2 | 91 | 91 | 91 | 91 | 2 | 2 | 2 | 2 | 2 | 2

2 | 2 | 92 | 92 | 92 | 92 | 2 | 2 | 2 | 2 | 2 | 2

2 | 2 | 93 | 93 | 93 | 93 | 2 | 2 | 2 | 2 | 2 | 2

2 | 2 | 94 | 94 | 94 | 94 | 2 | 2 | 2 | 2 | 2 | 2

2 | 2 | 95 | 95 | 95 | 95 | 2 | 2 | 2 | 2 | 2 | 2

2 | 2 | 96 | 96 | 96 | 96 | 2 | 2 | 2 | 2 | 2 | 2

2 | 2 | 97 | 97 | 97 | 97 | 2 | 2 | 2 | 2 | 2 | 2

2 | 2 | 98 | 98 | 98 | 98 | 2 | 2 | 2 | 2 | 2 | 2

2 | 2 | 99 | 99 | 99 | 99 | 2 | 2 | 2 | 2 | 2 | 2

2 | 2 | 100 | 100 | 100 | 100 | 2 | 2 | 2 | 2 | 2 | 2

3 | 3 | 91 | 91 | 91 | 91 | 3 | 3 | 3 | 3 | 3 | 3

3 | 3 | 92 | 92 | 92 | 92 | 3 | 3 | 3 | 3 | 3 | 3

3 | 3 | 93 | 93 | 93 | 93 | 3 | 3 | 3 | 3 | 3 | 3

3 | 3 | 94 | 94 | 94 | 94 | 3 | 3 | 3 | 3 | 3 | 3

3 | 3 | 95 | 95 | 95 | 95 | 3 | 3 | 3 | 3 | 3 | 3

3 | 3 | 96 | 96 | 96 | 96 | 3 | 3 | 3 | 3 | 3 | 3

3 | 3 | 97 | 97 | 97 | 97 | 3 | 3 | 3 | 3 | 3 | 3

3 | 3 | 98 | 98 | 98 | 98 | 3 | 3 | 3 | 3 | 3 | 3

3 | 3 | 99 | 99 | 99 | 99 | 3 | 3 | 3 | 3 | 3 | 3

3 | 3 | 100 | 100 | 100 | 100 | 3 | 3 | 3 | 3 | 3 | 3

4 | 4 | 91 | 91 | 91 | 91 | 4 | 4 | 4 | 4 | 4 | 4

4 | 4 | 92 | 92 | 92 | 92 | 4 | 4 | 4 | 4 | 4 | 4

4 | 4 | 93 | 93 | 93 | 93 | 4 | 4 | 4 | 4 | 4 | 4

4 | 4 | 94 | 94 | 94 | 94 | 4 | 4 | 4 | 4 | 4 | 4

4 | 4 | 95 | 95 | 95 | 95 | 4 | 4 | 4 | 4 | 4 | 4

4 | 4 | 96 | 96 | 96 | 96 | 4 | 4 | 4 | 4 | 4 | 4

4 | 4 | 97 | 97 | 97 | 97 | 4 | 4 | 4 | 4 | 4 | 4

4 | 4 | 98 | 98 | 98 | 98 | 4 | 4 | 4 | 4 | 4 | 4

4 | 4 | 99 | 99 | 99 | 99 | 4 | 4 | 4 | 4 | 4 | 4

4 | 4 | 100 | 100 | 100 | 100 | 4 | 4 | 4 | 4 | 4 | 4

5 | 5 | 91 | 91 | 91 | 91 | 5 | 5 | 5 | 5 | 5 | 5

5 | 5 | 92 | 92 | 92 | 92 | 5 | 5 | 5 | 5 | 5 | 5

5 | 5 | 93 | 93 | 93 | 93 | 5 | 5 | 5 | 5 | 5 | 5

5 | 5 | 94 | 94 | 94 | 94 | 5 | 5 | 5 | 5 | 5 | 5

5 | 5 | 95 | 95 | 95 | 95 | 5 | 5 | 5 | 5 | 5 | 5

5 | 5 | 96 | 96 | 96 | 96 | 5 | 5 | 5 | 5 | 5 | 5

5 | 5 | 97 | 97 | 97 | 97 | 5 | 5 | 5 | 5 | 5 | 5

5 | 5 | 98 | 98 | 98 | 98 | 5 | 5 | 5 | 5 | 5 | 5

5 | 5 | 99 | 99 | 99 | 99 | 5 | 5 | 5 | 5 | 5 | 5

5 | 5 | 100 | 100 | 100 | 100 | 5 | 5 | 5 | 5 | 5 | 5

6 | 6 | 91 | 91 | 91 | 91 | 6 | 6 | 6 | 6 | 6 | 6

6 | 6 | 92 | 92 | 92 | 92 | 6 | 6 | 6 | 6 | 6 | 6

6 | 6 | 93 | 93 | 93 | 93 | 6 | 6 | 6 | 6 | 6 | 6

6 | 6 | 94 | 94 | 94 | 94 | 6 | 6 | 6 | 6 | 6 | 6

6 | 6 | 95 | 95 | 95 | 95 | 6 | 6 | 6 | 6 | 6 | 6

6 | 6 | 96 | 96 | 96 | 96 | 6 | 6 | 6 | 6 | 6 | 6

6 | 6 | 97 | 97 | 97 | 97 | 6 | 6 | 6 | 6 | 6 | 6

6 | 6 | 98 | 98 | 98 | 98 | 6 | 6 | 6 | 6 | 6 | 6

6 | 6 | 99 | 99 | 99 | 99 | 6 | 6 | 6 | 6 | 6 | 6

6 | 6 | 100 | 100 | 100 | 100 | 6 | 6 | 6 | 6 | 6 | 6

7 | 7 | 91 | 91 | 91 | 91 | 7 | 7 | 7 | 7 | 7 | 7

7 | 7 | 92 | 92 | 92 | 92 | 7 | 7 | 7 | 7 | 7 | 7

7 | 7 | 93 | 93 | 93 | 93 | 7 | 7 | 7 | 7 | 7 | 7

7 | 7 | 94 | 94 | 94 | 94 | 7 | 7 | 7 | 7 | 7 | 7

7 | 7 | 95 | 95 | 95 | 95 | 7 | 7 | 7 | 7 | 7 | 7

7 | 7 | 96 | 96 | 96 | 96 | 7 | 7 | 7 | 7 | 7 | 7

7 | 7 | 97 | 97 | 97 | 97 | 7 | 7 | 7 | 7 | 7 | 7

7 | 7 | 98 | 98 | 98 | 98 | 7 | 7 | 7 | 7 | 7 | 7

7 | 7 | 99 | 99 | 99 | 99 | 7 | 7 | 7 | 7 | 7 | 7

7 | 7 | 100 | 100 | 100 | 100 | 7 | 7 | 7 | 7 | 7 | 7

8 | 8 | 91 | 91 | 91 | 91 | 8 | 8 | 8 | 8 | 8 | 8

8 | 8 | 92 | 92 | 92 | 92 | 8 | 8 | 8 | 8 | 8 | 8

8 | 8 | 93 | 93 | 93 | 93 | 8 | 8 | 8 | 8 | 8 | 8

8 | 8 | 94 | 94 | 94 | 94 | 8 | 8 | 8 | 8 | 8 | 8

8 | 8 | 95 | 95 | 95 | 95 | 8 | 8 | 8 | 8 | 8 | 8

8 | 8 | 96 | 96 | 96 | 96 | 8 | 8 | 8 | 8 | 8 | 8

8 | 8 | 97 | 97 | 97 | 97 | 8 | 8 | 8 | 8 | 8 | 8

8 | 8 | 98 | 98 | 98 | 98 | 8 | 8 | 8 | 8 | 8 | 8

8 | 8 | 99 | 99 | 99 | 99 | 8 | 8 | 8 | 8 | 8 | 8

8 | 8 | 100 | 100 | 100 | 100 | 8 | 8 | 8 | 8 | 8 | 8

9 | 9 | 91 | 91 | 91 | 91 | 9 | 9 | 9 | 9 | 9 | 9

9 | 9 | 92 | 92 | 92 | 92 | 9 | 9 | 9 | 9 | 9 | 9

9 | 9 | 93 | 93 | 93 | 93 | 9 | 9 | 9 | 9 | 9 | 9

9 | 9 | 94 | 94 | 94 | 94 | 9 | 9 | 9 | 9 | 9 | 9

9 | 9 | 95 | 95 | 95 | 95 | 9 | 9 | 9 | 9 | 9 | 9

9 | 9 | 96 | 96 | 96 | 96 | 9 | 9 | 9 | 9 | 9 | 9

9 | 9 | 97 | 97 | 97 | 97 | 9 | 9 | 9 | 9 | 9 | 9

9 | 9 | 98 | 98 | 98 | 98 | 9 | 9 | 9 | 9 | 9 | 9

9 | 9 | 99 | 99 | 99 | 99 | 9 | 9 | 9 | 9 | 9 | 9

9 | 9 | 100 | 100 | 100 | 100 | 9 | 9 | 9 | 9 | 9 | 9

类型检测

CREATE TABLE join_table_1(id int, name char);

CREATE TABLE join_table_2(id int, num int);

INSERT INTO join_table_1 VALUES (1, 'a');

INSERT INTO join_table_1 VALUES (2, 'b');

INSERT INTO join_table_1 VALUES (3, 'c');

INSERT INTO join_table_2 VALUES (1, 2);

INSERT INTO join_table_2 VALUES (2, 15);

select * from join_table_1 inner join join_table_2 on join_table_1.name<join_table_2.num and join_table_1.id=join_table_2.id

select * from join_table_1

select * from join_table_1 inner join join_table_2 on join_table_1.id=join_table_2.id

select * from join_table_1 inner join join_table_2 on join_table_1.id=join_table_2.id

select * from join_table_1 inner join join_table_2 on join_table_1.id=join_table_2.id

相关推荐
Rubin智造社18 小时前
Claude Code开发者大会系列2|“饮鸩止渴”还是“即刻解药”?Anthropic与SpaceX的联姻内幕
大数据·数据库·人工智能·开发者大会·anthropic·claude code
噢,我明白了18 小时前
表单的完整 CRUD 练习【极简个人记账本】(含前端后端链接mySQL)
java·前端·数据库·mysql
2301_8092047020 小时前
bootstrap怎么实现鼠标悬停切换图片预览功能
jvm·数据库·python
小短腿的代码世界1 天前
Qt 股票订单撮合引擎:高频交易系统的核心心脏
开发语言·数据库·qt·系统架构·交互
JosieBook1 天前
【数据库】时序数据库选型指南:从数据模型到大模型智能分析
数据库·时序数据库
小猿姐1 天前
Clickhouse Kubernetes Operator 实测:哪种方案更适合生产?
运维·数据库·kubernetes
2501_921939261 天前
MHA高可用
数据库·mysql
_Evan_Yao1 天前
MySQL 基础:SELECT、WHERE、JOIN 的第一次使用
数据库·mysql
weixin_444012931 天前
c++如何将std--vector直接DUMP到二进制文件_指针地址直写【附代码】
jvm·数据库·python
woxihuan1234561 天前
Go语言中--=运算符详解:位右移赋值操作的原理与应用
jvm·数据库·python