20
20
#ifndef DRIZZLED_SESSION_H
21
21
#define DRIZZLED_SESSION_H
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"
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/lex_column.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/sql_error.h>
37
#include <drizzled/sql_lex.h>
38
#include <drizzled/sql_locale.h>
39
#include <drizzled/statistics_variables.h>
40
#include <drizzled/table_ident.h>
41
#include <drizzled/transaction_context.h>
42
#include <drizzled/util/storable.h>
43
#include <drizzled/var.h>
54
#include "drizzled/catalog/instance.h"
55
#include "drizzled/catalog/local.h"
55
#include <drizzled/catalog/instance.h>
56
#include <drizzled/catalog/local.h>
58
#include <drizzled/copy_info.h>
59
#include <drizzled/ha_data.h>
57
60
#include <drizzled/session/property_map.h>
58
61
#include <drizzled/session/state.h>
59
62
#include <drizzled/session/table_messages.h>
60
63
#include <drizzled/session/transactions.h>
61
64
#include <drizzled/system_variables.h>
62
#include <drizzled/copy_info.h>
63
65
#include <drizzled/system_variables.h>
64
#include <drizzled/ha_data.h>
66
67
#include <boost/thread/thread.hpp>
67
68
#include <boost/thread/mutex.hpp>
69
70
#include <boost/thread/condition_variable.hpp>
70
71
#include <boost/make_shared.hpp>
72
#include <drizzled/lex_column.h>
73
#include "drizzled/sql_lex.h"
75
73
#include "drizzled/visibility.h"
77
75
#define MIN_HANDSHAKE_SIZE 6
96
94
namespace internal { struct st_my_thread_var; }
98
95
namespace table { class Placeholder; }
99
class Internal_error_handler;
100
100
class Lex_input_stream;
101
class TableShareInstance;
101
105
class user_var_entry;
105
class TableShareInstance;
107
107
extern char internal_table_name[2];
108
108
extern char empty_c_string[1];
1631
1628
return global_system_variables.storage_engine;
1634
void get_xid(DRIZZLE_XID *xid); // Innodb only
1631
void get_xid(DrizzleXid *xid); // Innodb only
1636
1633
table::Singular *getInstanceTable();
1637
1634
table::Singular *getInstanceTable(List<CreateField> &field_list);
1679
1676
struct rusage usage;
1684
1679
#define ESCAPE_CHARS "ntrb0ZN" // keep synchronous with READ_INFO::unescape
1686
} /* namespace drizzled */
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>
1705
* A structure used to describe sort information
1706
* for a field or item used in ORDER BY.
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() */
1724
result_type(STRING_RESULT),
1731
} /* namespace drizzled */
1733
/** @TODO why is this in the middle of the file */
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>
1744
1681
/* Bits in sql_command_flags */
1746
1683
enum sql_command_flag_bits