~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/lex_string.h

  • Committer: Brian Aker
  • Date: 2010-12-08 22:35:56 UTC
  • mfrom: (1819.9.158 update-innobase)
  • Revision ID: brian@tangent.org-20101208223556-37mi4omqg7lkjzf3
Merge in Stewart's changes, 1.3 changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 
23
23
#include <stddef.h>
24
24
 
 
25
namespace drizzled
 
26
{
 
27
 
25
28
/*
26
29
  LEX_STRING -- a pair of a C-string and its length.
27
30
*/
28
31
 
29
32
/* This definition must match the one given in mysql/plugin.h */
30
 
typedef struct st_mysql_lex_string
 
33
typedef struct drizzle_lex_string
31
34
{
32
35
  char *str;
33
36
  size_t length;
34
37
} LEX_STRING;
35
38
 
36
 
 
37
 
#define STRING_WITH_LEN(X) (X), ((size_t) (sizeof(X) - 1))
38
 
#define USTRING_WITH_LEN(X) ((unsigned char*) X), ((size_t) (sizeof(X) - 1))
39
 
#define C_STRING_WITH_LEN(X) ((char *) (X)), ((size_t) (sizeof(X) - 1))
40
 
 
 
39
struct execute_string_t : public drizzle_lex_string
 
40
{
 
41
private:
 
42
  bool is_variable;
 
43
public:
 
44
 
 
45
  bool isVariable() const
 
46
  {
 
47
    return is_variable;
 
48
  }
 
49
 
 
50
  void set(const drizzle_lex_string& ptr, bool is_variable_arg= false)
 
51
  {
 
52
    is_variable= is_variable_arg;
 
53
    str= ptr.str;
 
54
    length= ptr.length;
 
55
  }
 
56
 
 
57
};
 
58
 
 
59
 
 
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)))
 
62
 
 
63
} /* namespace drizzled */
41
64
 
42
65
#endif /* DRIZZLED_LEX_STRING_H */