Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Not a Bug
-
Affects Version/s: 10.0.3
-
Fix Version/s: 10.0.5
-
Component/s: None
-
Labels:
-
Environment:Ubuntu/Precise/LXContainer
Description
ConnectSE does not send the WHERE part of an statement in opposite to the docs (https://kb.askmonty.org/en/connect-table-types-mysql-table-type-accessing-mysqlmariadb-tables/) to the remote server.
Given:
CREATE TABLE `federatedconnect` ( `id` int(11) NOT NULL, `id2` int(11) DEFAULT NULL ) ENGINE=CONNECT DEFAULT CHARSET=latin1 `TABLE_TYPE`='mysql' `TABNAME`='aha' `DBNAME`='test' `OPTION_LIST`='user=me,host=10.0.3.191'
Regarding to the docs select * from federatedconnect where id=1 should be sent as: SELECT id,id2 FROM aha WHERE id=1 to the remote server.
Using ngrep I see only: SELECT `id`, `id2` FROM `aha` So all rows are send instead of only one.
The table aha has about 1000 rows. So even another 'proof'.
MariaDB [test]> show status like 'handler_read_rnd_next'; select * from federate_classic where id=1; show status like 'handler_read_rnd_next'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | Handler_read_rnd_next | 7347 | +-----------------------+-------+ 1 row in set (0.00 sec) +------+------+ | id | id2 | +------+------+ | 1 | 4 | +------+------+ 1 row in set (0.00 sec) +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | Handler_read_rnd_next | 8356 | +-----------------------+-------+ 1 row in set (0.00 sec)
So we see all rows are send.
Regads
Erkan
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
To get the where clause, CONNECT must be called from MariaDB to do so. This depends on the condition
--engine_condition_pushdown=on
Be sure it is ON because it is sometimes OFF by default.