Commit e9a9107f authored by msvensson@pilot.blaudden's avatar msvensson@pilot.blaudden
Browse files

Add mysql builtin $MYSQL_SERVER_VERSION and some function to make

it easier to set a variable from string or int 
parent a247bd58
Loading
Loading
Loading
Loading
+19 −9
Original line number Diff line number Diff line
@@ -1311,23 +1311,31 @@ void var_set(const char *var_name, const char *var_name_end,
  DBUG_VOID_RETURN;
}


void var_set_string(const char* name, const char* value)
{
  var_set(name, name + strlen(name), value, value + strlen(value));
}


void var_set_int(const char* name, int value)
{
  char buf[21];
  snprintf(buf, sizeof(buf), "%d", value);
  var_set_string(name, buf);
}


/*
  Store an integer (typically the returncode of the last SQL)
  statement in the mysqltest builtin variable $mysql_errno, by
  simulating of a user statement "let $mysql_errno= <integer>"
  statement in the mysqltest builtin variable $mysql_errno
*/

void var_set_errno(int sql_errno)
{
  /* TODO MASV make easier */
  const char *var_name= "$mysql_errno";
  char var_val[21];
  uint length= my_sprintf(var_val, (var_val, "%d", sql_errno));
  var_set(var_name, var_name + 12, var_val, var_val + length);
  return;
  var_set_int("$mysql_errno", sql_errno);
}


/*
  Set variable from the result of a query

@@ -5990,6 +5998,8 @@ int main(int argc, char **argv)
                1024, 0, 0, get_var_key, var_free, MYF(0)))
    die("Variable hash initialization failed");

  var_set_string("$MYSQL_SERVER_VERSION", MYSQL_SERVER_VERSION);

  memset(&master_pos, 0, sizeof(master_pos));

  parser.current_line= parser.read_lines= 0;