
com.hazelcast.sql.impl.expression.ExpressionEvalContextImpl Maven / Gradle / Ivy
The newest version!
/*
* Copyright 2024 Hazelcast Inc.
*
* Licensed under the Hazelcast Community License (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://hazelcast.com/hazelcast-community-license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.hazelcast.sql.impl.expression;
import com.hazelcast.internal.serialization.InternalSerializationService;
import com.hazelcast.jet.impl.execution.init.Contexts.MetaSupplierCtx;
import com.hazelcast.spi.impl.NodeEngine;
import com.hazelcast.sql.impl.security.SqlSecurityContext;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import javax.security.auth.Subject;
import java.security.Permission;
import java.util.List;
import static java.util.Objects.requireNonNull;
/**
* Defines expression evaluation context contract for SQL {@link Expression
* expressions}.
*
* @see Expression#eval
*/
public class ExpressionEvalContextImpl implements ExpressionEvalContext {
// Two security context holders for different scopes. If one is active, the other must be empty.
// MetaSupplierCtx holds sql security context for Jet job execution.
private transient MetaSupplierCtx contextRef;
// SqlSecurityContext is applicable for non-Jet query execution (ByKey plans).
private transient SqlSecurityContext ssc;
private final List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy