~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/cursor.h

  • Committer: Lee Bieber
  • Date: 2011-01-24 17:20:08 UTC
  • mfrom: (2107.2.1 trunk-bug-703913)
  • mto: This revision was merged to the branch mainline in revision 2109.
  • Revision ID: kalebral@gmail.com-20110124172008-y5maihyoyu7gn18p
Merge Andrew - fix bug 703913: some support-files should be dropped

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
#ifndef DRIZZLED_CURSOR_H
21
21
#define DRIZZLED_CURSOR_H
22
22
 
23
 
#include <drizzled/atomics.h>
24
 
#include <drizzled/definitions.h>
 
23
#include <drizzled/xid.h>
25
24
#include <drizzled/discrete_interval.h>
26
 
#include <drizzled/error_t.h>
27
 
#include <drizzled/ha_statistics.h>
28
 
#include <drizzled/handler_structs.h>
29
25
#include <drizzled/identifier.h>
 
26
#include <drizzled/definitions.h>
30
27
#include <drizzled/key_map.h>
31
 
#include <drizzled/message/table.h>
 
28
 
 
29
/* Definitions for parameters to do with Cursor-routines */
 
30
 
 
31
#include <drizzled/thr_lock.h>
 
32
#include <drizzled/sql_string.h>
32
33
#include <drizzled/sql_list.h>
33
 
#include <drizzled/thr_lock.h>
34
 
#include <drizzled/xid.h>
 
34
#include <drizzled/plugin/storage_engine.h>
 
35
#include <drizzled/handler_structs.h>
 
36
#include <drizzled/ha_statistics.h>
 
37
#include <drizzled/atomics.h>
 
38
 
 
39
#include <drizzled/message/table.pb.h>
35
40
 
36
41
#include <bitset>
37
42
#include <algorithm>
38
43
 
39
 
#include <drizzled/visibility.h>
40
 
 
41
44
namespace drizzled
42
45
{
43
46
 
45
48
 
46
49
typedef std::bitset<HA_MAX_ALTER_FLAGS> HA_ALTER_FLAGS;
47
50
 
48
 
class AlterInfo;
49
 
class CreateField;
 
51
extern uint64_t refresh_version;  /* Increments on each reload */
 
52
 
 
53
class Table;
 
54
class TableList;
 
55
class TableShare;
 
56
class Select_Lex_Unit;
50
57
class ForeignKeyInfo;
 
58
struct Order;
 
59
 
51
60
class Item;
52
 
class Item_ident;
 
61
 
53
62
class LEX;
54
63
class Select_Lex;
55
 
class Select_Lex_Unit;
56
 
class String;
57
 
class Table;
58
 
class TableList;
59
 
class TableShare;
 
64
class AlterInfo;
60
65
class select_result;
 
66
class CreateField;
61
67
class sys_var_str;
62
 
struct Order;
 
68
class Item_ident;
63
69
 
64
70
typedef List<Item> List_item;
65
71
extern KEY_CREATE_INFO default_key_create_info;
69
75
 
70
76
typedef struct system_status_var system_status_var;
71
77
 
72
 
namespace optimizer { class CostVector; }
73
 
namespace plugin { class StorageEngine; }
 
78
namespace optimizer
 
79
{
 
80
  class CostVector;
 
81
}
74
82
 
75
83
/*
76
84
  bitmap with first N+1 bits set
135
143
  If a blob column has NULL value, then its length and blob data pointer
136
144
  must be set to 0.
137
145
*/
138
 
class DRIZZLED_API Cursor
 
146
class Cursor
139
147
{
140
148
  friend class SEAPITesterCursor;
141
149
  Table &table;               /* The current open table */
205
213
  }
206
214
 
207
215
  /**
208
 
    Used by SHOW TABLE STATUS to get the current auto_inc from the engine
209
 
  */
210
 
  uint64_t getAutoIncrement()
211
 
  {
212
 
    return stats.auto_increment_value;
213
 
  }
214
 
 
215
 
  /**
216
216
    insert id for the current row (*autogenerated*; if not
217
217
    autogenerated, it's 0).
218
218
    At first successful insertion, this variable is stored into
272
272
 
273
273
  /* Estimates calculation */
274
274
  virtual double scan_time(void)
275
 
  { return static_cast<double>(stats.data_file_length) / IO_SIZE + 2; }
 
275
  { return uint64_t2double(stats.data_file_length) / IO_SIZE + 2; }
276
276
  virtual double read_time(uint32_t, uint32_t ranges, ha_rows rows)
277
 
  { return ranges + rows; }
 
277
  { return rows2double(ranges+rows); }
278
278
 
279
279
  virtual double index_only_read_time(uint32_t keynr, double records);
280
280