520.4.30
by Monty Taylor
Moved LEX_STRING into drizzled/lex_string.h. |
1 |
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
|
2 |
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
|
|
3 |
*
|
|
1999.6.1
by kalebral at gmail
update Copyright strings to a more common format to help with creating the master debian copyright file |
4 |
* Copyright (C) 2008 Sun Microsystems, Inc.
|
520.4.30
by Monty Taylor
Moved LEX_STRING into drizzled/lex_string.h. |
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 |
*/
|
|
19 |
||
20 |
#ifndef DRIZZLED_LEX_STRING_H
|
|
21 |
#define DRIZZLED_LEX_STRING_H
|
|
22 |
||
575.1.6
by Monty Taylor
Cleaned up some headers for PCH. |
23 |
#include <stddef.h> |
24 |
||
1280.1.10
by Monty Taylor
Put everything in drizzled into drizzled namespace. |
25 |
namespace drizzled |
26 |
{
|
|
27 |
||
520.4.30
by Monty Taylor
Moved LEX_STRING into drizzled/lex_string.h. |
28 |
/*
|
29 |
LEX_STRING -- a pair of a C-string and its length.
|
|
30 |
*/
|
|
31 |
||
32 |
/* This definition must match the one given in mysql/plugin.h */
|
|
1228.1.5
by Monty Taylor
Merged in some naming things. |
33 |
typedef struct drizzle_lex_string |
520.4.30
by Monty Taylor
Moved LEX_STRING into drizzled/lex_string.h. |
34 |
{
|
35 |
char *str; |
|
36 |
size_t length; |
|
37 |
} LEX_STRING; |
|
38 |
||
1921.4.1
by Brian Aker
Adding in support for EXECUTE to have WITH NO RETURN. |
39 |
struct execute_string_t : public drizzle_lex_string |
40 |
{
|
|
1921.4.4
by Brian Aker
Fix for Solaris. |
41 |
private: |
1921.4.1
by Brian Aker
Adding in support for EXECUTE to have WITH NO RETURN. |
42 |
bool is_variable; |
1921.4.4
by Brian Aker
Fix for Solaris. |
43 |
public: |
1921.4.1
by Brian Aker
Adding in support for EXECUTE to have WITH NO RETURN. |
44 |
|
45 |
bool isVariable() const |
|
46 |
{
|
|
47 |
return is_variable; |
|
48 |
}
|
|
49 |
||
1921.4.4
by Brian Aker
Fix for Solaris. |
50 |
void set(const drizzle_lex_string& ptr, bool is_variable_arg= false) |
51 |
{
|
|
52 |
is_variable= is_variable_arg; |
|
1921.4.1
by Brian Aker
Adding in support for EXECUTE to have WITH NO RETURN. |
53 |
str= ptr.str; |
54 |
length= ptr.length; |
|
55 |
}
|
|
56 |
||
57 |
};
|
|
58 |
||
520.4.30
by Monty Taylor
Moved LEX_STRING into drizzled/lex_string.h. |
59 |
|
1238.1.4
by Brian Aker
ICC cleanup |
60 |
#define STRING_WITH_LEN(X) (X), (static_cast<size_t>((sizeof(X) - 1)))
|
61 |
#define C_STRING_WITH_LEN(X) (const_cast<char *>((X))), (static_cast<size_t>((sizeof(X) - 1)))
|
|
520.4.30
by Monty Taylor
Moved LEX_STRING into drizzled/lex_string.h. |
62 |
|
1280.1.10
by Monty Taylor
Put everything in drizzled into drizzled namespace. |
63 |
} /* namespace drizzled */ |
520.4.30
by Monty Taylor
Moved LEX_STRING into drizzled/lex_string.h. |
64 |
|
65 |
#endif /* DRIZZLED_LEX_STRING_H */ |