~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/lex_string.h

  • Committer: Jay Pipes
  • Date: 2009-09-15 21:01:42 UTC
  • mto: (1126.2.5 merge)
  • mto: This revision was merged to the branch mainline in revision 1128.
  • Revision ID: jpipes@serialcoder-20090915210142-x8mwiqn1q0vzjspp
Moves Alter_info out into its own header and source file, cleans up some related include mess in sql_lex.h, and renames Alter_info to AlterInfo.

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 lex_string_t
 
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
 
inline const LEX_STRING &null_lex_string()
40
 
{
41
 
  static LEX_STRING tmp= { NULL, 0 };
42
 
  return tmp;
43
 
}
44
 
 
45
 
#define NULL_LEX_STRING null_lex_string()
46
 
 
47
 
struct execute_string_t : public lex_string_t
48
 
{
49
 
private:
50
 
  bool is_variable;
51
 
public:
52
 
 
53
 
  bool isVariable() const
54
 
  {
55
 
    return is_variable;
56
 
  }
57
 
 
58
 
  void set(const lex_string_t& ptr, bool is_variable_arg= false)
59
 
  {
60
 
    is_variable= is_variable_arg;
61
 
    str= ptr.str;
62
 
    length= ptr.length;
63
 
  }
64
 
 
65
 
};
66
 
 
67
 
 
68
 
#define STRING_WITH_LEN(X) (X), (static_cast<size_t>((sizeof(X) - 1)))
69
 
#define C_STRING_WITH_LEN(X) (const_cast<char *>((X))), (static_cast<size_t>((sizeof(X) - 1)))
70
 
 
71
 
} /* 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
 
72
41
 
73
42
#endif /* DRIZZLED_LEX_STRING_H */