Skip to content

Commit 52d4e50

Browse files
committed
fix: build error
1 parent ddafb26 commit 52d4e50

File tree

3 files changed

+47
-40
lines changed

3 files changed

+47
-40
lines changed

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.5)
22

33
# Set extension name here
44
set(TARGET_NAME redis)
5+
set(CMAKE_CXX_STANDARD 17)
6+
set(CMAKE_CXX_STANDARD_REQUIRED 1)
7+
58

69
set(EXTENSION_NAME ${TARGET_NAME}_extension)
710
set(LOADABLE_EXTENSION_NAME ${TARGET_NAME}_loadable_extension)

src/redis_extension.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#include "duckdb/parser/parsed_data/create_scalar_function_info.hpp"
88
#include "duckdb/parser/parsed_data/create_table_function_info.hpp"
99
#include "duckdb/function/table_function.hpp"
10-
10+
#include "duckdb/main/extension/extension_loader.hpp"
1111
#include <boost/asio.hpp>
1212
#include <string>
1313
#include <mutex>
@@ -1023,4 +1023,8 @@ std::string RedisExtension::Version() const {
10231023

10241024
} // namespace duckdb
10251025

1026-
DUCKDB_CPP_EXTENSION_ENTRY(redis, duckdb::RedisExtension)
1026+
extern "C" {
1027+
DUCKDB_CPP_EXTENSION_ENTRY(redis, loader) {
1028+
duckdb::LoadInternal(loader);
1029+
}
1030+
}

src/redis_secret.cpp

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,67 @@
11
#include "redis_secret.hpp"
22
#include "duckdb/common/exception.hpp"
33
#include "duckdb/main/secret/secret.hpp"
4-
#include "duckdb/main/extension_loader.hpp"
4+
#include "duckdb/main/extension/extension_loader.hpp"
55

66
namespace duckdb {
77

88
static void CopySecret(const std::string &key, const CreateSecretInput &input, KeyValueSecret &result) {
9-
auto val = input.options.find(key);
10-
if (val != input.options.end()) {
11-
result.secret_map[key] = val->second;
12-
}
9+
auto val = input.options.find(key);
10+
if (val != input.options.end()) {
11+
result.secret_map[key] = val->second;
12+
}
1313
}
1414

1515
static void RegisterCommonSecretParameters(CreateSecretFunction &function) {
16-
// Register redis connection parameters
17-
function.named_parameters["host"] = LogicalType::VARCHAR;
18-
function.named_parameters["port"] = LogicalType::VARCHAR;
19-
function.named_parameters["password"] = LogicalType::VARCHAR;
16+
// Register redis connection parameters
17+
function.named_parameters["host"] = LogicalType::VARCHAR;
18+
function.named_parameters["port"] = LogicalType::VARCHAR;
19+
function.named_parameters["password"] = LogicalType::VARCHAR;
2020
}
2121

2222
static void RedactCommonKeys(KeyValueSecret &result) {
23-
// Redact sensitive information
24-
result.redact_keys.insert("password");
23+
// Redact sensitive information
24+
result.redact_keys.insert("password");
2525
}
2626

2727
static unique_ptr<BaseSecret> CreateRedisSecretFromConfig(ClientContext &context, CreateSecretInput &input) {
28-
auto scope = input.scope;
29-
auto result = make_uniq<KeyValueSecret>(scope, input.type, input.provider, input.name);
28+
auto scope = input.scope;
29+
auto result = make_uniq<KeyValueSecret>(scope, input.type, input.provider, input.name);
3030

31-
// Copy all relevant secrets
32-
CopySecret("host", input, *result);
33-
CopySecret("port", input, *result);
34-
CopySecret("password", input, *result);
31+
// Copy all relevant secrets
32+
CopySecret("host", input, *result);
33+
CopySecret("port", input, *result);
34+
CopySecret("password", input, *result);
3535

36-
// Redact sensitive keys
37-
RedactCommonKeys(*result);
36+
// Redact sensitive keys
37+
RedactCommonKeys(*result);
3838

39-
return result;
39+
return result;
4040
}
4141

4242
static unique_ptr<BaseSecret> RedisSecretDeserialize(Deserializer &deserializer, BaseSecret base_secret) {
43-
auto result = KeyValueSecret::Deserialize<KeyValueSecret>(deserializer, std::move(base_secret));
44-
auto kv_secret = dynamic_cast<KeyValueSecret*>(result.get());
45-
if (kv_secret) {
46-
RedactCommonKeys(*kv_secret);
47-
}
48-
return result;
43+
auto result = KeyValueSecret::Deserialize<KeyValueSecret>(deserializer, std::move(base_secret));
44+
auto kv_secret = dynamic_cast<KeyValueSecret *>(result.get());
45+
if (kv_secret) {
46+
RedactCommonKeys(*kv_secret);
47+
}
48+
return result;
4949
}
5050

5151
void CreateRedisSecretFunctions::Register(ExtensionLoader &loader) {
52-
string type = "redis";
52+
string type = "redis";
5353

54-
// Register the new type
55-
SecretType secret_type;
56-
secret_type.name = type;
57-
secret_type.deserializer = RedisSecretDeserialize;
58-
secret_type.default_provider = "config";
59-
loader.RegisterSecretType(secret_type);
54+
// Register the new type
55+
SecretType secret_type;
56+
secret_type.name = type;
57+
secret_type.deserializer = RedisSecretDeserialize;
58+
secret_type.default_provider = "config";
59+
loader.RegisterSecretType(secret_type);
6060

61-
// Register the config secret provider
62-
CreateSecretFunction config_function = {type, "config", CreateRedisSecretFromConfig};
63-
RegisterCommonSecretParameters(config_function);
64-
loader.RegisterFunction(config_function);
61+
// Register the config secret provider
62+
CreateSecretFunction config_function = {type, "config", CreateRedisSecretFromConfig};
63+
RegisterCommonSecretParameters(config_function);
64+
loader.RegisterFunction(config_function);
6565
}
6666

67-
} // namespace duckdb
67+
} // namespace duckdb

0 commit comments

Comments
 (0)