Skip to content

Conversation

paradox1307
Copy link

@paradox1307
Copy link
Author

This is a draft implementation of external data management (SQL:MED). It will be improved after the metacache #7954 is merged.

@dyemanov dyemanov marked this pull request as draft September 30, 2025 07:34
@dyemanov dyemanov self-requested a review September 30, 2025 07:35
@sim1984
Copy link

sim1984 commented Sep 30, 2025

Are there any restrictions for users/roles on using foreign servers? I think there should be. That is, we should have something like:

GRANT USAGE ON SERVER <server_name>
TO <grantee_list> [WITH GRANT OPTION]
[{GRANTED BY | AS} [USER] <grantor>];

REVOKE [GRANT OPTION FOR]
USAGE ON SERVER <server_name>
FROM <grantee_list>
[{GRANTED BY | AS} [USER] <grantor>];

This is important, especially if the foreign server stores authentication data. Not every authenticated user should be able to use it in an EXECUTE STATEMENT.

| RDB$FOREIGN_SERVER_NAME | CHAR \(63\) | The foreign server name |
| RDB$FOREIGN_OPTION_NAME | CHAR \(63\) | Option name |
| RDB$FOREIGN_OPTION_VALUE | VARCHAR \(32765\) | Option value |
| RDB$OWNER_NAME | SHORT | Option type |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May be RDB$FOREIGN_OPTION_TYPE ?

continue;

buffer.append(option.first.c_str());
buffer.append(";");
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is there a semicolon ; here? I would have expected an equals symbol =.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants