const auto index = luaL_checkstring(L, 1);
// by default we increment by 1/-1
- const auto default_inc = (decrement ? -1 : 1);
+ const long long int default_inc = (decrement ? -1 : 1);
BackgroundMapValue inc_by = default_inc;
if (args == 2) {
if (lua_isinteger(L, 2)) {
auto& value = it->second;
if (std::holds_alternative<double>(value) && std::holds_alternative<double>(inc_by)) {
value = std::get<double>(value) + std::get<double>(inc_by);
- } else if (std::holds_alternative<int64_t>(value) && std::holds_alternative<int64_t>(inc_by)) {
- value = std::get<int64_t>(value) + std::get<int64_t>(inc_by);
- } else if (std::holds_alternative<double>(value) && std::holds_alternative<int64_t>(inc_by)) {
- value = std::get<double>(value) + static_cast<double>(std::get<int64_t>(inc_by));
- } else if (std::holds_alternative<int64_t>(value) && std::holds_alternative<double>(inc_by)) {
- value = static_cast<double>(std::get<int64_t>(value)) + std::get<double>(inc_by);
+ } else if (std::holds_alternative<long long int>(value) && std::holds_alternative<long long int>(inc_by)) {
+ value = std::get<long long int>(value) + std::get<long long int>(inc_by);
+ } else if (std::holds_alternative<double>(value) && std::holds_alternative<long long int>(inc_by)) {
+ value = std::get<double>(value) + static_cast<double>(std::get<long long int>(inc_by));
+ } else if (std::holds_alternative<long long int>(value) && std::holds_alternative<double>(inc_by)) {
+ value = static_cast<double>(std::get<long long int>(value)) + std::get<double>(inc_by);
} else {
mtx.unlock();
return luaL_error(L, "can increment only numeric values");
const auto rc = lua::request::execute(nullptr, nullptr, nullptr, &s, "", request_script, &lua_background);
ASSERT_EQ(rc, 0);
EXPECT_EQ(get_table_value<std::string>(lua_background, "key1"), "string value");
- EXPECT_EQ(get_table_value<int64_t>(lua_background, "key2"), 42);
+ EXPECT_EQ(get_table_value<long long int>(lua_background, "key2"), 42);
EXPECT_EQ(get_table_value<double>(lua_background, "key3"), 42.2);
EXPECT_TRUE(get_table_value<bool>(lua_background, "key4"));
}
auto rc = lua::request::execute(nullptr, nullptr, nullptr, &s, "", request_script, &lua_background);
ASSERT_EQ(rc, 0);
EXPECT_EQ(get_table_value<std::string>(lua_background, "key1"), "string value");
- EXPECT_EQ(get_table_value<int64_t>(lua_background, "key2"), 42);
+ EXPECT_EQ(get_table_value<long long int>(lua_background, "key2"), 42);
request_script = R"(
RGW["key3"] = RGW["key1"]
rc = lua::request::execute(nullptr, nullptr, nullptr, &s, "", request_script, &lua_background);
ASSERT_EQ(rc, 0);
EXPECT_EQ(get_table_value<std::string>(lua_background, "key1"), "string value");
- EXPECT_EQ(get_table_value<int64_t>(lua_background, "key2"), 42);
+ EXPECT_EQ(get_table_value<long long int>(lua_background, "key2"), 42);
EXPECT_EQ(get_table_value<std::string>(lua_background, "key3"), "string value");
- EXPECT_EQ(get_table_value<int64_t>(lua_background, "key4"), 42);
+ EXPECT_EQ(get_table_value<long long int>(lua_background, "key4"), 42);
}
TEST(TestRGWLuaBackground, TableValuesFromRequest)
const auto rc = lua::request::execute(nullptr, nullptr, nullptr, &s, "", request_script, &lua_background);
ASSERT_EQ(rc, 0);
- EXPECT_EQ(get_table_value<int64_t>(lua_background, "key1"), -99);
+ EXPECT_EQ(get_table_value<long long int>(lua_background, "key1"), -99);
EXPECT_EQ(get_table_value<std::string>(lua_background, "key2"), "hi");
EXPECT_EQ(get_table_value<double>(lua_background, "key3"), -9.9);
EXPECT_EQ(get_table_value<bool>(lua_background, "key4"), true);
const auto rc = lua::request::execute(nullptr, nullptr, nullptr, &s, "", request_script, &lua_background);
ASSERT_NE(rc, 0);
EXPECT_EQ(get_table_value<std::string>(lua_background, "key1"), "val1");
- EXPECT_EQ(get_table_value<int64_t>(lua_background, "key2"), 42);
+ EXPECT_EQ(get_table_value<long long int>(lua_background, "key2"), 42);
EXPECT_EQ(get_table_value<double>(lua_background, "key3"), 42.2);
EXPECT_EQ(get_table_value<bool>(lua_background, "key4"), true);
}
auto rc = lua::request::execute(nullptr, nullptr, nullptr, &s, "", request_script, &lua_background);
ASSERT_EQ(rc, 0);
EXPECT_EQ(get_table_value<std::string>(lua_background, "key1"), "string value");
- EXPECT_EQ(get_table_value<int64_t>(lua_background, "key2"), 42);
+ EXPECT_EQ(get_table_value<long long int>(lua_background, "key2"), 42);
EXPECT_EQ(get_table_value<std::string>(lua_background, "key3"), "another string value");
- EXPECT_EQ(get_table_value<int64_t>(lua_background, "size"), 4);
+ EXPECT_EQ(get_table_value<long long int>(lua_background, "size"), 4);
request_script = R"(
-- erase key1
rc = lua::request::execute(nullptr, nullptr, nullptr, &s, "", request_script, &lua_background);
ASSERT_EQ(rc, 0);
EXPECT_EQ(get_table_value<std::string>(lua_background, "key1"), "");
- EXPECT_EQ(get_table_value<int64_t>(lua_background, "key2"), 42);
+ EXPECT_EQ(get_table_value<long long int>(lua_background, "key2"), 42);
EXPECT_EQ(get_table_value<std::string>(lua_background, "key3"), "another string value");
- EXPECT_EQ(get_table_value<int64_t>(lua_background, "size"), 3);
+ EXPECT_EQ(get_table_value<long long int>(lua_background, "size"), 3);
}
TEST(TestRGWLuaBackground, TableIterate)
const auto rc = lua::request::execute(nullptr, nullptr, nullptr, &s, "", request_script, &lua_background);
ASSERT_EQ(rc, 0);
EXPECT_EQ(get_table_value<std::string>(lua_background, "key1"), "string value");
- EXPECT_EQ(get_table_value<int64_t>(lua_background, "key2"), 42);
+ EXPECT_EQ(get_table_value<long long int>(lua_background, "key2"), 42);
EXPECT_EQ(get_table_value<double>(lua_background, "key3"), 42.2);
EXPECT_TRUE(get_table_value<bool>(lua_background, "key4"));
- EXPECT_EQ(get_table_value<int64_t>(lua_background, "size"), 5);
+ EXPECT_EQ(get_table_value<long long int>(lua_background, "size"), 5);
}
TEST(TestRGWLuaBackground, TableIncrement)