~drizzle-trunk/drizzle/development

390.1.2 by Monty Taylor
Fixed copyright headers in drizzled/
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
 *
4
 *  Copyright (C) 2008 Sun Microsystems
5
 *
6
 *  This program is free software; you can redistribute it and/or modify
7
 *  it under the terms of the GNU General Public License as published by
8
 *  the Free Software Foundation; version 2 of the License.
9
 *
10
 *  This program is distributed in the hope that it will be useful,
11
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 *  GNU General Public License for more details.
14
 *
15
 *  You should have received a copy of the GNU General Public License
16
 *  along with this program; if not, write to the Free Software
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
 */
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
19
20
/**
21
 * @file
22
 *
23
 * Contains function declarations that deal with the SHOW commands.  These
24
 * will eventually go away, but for now we split these definitions out into
25
 * their own header file for easier maintenance
26
 */
27
#ifndef DRIZZLE_SERVER_SHOW_H
28
#define DRIZZLE_SERVER_SHOW_H
29
575.4.7 by Monty Taylor
More header cleanup.
30
#include <drizzled/sql_list.h>
575.4.10 by Monty Taylor
Fixed show.h a little.
31
#include <drizzled/lex_string.h>
32
#include <drizzled/sql_parse.h>
575.4.7 by Monty Taylor
More header cleanup.
33
1071.1.2 by Nathan Williams
Converted st_add_schema_table::files from List<LEX_STRING> to std::vector<LEX_STRING*>.
34
#include <vector>
35
575.4.7 by Monty Taylor
More header cleanup.
36
/* Forward declarations */
37
class String;
38
class JOIN;
39
class Session;
40
struct st_ha_create_information;
41
typedef st_ha_create_information HA_CREATE_INFO;
42
struct TableList;
1063.4.6 by Padraig O'Sullivan
Added a new header file which contains the InfoSchemaTable class and the
43
class InfoSchemaTable;
584.1.15 by Monty Taylor
The mega-patch from hell. Renamed sql_class to session (since that's what it is) and removed it and field and table from common_includes.
44
45
typedef struct system_status_var STATUS_VAR;
46
575.4.7 by Monty Taylor
More header cleanup.
47
48
enum find_files_result {
49
  FIND_FILES_OK,
50
  FIND_FILES_OOM,
51
  FIND_FILES_DIR
52
};
53
1081.2.8 by Padraig O'Sullivan
Extracted the SCHEMATA table into the I_S plugin.
54
typedef struct st_lookup_field_values
55
{
56
  LEX_STRING db_value, table_value;
57
  bool wild_db_value, wild_table_value;
58
} LOOKUP_FIELD_VALUES;
59
1071.1.3 by Nathan Williams
Removed st_add_schema_table struct and moved data members into the AddSchemaTable class/functor. That was the only place it was used.
60
find_files_result find_files(Session *session, std::vector<LEX_STRING*> &files, const char *db,
575.4.7 by Monty Taylor
More header cleanup.
61
                             const char *path, const char *wild, bool dir);
1081.2.8 by Padraig O'Sullivan
Extracted the SCHEMATA table into the I_S plugin.
62
bool calc_lookup_values_from_cond(Session *session, COND *cond, TableList *table,
63
                                  LOOKUP_FIELD_VALUES *lookup_field_vals);
64
bool get_lookup_field_values(Session *session, COND *cond, TableList *tables,
65
                             LOOKUP_FIELD_VALUES *lookup_field_values);
1071.1.5 by Nathan Williams
Merged trunk, resolved conflicts.
66
int make_db_list(Session *session, std::vector<LEX_STRING*> &files,
67
                 LOOKUP_FIELD_VALUES *lookup_field_vals, bool *with_i_schema);
1088.1.1 by Padraig O'Sullivan
Extracted the 3 STATUS tables into the I_S plugin.
68
SHOW_VAR *getFrontOfStatusVars();
575.4.7 by Monty Taylor
More header cleanup.
69
1014.3.4 by Brian Aker
Remove dead session calls.
70
int store_create_info(TableList *table_list, String *packet, HA_CREATE_INFO  *create_info_arg);
1089.10.1 by Stewart Smith
fix SHOW CREATE DATABASE for default collation. Move database metadata reading code around to be a bit more sane.
71
575.4.7 by Monty Taylor
More header cleanup.
72
bool schema_table_store_record(Session *session, Table *table);
73
1014.3.4 by Brian Aker
Remove dead session calls.
74
int get_quote_char_for_identifier();
1067.3.1 by Padraig O'Sullivan
Extracted the CHARACTER_SET I_S table into the I_S plugin.
75
int wild_case_compare(const CHARSET_INFO * const cs, 
76
                      const char *str,const char *wildstr);
575.4.7 by Monty Taylor
More header cleanup.
77
1014.3.4 by Brian Aker
Remove dead session calls.
78
InfoSchemaTable *find_schema_table(const char* table_name);
1034.1.4 by Brian Aker
Fixed TableList to correctly construct (and removed memset() calls in
79
bool make_schema_select(Session *session,  Select_Lex *sel,
1079.2.9 by Padraig O'Sullivan
Removed the dependency on knowing the position of an I_S table in the
80
                        const std::string& schema_table_name);
1034.1.4 by Brian Aker
Fixed TableList to correctly construct (and removed memset() calls in
81
bool mysql_schema_table(Session *session, LEX *lex, TableList *table_list);
82
bool get_schema_tables_result(JOIN *join, enum enum_schema_table_state executed_place);
575.4.7 by Monty Taylor
More header cleanup.
83
520.1.22 by Brian Aker
Second pass of thd cleanup
84
bool mysqld_show_open_tables(Session *session,const char *wild);
85
bool mysqld_show_logs(Session *session);
86
void mysqld_list_fields(Session *session,TableList *table, const char *wild);
87
int mysqld_dump_create_info(Session *session, TableList *table_list, int fd);
884.2.1 by Toru Maesaka
Fixed the bug of SHOW CREATE TABLE not outputting DEFAULT values. Killed some tabular indents on the way too
88
bool drizzled_show_create(Session *session, TableList *table_list);
1089.10.1 by Stewart Smith
fix SHOW CREATE DATABASE for default collation. Move database metadata reading code around to be a bit more sane.
89
bool mysqld_show_create_db(Session *session, char *dbname, bool if_not_exists);
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
90
520.1.22 by Brian Aker
Second pass of thd cleanup
91
int mysqld_show_status(Session *session);
92
int mysqld_show_variables(Session *session,const char *wild);
93
bool mysqld_show_storage_engines(Session *session);
94
bool mysqld_show_column_types(Session *session);
575.4.7 by Monty Taylor
More header cleanup.
95
void mysqld_list_processes(Session *session,const char *user, bool verbose);
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
96
void calc_sum_of_all_status(STATUS_VAR *to);
97
98
int add_status_vars(SHOW_VAR *list);
99
void remove_status_vars(SHOW_VAR *list);
100
void init_status_vars();
101
void free_status_vars();
102
void reset_status_vars();
971.1.68 by Monty Taylor
Renamed ST_SCHEMA_TABLE to InfoSchemaTable. One step down towards making the darned thing a class. (/me shudders)
103
void add_infoschema_table(InfoSchemaTable *schema_table);
104
void remove_infoschema_table(InfoSchemaTable *table);
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
105
106
#endif /* DRIZZLE_SERVER_SHOW_H */