~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/session.h

  • Committer: Brian Aker
  • Date: 2011-02-22 06:12:02 UTC
  • mfrom: (2190.1.6 drizzle-build)
  • Revision ID: brian@tangent.org-20110222061202-k03czxykqy4x9hjs
List update, header fixes, multiple symbols, and David deletes some code.

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
#ifndef DRIZZLED_SESSION_H
21
21
#define DRIZZLED_SESSION_H
22
22
 
23
 
#include "drizzled/cursor.h"
24
 
#include "drizzled/diagnostics_area.h"
25
 
#include "drizzled/file_exchange.h"
26
 
#include "drizzled/identifier.h"
27
 
#include "drizzled/internal_error_handler.h"
28
 
#include "drizzled/my_hash.h"
29
 
#include "drizzled/named_savepoint.h"
30
 
#include "drizzled/open_tables_state.h"
31
 
#include "drizzled/plugin.h"
32
 
#include "drizzled/plugin/authorization.h"
33
 
#include "drizzled/pthread_globals.h"
34
 
#include "drizzled/query_id.h"
35
 
#include "drizzled/resource_context.h"
36
 
#include "drizzled/select_result_interceptor.h"
37
 
#include "drizzled/sql_error.h"
38
 
#include "drizzled/sql_locale.h"
39
 
#include "drizzled/statistics_variables.h"
40
 
#include "drizzled/transaction_context.h"
41
 
#include "drizzled/util/storable.h"
42
 
#include "drizzled/xid.h"
43
 
 
44
 
 
45
 
#include <netdb.h>
46
 
#include <sys/time.h>
47
 
#include <sys/resource.h>
48
 
 
49
23
#include <algorithm>
50
24
#include <bitset>
 
25
#include <boost/make_shared.hpp>
 
26
#include <boost/thread/condition_variable.hpp>
 
27
#include <boost/thread/mutex.hpp>
 
28
#include <boost/thread/shared_mutex.hpp>
 
29
#include <boost/thread/thread.hpp>
51
30
#include <map>
 
31
#include <netdb.h>
52
32
#include <string>
53
 
 
54
 
#include "drizzled/catalog/instance.h"
55
 
#include "drizzled/catalog/local.h"
56
 
 
 
33
#include <sys/resource.h>
 
34
#include <sys/time.h>
 
35
 
 
36
#include <drizzled/catalog/instance.h>
 
37
#include <drizzled/catalog/local.h>
 
38
#include <drizzled/copy_info.h>
 
39
#include <drizzled/cursor.h>
 
40
#include <drizzled/diagnostics_area.h>
 
41
#include <drizzled/file_exchange.h>
 
42
#include <drizzled/ha_data.h>
 
43
#include <drizzled/identifier.h>
 
44
#include <drizzled/lex_column.h>
 
45
#include <drizzled/my_hash.h>
 
46
#include <drizzled/named_savepoint.h>
 
47
#include <drizzled/open_tables_state.h>
 
48
#include <drizzled/plugin.h>
 
49
#include <drizzled/plugin/authorization.h>
 
50
#include <drizzled/pthread_globals.h>
 
51
#include <drizzled/query_id.h>
 
52
#include <drizzled/resource_context.h>
57
53
#include <drizzled/session/property_map.h>
58
54
#include <drizzled/session/state.h>
59
55
#include <drizzled/session/table_messages.h>
60
56
#include <drizzled/session/transactions.h>
61
 
#include <drizzled/system_variables.h>
62
 
#include <drizzled/copy_info.h>
63
 
#include <drizzled/system_variables.h>
64
 
#include <drizzled/ha_data.h>
65
 
 
66
 
#include <boost/thread/thread.hpp>
67
 
#include <boost/thread/mutex.hpp>
68
 
#include <boost/thread/shared_mutex.hpp>
69
 
#include <boost/thread/condition_variable.hpp>
70
 
#include <boost/make_shared.hpp>
71
 
 
72
 
#include <drizzled/lex_column.h>
73
 
#include "drizzled/sql_lex.h"
74
 
 
75
 
#include "drizzled/visibility.h"
 
57
#include <drizzled/sql_error.h>
 
58
#include <drizzled/sql_lex.h>
 
59
#include <drizzled/sql_locale.h>
 
60
#include <drizzled/statistics_variables.h>
 
61
#include <drizzled/system_variables.h>
 
62
#include <drizzled/system_variables.h>
 
63
#include <drizzled/table_ident.h>
 
64
#include <drizzled/transaction_context.h>
 
65
#include <drizzled/util/storable.h>
 
66
#include <drizzled/var.h>
 
