代码拉取完成,页面将自动刷新
934
解决列存表merge join使用系统列CTID作为连接条件时调用MJGetDatumValue函数返回形参地址的问题
开启的
What this PR does / why we need it:
列存表在使用系统列CTID进行merge join时,需要调用MJVecCompare函数进行左右值比较,从上下文看,CTID是使用ScalarValue存储ItemPointerData类型的数据(即CTID字段的实际值,而非地址)。MJVecCompare函数会调用MJGetDatumValue获取CTID值的地址。很显然,调用MJGetDatumValue时返回形参的地址是会有可能产生一些奇怪的问题(该形参的地址指向的内存区域有可能被修改)。
目前的修改方式是把对CTID值取地址的操作交还到MJVecCompare处理