Skip to content

Commit cc89586

Browse files
committed
[trino] Update spi to v426
Incorporates following changes trinodb/trino#18911 Remove deprecated filterViewQueryOwnedBy overload trinodb/trino@dc00946 Remove deprecated getColumnMasks variant trinodb/trino@221a595 Signed-off-by: Utkarsh Saxena <[email protected]>
1 parent 49cb008 commit cc89586

File tree

4 files changed

+19
-37
lines changed

4 files changed

+19
-37
lines changed

plugin-trino/src/main/java/org/apache/ranger/authorization/trino/authorizer/RangerSystemAccessControl.java

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@
5050
import java.util.ArrayList;
5151
import java.util.Arrays;
5252
import java.util.Collections;
53+
import java.util.Collection;
5354
import java.util.Date;
54-
import java.util.HashMap;
5555
import java.util.HashSet;
5656
import java.util.List;
5757
import java.util.Map;
@@ -235,16 +235,6 @@ public Optional<ViewExpression> getColumnMask(SystemSecurityContext context, Cat
235235
return Optional.ofNullable(viewExpression);
236236
}
237237

238-
@Deprecated
239-
@Override
240-
public List<ViewExpression> getColumnMasks(SystemSecurityContext context, CatalogSchemaTableName tableName, String columnName, Type type)
241-
{
242-
// TODO{utk}: remove, marked as deprecated, Trino no longer supports multiple masks as of v406
243-
return getColumnMask(context, tableName, columnName, type)
244-
.map(Collections::singletonList)
245-
.orElse(Collections.emptyList());
246-
}
247-
248238
@Override
249239
public void checkCanCreateCatalog(SystemSecurityContext context, String catalog)
250240
{
@@ -688,7 +678,7 @@ public void checkCanViewQueryOwnedBy(SystemSecurityContext context, Identity que
688678
* This is a NOOP, no filtering is applied
689679
*/
690680
@Override
691-
public Set<String> filterViewQueryOwnedBy(SystemSecurityContext context, Set<String> queryOwners) {
681+
public Collection<Identity> filterViewQueryOwnedBy(SystemSecurityContext context, Collection<Identity> queryOwners) {
692682
return queryOwners;
693683
}
694684

plugin-trino/src/test/java/org/apache/ranger/authorization/trino/authorizer/RangerSystemAccessControlTest.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import io.trino.spi.security.TrinoPrincipal;
2929
import io.trino.spi.security.SystemSecurityContext;
3030

31+
import static com.google.common.collect.ImmutableSet.toImmutableSet;
3132
import static io.trino.spi.security.PrincipalType.USER;
3233
import static io.trino.spi.security.Privilege.SELECT;
3334
import static org.junit.Assert.*;
@@ -171,20 +172,25 @@ public void testViewOperations()
171172
@SuppressWarnings("PMD")
172173
public void testMisc()
173174
{
174-
assertEquals(accessControlManager.filterViewQueryOwnedBy(context(alice), queryOwners), queryOwners);
175+
assertEquals(
176+
accessControlManager.filterViewQueryOwnedBy(
177+
context(alice),
178+
queryOwners.stream().map(Identity::ofUser).collect(toImmutableSet())),
179+
queryOwners.stream().map(Identity::ofUser).collect(toImmutableSet())
180+
);
175181

176182
// check {type} / {col} replacement
177183
final VarcharType varcharType = VarcharType.createVarcharType(20);
178184

179-
List<ViewExpression> ret = accessControlManager.getColumnMasks(context(alice), aliceTable, "cast_me", varcharType);
180-
assertFalse(ret.isEmpty());
181-
assertEquals(ret.get(0).getExpression(), "cast cast_me as varchar(20)");
185+
Optional<ViewExpression> ret = accessControlManager.getColumnMask(context(alice), aliceTable, "cast_me", varcharType);
186+
assertTrue(ret.isPresent());
187+
assertEquals(ret.get().getExpression(), "cast cast_me as varchar(20)");
182188

183-
ret = accessControlManager.getColumnMasks(context(alice), aliceTable,"do-not-cast-me", varcharType);
184-
assertTrue(ret.isEmpty());
189+
ret = accessControlManager.getColumnMask(context(alice), aliceTable,"do-not-cast-me", varcharType);
190+
assertFalse(ret.isPresent());
185191

186-
ret = accessControlManager.getRowFilters(context(alice), aliceTable);
187-
assertTrue(ret.isEmpty());
192+
List<ViewExpression> ret2 = accessControlManager.getRowFilters(context(alice), aliceTable);
193+
assertTrue(ret2.isEmpty());
188194

189195
accessControlManager.checkCanExecuteFunction(context(alice), functionName);
190196
accessControlManager.checkCanGrantExecuteFunctionPrivilege(context(alice), functionName, new TrinoPrincipal(USER, "grantee"), true);

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@
169169
<noggit.version>0.8</noggit.version>
170170
<owasp-java-html-sanitizer.version>r239</owasp-java-html-sanitizer.version>
171171
<paranamer.version>2.3</paranamer.version>
172-
<trino.version>425</trino.version>
172+
<trino.version>426</trino.version>
173173
<poi.version>4.1.2</poi.version>
174174
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
175175
<protobuf-java.version>2.5.0</protobuf-java.version>

ranger-trino-plugin-shim/src/main/java/org/apache/ranger/authorization/trino/authorizer/RangerSystemAccessControl.java

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -405,8 +405,8 @@ public void checkCanViewQueryOwnedBy(SystemSecurityContext context, Identity que
405405
}
406406

407407
@Override
408-
public Set<String> filterViewQueryOwnedBy(SystemSecurityContext context, Set<String> queryOwners) {
409-
Set<String> filteredQueryOwners;
408+
public Collection<Identity> filterViewQueryOwnedBy(SystemSecurityContext context, Collection<Identity> queryOwners) {
409+
Collection<Identity> filteredQueryOwners;
410410
try {
411411
activatePluginClassLoader();
412412
filteredQueryOwners = systemAccessControlImpl.filterViewQueryOwnedBy(context, queryOwners);
@@ -553,20 +553,6 @@ public Optional<ViewExpression> getColumnMask(SystemSecurityContext context, Cat
553553
return viewExpression;
554554
}
555555

556-
557-
@Deprecated
558-
@Override
559-
public List<ViewExpression> getColumnMasks(SystemSecurityContext context, CatalogSchemaTableName tableName, String columnName, Type type) {
560-
List<ViewExpression> viewExpression;
561-
try {
562-
activatePluginClassLoader();
563-
viewExpression = systemAccessControlImpl.getColumnMasks(context, tableName, columnName, type);
564-
} finally {
565-
deactivatePluginClassLoader();
566-
}
567-
return viewExpression;
568-
}
569-
570556
@Override
571557
public void checkCanSetUser(Optional<Principal> principal, String userName) {
572558
try {

0 commit comments

Comments
 (0)