67
#include <drizzled/visibility.h>
76
68
 
77
69
#define MIN_HANDSHAKE_SIZE      6
78
70
 
94
86
}
95
87
 
96
88
namespace internal { struct st_my_thread_var; }
97
 
 
98
89
namespace table { class Placeholder; }
99
90
 
 
91
class CopyField;
 
92
class DrizzleXid;
 
93
class Internal_error_handler;
100
94
class Lex_input_stream;
 
95
class TableShareInstance;
 
96
class Table_ident;
 
97
class Time_zone;
 
98
class select_result;
101
99
class user_var_entry;
102
 
class CopyField;
103
 
class Table_ident;
104
 
 
105
 
class TableShareInstance;
106
100
 
107
101
extern char internal_table_name[2];
108
102
extern char empty_c_string[1];
112
106
#define TC_HEURISTIC_RECOVER_ROLLBACK 2
113
107
extern uint32_t tc_heuristic_recover;
114
108
 
115
 
class select_result;
116
 
class Time_zone;
117
 
 
118
109
#define Session_SENTRY_MAGIC 0xfeedd1ff
119
110
#define Session_SENTRY_GONE  0xdeadbeef
120
111
 
222
213
   * @todo should be const
223
214
   */
224
215
  uint32_t id;
 
216
private:
225
217
  LEX *lex; /**< parse tree descriptor */
226
218
 
 
219
public:
227
220
  LEX *getLex() 
228
221
  {
229
222
    return lex;
1631
1624
    return global_system_variables.storage_engine;
1632
1625
  }
1633
1626
 
1634
 
  void get_xid(DRIZZLE_XID *xid); // Innodb only
 
1627
  void get_xid(DrizzleXid *xid); // Innodb only
1635
1628
 
1636
1629
  table::Singular *getInstanceTable();
1637
1630
  table::Singular *getInstanceTable(List<CreateField> &field_list);
1679
1672
  struct rusage usage;
1680
1673
};
1681
1674
 
1682
 
class Join;
1683
 
 
1684
1675
#define ESCAPE_CHARS "ntrb0ZN" // keep synchronous with READ_INFO::unescape
1685
1676
 
1686
 
} /* namespace drizzled */
1687
 
 
1688
 
/** @TODO why is this in the middle of the file */
1689
 
#include <drizzled/select_to_file.h>
1690
 
#include <drizzled/select_export.h>
1691
 
#include <drizzled/select_dump.h>
1692
 
#include <drizzled/select_insert.h>
1693
 
#include <drizzled/select_create.h>
1694
 
#include <drizzled/tmp_table_param.h>
1695
 
#include <drizzled/select_union.h>
1696
 
#include <drizzled/select_subselect.h>
1697
 
#include <drizzled/select_singlerow_subselect.h>
1698
 
#include <drizzled/select_max_min_finder_subselect.h>
1699
 
#include <drizzled/select_exists_subselect.h>
1700
 
 
1701
 
namespace drizzled
1702
 
{
1703
 
 
1704
 
/**
1705
 
 * A structure used to describe sort information
1706
 
 * for a field or item used in ORDER BY.
1707
 
 */
1708
 
class SortField 
1709
 
{
1710
 
public:
1711
 
  Field *field; /**< Field to sort */
1712
 
  Item  *item; /**< Item if not sorting fields */
1713
 
  size_t length; /**< Length of sort field */
1714
 
  uint32_t suffix_length; /**< Length suffix (0-4) */
1715
 
  Item_result result_type; /**< Type of item */
1716
 
  bool reverse; /**< if descending sort */
1717
 
  bool need_strxnfrm;   /**< If we have to use strxnfrm() */
1718
 
 
1719
 
  SortField() :
1720
 
    field(0),
1721
 
    item(0),
1722
 
    length(0),
1723
 
    suffix_length(0),
1724
 
    result_type(STRING_RESULT),
1725
 
    reverse(0),
1726
 
    need_strxnfrm(0)
1727
 
  { }
1728
 
 
1729
 
};
1730
 
 
1731
 
} /* namespace drizzled */
1732
 
 
1733
 
/** @TODO why is this in the middle of the file */
1734
 
 
1735
 
#include <drizzled/table_ident.h>
1736
 
#include <drizzled/user_var_entry.h>
1737
 
#include <drizzled/unique.h>
1738
 
#include <drizzled/var.h>
1739
 
#include <drizzled/select_dumpvar.h>
1740
 
 
1741
 
namespace drizzled
1742
 
{
1743
 
 
1744
1677
/* Bits in sql_command_flags */
1745
1678
 
1746
1679
enum sql_command_flag_bits