Hi Rong,

Short: I've found a limitation in VIDEX which isn't mentioned on its
homepage. Are you aware of this?

The good part here is that when one hits the limitation the server returns an
error (instead of silently prodicing a wrong query plan).

Long:
I was looking at VIDEX and got this question:  MariaDB (and MySQL) optimizer
may read individual table rows for constant tables, and further
optimization makes use of the column values it has read. How does VIDEX
deal with this situation? It looks like it doesn't.

A basic example using the test dataset.
Assume the VIDEX is set up as shown in README.md.

Let's first try a query using a real table:

mysql> use tpch_tiny;
Database changed
mysql> explain select count(*) from customer,orders where c_custkey=o_custkey 
and c_custkey=150000;
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+--------------------------------+
| id | select_type | table | partitions | type | possible_keys | key  | key_len 
| ref  | rows | filtered | Extra                          |
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+--------------------------------+
|  1 | SIMPLE      | NULL  | NULL       | NULL | NULL          | NULL | NULL    
| NULL | NULL |     NULL | no matching row in const table |
+----+-------------+-------+------------+------+---------------+------+---------+------+------+----------+--------------------------------+
1 row in set, 1 warning (0.00 sec)
mysql>

Then, let's try VIDEX:

mysql> use videx_tpch_tiny;
Database changed
mysql> explain select count(*) from customer,orders where c_custkey=o_custkey 
and c_custkey=150000;
ERROR 1031 (HY000): Table storage engine for 'customer' doesn't have this option

One can say this query is not very meaningful but that's just a basic
example. One may construct more meaningful examples.

Another example similar to the above:

mysql> explain select * from customer where c_custkey= (select max(c_custkey) 
from customer);
ERROR 1031 (HY000): Table storage engine for 'customer' doesn't have this option


BR
 Sergei
-- 
Sergei Petrunia, Software Developer
MariaDB Corporation | Blog: http://petrunia.net


_______________________________________________
discuss mailing list -- discuss@lists.mariadb.org
To unsubscribe send an email to discuss-le...@lists.mariadb.org

Reply via email to