~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/lex_string.h

  • Committer: Brian Aker
  • Date: 2009-08-06 15:04:21 UTC
  • mfrom: (1093.1.52 captain)
  • Revision ID: brian@gaz-20090806150421-w8yrasl1m8exorxs
Merge Jay

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2008 Sun Microsystems, Inc.
 
4
 *  Copyright (C) 2008 Sun Microsystems
5
5
 *
6
6
 *  This program is free software; you can redistribute it and/or modify
7
7
 *  it under the terms of the GNU General Public License as published by
22
22
 
23
23
#include <stddef.h>
24
24
 
25
 
namespace drizzled
26
 
{
27
 
 
28
25
/*
29
26
  LEX_STRING -- a pair of a C-string and its length.
30
27
*/
31
28
 
32
29
/* This definition must match the one given in mysql/plugin.h */
33
 
typedef struct drizzle_lex_string
 
30
typedef struct st_mysql_lex_string
34
31
{
35
32
  char *str;
36
33
  size_t length;
37
34
} LEX_STRING;
38
35
 
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 */
 
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
 
64
41
 
65
42
#endif /* DRIZZLED_LEX_STRING_H */