Hi, Anshu! On Jun 10, Anshu Avinash wrote:
Hi serg,
I have implemented your suggestions. In the test case I created a table with 25 rows. Explain for 'select * from t1 where a > 19' gave 'ALL' while explain for 'select * from t1 where a > 20' gives range. I have also written public methods ha_scan_time() and ha_read_time(). I should replace every occurrence of handler::scan_time() with ha_scan_time(), right? How do I make sure that I don't miss any place?
See other ha_xxx vs xxx methods, e.g. ha_rnd_init and rnd_init. You make scan_time() protected - and the compiler won't allow it to be called outside of the handler class.
Also regarding making everything in the class Cost_factors static vs creating an object and using it everywhere: cann't we use a namespace Cost_factors? How is it done usually? I don't see much usage of namespaces in the code.
Yes, namespaces aren't used much in MariaDB, but feel free to use them, if you'd like. Regards, Sergei