mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Backport of subquery optimizations to 5.3.
There are still test failures because of: - Wrong query results in outer join + semi join - EXPLAIN output differences
This commit is contained in:
@ -123,6 +123,21 @@ struct st_read_record; /* For referense later */
|
||||
class SQL_SELECT;
|
||||
class THD;
|
||||
class handler;
|
||||
class Copy_field;
|
||||
|
||||
/**
|
||||
A context for reading through a single table using a chosen access method:
|
||||
index read, scan, etc, use of cache, etc.
|
||||
|
||||
Use by:
|
||||
READ_RECORD read_record;
|
||||
init_read_record(&read_record, ...);
|
||||
while (read_record.read_record())
|
||||
{
|
||||
...
|
||||
}
|
||||
end_read_record();
|
||||
*/
|
||||
|
||||
typedef struct st_read_record { /* Parameter to read_record */
|
||||
struct st_table *table; /* Head-form */
|
||||
@ -140,6 +155,12 @@ typedef struct st_read_record { /* Parameter to read_record */
|
||||
uchar *cache,*cache_pos,*cache_end,*read_positions;
|
||||
IO_CACHE *io_cache;
|
||||
bool print_error, ignore_not_found_rows;
|
||||
/*
|
||||
SJ-Materialization runtime may need to read fields from the materialized
|
||||
table and unpack them into original table fields:
|
||||
*/
|
||||
Copy_field *copy_field;
|
||||
Copy_field *copy_field_end;
|
||||
} READ_RECORD;
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user