~zhuzhaoyuan/mysql-proxy/fix-auto-config

« back to all changes in this revision

Viewing changes to lib/proxy/auto-config.lua

  • Committer: Joshua Zhu
  • Date: 2009-02-27 15:10:30 UTC
  • Revision ID: josh@joshua-20090227151030-06cwmv3hxiorp7xr
"literal" should be a Lua identifier

Show diffs side-by-side

added added

removed removed

Lines of Context:
114
114
local FROM   = lpeg_ci_str("FROM") * WS^1
115
115
local DOT    = l.P(".")
116
116
local EQ     = WS^0 * l.P("=") * WS^0
117
 
local literal = l.R("az", "AZ") ^ 1
118
117
local string_quoted  = l.P("\"") * ( 1 - l.P("\"") )^0 * l.P("\"") -- /".*"/
119
118
local digit  = l.R("09")       -- [0-9]
120
119
local number = (l.P("-") + "") * digit^1         -- [0-9]+
121
120
local bool   = l.P("true") + l.P("false")
 
121
local letter = l.R("az", "AZ") + l.P("_")
 
122
local alphanum = letter + digit
 
123
local identifier = letter * alphanum^0
122
124
 
123
125
local l_proxy = l.Ct(PROXY * 
124
126
        ((SHOW / "SHOW" * CONFIG) +
125
 
         (SET  / "SET"  * GLOBAL * l.C(literal) * DOT * l.C(literal) * EQ * 
 
127
         (SET  / "SET"  * GLOBAL * l.C(identifier) * DOT * l.C(identifier) * EQ * 
126
128
                l.Ct( l.Cc("string") * l.C(string_quoted) + 
127
129
                      l.Cc("number") * l.C(number) + 
128
130
                      l.Cc("boolean") * l.C(bool) )) +