Hi!
However, I would like to have a clear comment the purpose of the function set_top_table_and_fields().
This function is used to get correlating of a parent (table/column) and children (table/column). When conditions are pushed down to child table (like child of myisammarge), child table needs to know about which table/column is my parent for understanding conditions.
Thanks. I have now added this as a comment to where the function is defined. <cut>
+ virtual int set_top_table_and_fields(TABLE *top_table, ... cut ... Why is this int and not void ? Do you have in mind that this may be possible to fail in the future? If it's never going to change, then better to do this void.
I will make it void for now and change the relevant code. We can make it int again if needed in the future.
VP allocates some memories in this function. So this function has possibility of causing out of memory error. That's why this function returns int.
ok. I will change the code for this.
I added HA_CAN_MULTISTEP_MERGE as a flag to DB_TYPE_MRG_MYISAM, which allwoed me to make the above tests and the following identical ones much simpler.
ok. And now everyone can create myisammarge type storage engine!
good. We do need some tests for this... Regards, Monty