Executors

TableReaderExecutor

PhyscialTableReader对应的Executor为TableReaderExecutor, 其build过程如下:

build physical table reader

TableReaderExecutor 对应的Open/Next/Close调用,其中对TiKV层的调用封装在了distsql模块中。

table reader executor

TableIndexExecutor

PhysicalIndexReader 对应的Execturo为TableIndexExecutor, 其build过程如下:

build_index_reader

IndexExecutor Open/Next/Close方法, 也调用了distsql的方法

table_index_reader_exexutor

IndexLookUpExecutor

PhysicalIndexLookUpReader 对应的Execturo为IndexLookupReader, 其build过程如下:

build_index_lookup_executor

index Worker/Table Worker

IndexLookUpExecutor

extractTaskHandles

从index中获取row handlers

buildTableReader

根据row handlers 去获取相应的Row

DistSQL

上面的TableReaderExecutor/TableIndexExecutor/IndexLookUpExecutor 最后 都会去调用DistSQL模块的代码, 去TiKV请求数据。