diff options
author | Sergei Golubchik <sergii@pisem.net> | 2014-03-26 22:25:38 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2014-03-26 22:25:38 +0100 |
commit | 10740939eb824bbd792352f654380e258edd7675 (patch) | |
tree | a4c68f331f0470b8bd30822de5938a6552f69738 /sql/ha_partition.h | |
parent | a91c59c2affdebb4b34c2c8000b0b1648d43046d (diff) | |
parent | 44002a34e680c79c01df879b540458c2885e97e8 (diff) | |
download | mariadb-git-10740939eb824bbd792352f654380e258edd7675.tar.gz |
5.5 merge
Diffstat (limited to 'sql/ha_partition.h')
-rw-r--r-- | sql/ha_partition.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sql/ha_partition.h b/sql/ha_partition.h index 05262e750f7..71ae84b06a0 100644 --- a/sql/ha_partition.h +++ b/sql/ha_partition.h @@ -117,6 +117,8 @@ public: }; +extern "C" int cmp_key_rowid_part_id(void *ptr, uchar *ref1, uchar *ref2); + class ha_partition :public handler { private: @@ -157,6 +159,22 @@ private: uchar *m_rec0; // table->record[0] const uchar *m_err_rec; // record which gave error QUEUE m_queue; // Prio queue used by sorted read + + /* + Length of an element in m_ordered_rec_buffer. The elements are composed of + + [part_no] [table->record copy] [underlying_table_rowid] + + underlying_table_rowid is only stored when the table has no extended keys. + */ + uint m_priority_queue_rec_len; + + /* + If true, then sorting records by key value also sorts them by their + underlying_table_rowid. + */ + bool m_using_extended_keys; + /* Since the partition handler is a handler on top of other handlers, it is necessary to keep information about what the underlying handler @@ -1264,6 +1282,9 @@ public: DBUG_ASSERT(h == m_file[i]->ht); return h; } + + + friend int cmp_key_rowid_part_id(void *ptr, uchar *ref1, uchar *ref2); }; #endif /* HA_PARTITION_INCLUDED */ |