Функция Tsung Erlang (dynvars) - экранирование кавычек - PullRequest
2 голосов
/ 10 ноября 2009

Новичок в Цунге и Эрлане и столкнулся с проблемой, на которую я не смог найти ответ. Я использую erlang-mysql-driver в функции Erlang в Tsung dynvars и, похоже, у меня проблема с экранированными кавычками.

Я бы хотел сделать что-то вроде этого:

      <setdynvars sourcetype="eval"
              code='fun({Pid,DynVars})->
                  mysql:start_link(p1, "localhost", "user", "pass", "db"), 
                  Result = mysql:fetch(p1, "SELECT * FROM consumers WHERE first_name=\'Doonley\'") end.'>
      <var name="myres" />
    </setdynvars>

но я получаю пробел:

Douglas-Sparlings-MacBook-Pro:.tsung dsparling$ tsung start
Starting Tsung
"Log directory is: /Users/dsparling/.tsung/log/20091110-16:35"
3284- fatal: {whitespace_required_between_attributes}
["Config Error, aborting ! ",{fatal,{{whitespace_required_between_attributes},{file,"/Users/dsparling/.tsung/tsung.xml"},{line,72},{col,221}}}]

Мне действительно нужно использовать переменную для выбора, но я не уверен в синтаксисе. Я ищу что-то вроде следующего:

      <setdynvars sourcetype="eval"
              code='fun({Pid,DynVars})->
                  Val='Doonley",
                  mysql:start_link(p1, "localhost", "user", "pass", "db"), 
                  Result = mysql:fetch(p1, "SELECT * FROM consumers WHERE first_name=?", Val) end.'>
      <var name="myres" />
    </setdynvars>

1 Ответ

2 голосов
/ 11 ноября 2009

Попробуйте экранировать одинарные кавычки как &apos;. E.g.:

  <setdynvars sourcetype="eval"
          code='fun({Pid,DynVars})->
              mysql:start_link(p1, "localhost", "user", "pass", "db"), 
              Result = mysql:fetch(p1, "SELECT * FROM consumers WHERE first_name=&apos;Doonley&apos;") end.'>
  <var name="myres" />
</setdynvars>
...