mysql-test/suite/rocksdb/t/bypass_select_range_pk.inc (330 lines of code) (raw):

# Bypass range query test for PRIMARY KEY $query_table # Parameters # $query_order # ASC or DESC in SELECT query # $query_table # Which table --echo # Prefix queries let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 1 AND visibility = 1 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 1 AND visibility = 2 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 1 AND visibility = 3 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND visibility = 1 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND visibility = 2 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 ORDER BY id1 $query_order, id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND time = 1 ORDER BY id1 $query_order, id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data version FROM $query_table FORCE INDEX (PRIMARY) WHERE time = 1 ORDER BY link_type $query_order, id1 $query_order, id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc --echo # Range queries --echo # > and >= let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 >= 0 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 0 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 1 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 >= 1 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 >= 2 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 2 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 >= 3 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 3 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 5 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 >= 5 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 6 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 >= 6 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 2 AND id1 > 1 ORDER BY id1 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 2 AND id1 >= 2 ORDER BY id1 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc --echo # < and <= let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 < 0 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 <= 0 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 < 1 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 <= 1 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 < 2 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 <= 2 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 < 4 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 <= 4 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 <= 5 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 < 5 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 <= 6 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 < 6 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 0 AND id1 < 1 ORDER BY id1 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 0 AND id1 <= 1 ORDER BY id1 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc --echo # Both > and < let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 3 AND id2 < 3 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 4 AND id2 < 3 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 3 AND id2 < 4 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 >= 3 AND id2 <= 4 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 >= 3 AND id2 < 4 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 3 AND id2 <= 4 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 1 AND id2 < 5 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 >= 1 AND id2 <= 5 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 >= 1 AND id2 < 5 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 1 AND id2 <= 5 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 >= 0 AND id2 <= 6 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 0 AND id2 < 6 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 > 0 AND id2 <= 6 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 1 AND id1 = 2 AND id2 >= 0 AND id2 < 6 ORDER BY id2 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 2 AND id1 > 1 and id1 < 100 ORDER BY id1 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 2 AND id1 >= 2 and id1 < 100 ORDER BY id1 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 0 AND id1 <= 1 and id1 >= 0 ORDER BY id1 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc let bypass_query= SELECT /*+ bypass */ id1, id2, link_type, visibility, data, TIME, version FROM $query_table FORCE INDEX (PRIMARY) WHERE link_type = 0 AND id1 < 2 and id1 >= 0 ORDER BY id1 $query_order LIMIT 1000; --source ../include/verify_bypass_query.inc