Class SessionManager


  • public class SessionManager
    extends java.lang.Object
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static org.slf4j.Logger AUDIT_LOGGER  
      static org.apache.iotdb.service.rpc.thrift.TSProtocolVersion CURRENT_RPC_VERSION  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected SessionManager()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.apache.iotdb.common.rpc.thrift.TSStatus checkAuthority​(PhysicalPlan plan, long sessionId)
      Check whether specific Session has the authorization to given plan.
      boolean checkAuthorization​(PhysicalPlan plan, java.lang.String username)
      Check whether specific user has the authorization to given plan.
      boolean checkLogin​(long sessionId)
      Check whether current user has logged in.
      void closeDataset​(java.lang.Long statementId, java.lang.Long queryId, java.util.function.Consumer<java.lang.Long> releaseByQueryId)  
      org.apache.iotdb.common.rpc.thrift.TSStatus closeOperation​(long sessionId, long queryId, long statementId, boolean haveStatementId, boolean haveSetQueryId)  
      org.apache.iotdb.common.rpc.thrift.TSStatus closeOperation​(long sessionId, long queryId, long statementId, boolean haveStatementId, boolean haveSetQueryId, java.util.function.Consumer<java.lang.Long> releaseByQueryId)  
      boolean closeSession​(long sessionId)  
      void closeStatement​(long sessionId, long statementId, java.util.function.Consumer<java.lang.Long> releaseByQueryId)  
      org.apache.iotdb.commons.conf.IoTDBConstant.ClientVersion getClientVersion​(java.lang.Long sessionId)  
      java.lang.Long getCurrSessionId()  
      java.util.TimeZone getCurrSessionTimeZone()  
      org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet getDataset​(java.lang.Long queryId)  
      static SessionManager getInstance()  
      long getSessionIdByQueryId​(long queryId)  
      SessionInfo getSessionInfo​(long sessionId)  
      java.lang.String getUsername​(java.lang.Long sessionId)  
      java.time.ZoneId getZoneId​(java.lang.Long sessionId)  
      boolean hasDataset​(java.lang.Long queryId)  
      BasicOpenSessionResp openSession​(java.lang.String username, java.lang.String password, java.lang.String zoneId, org.apache.iotdb.service.rpc.thrift.TSProtocolVersion tsProtocolVersion)  
      BasicOpenSessionResp openSession​(java.lang.String username, java.lang.String password, java.lang.String zoneId, org.apache.iotdb.service.rpc.thrift.TSProtocolVersion tsProtocolVersion, org.apache.iotdb.commons.conf.IoTDBConstant.ClientVersion clientVersion)  
      void releaseQueryResource​(long queryId)  
      void releaseQueryResourceNoExceptions​(long queryId)  
      boolean releaseSessionResource​(long sessionId)  
      boolean releaseSessionResource​(long sessionId, java.util.function.Consumer<java.lang.Long> releaseQueryResource)  
      void removeDataset​(java.lang.Long queryId)  
      long requestQueryId​(boolean isDataQuery)  
      long requestQueryId​(java.lang.Long statementId, boolean isDataQuery)  
      long requestSessionId​(java.lang.String username, java.lang.String zoneId, org.apache.iotdb.commons.conf.IoTDBConstant.ClientVersion clientVersion)  
      long requestStatementId​(long sessionId)  
      void setDataset​(java.lang.Long queryId, org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet dataSet)  
      void setTimezone​(java.lang.Long sessionId, java.lang.String zone)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • AUDIT_LOGGER

        public static final org.slf4j.Logger AUDIT_LOGGER
      • CURRENT_RPC_VERSION

        public static final org.apache.iotdb.service.rpc.thrift.TSProtocolVersion CURRENT_RPC_VERSION
    • Constructor Detail

      • SessionManager

        protected SessionManager()
    • Method Detail

      • openSession

        public BasicOpenSessionResp openSession​(java.lang.String username,
                                                java.lang.String password,
                                                java.lang.String zoneId,
                                                org.apache.iotdb.service.rpc.thrift.TSProtocolVersion tsProtocolVersion,
                                                org.apache.iotdb.commons.conf.IoTDBConstant.ClientVersion clientVersion)
                                         throws org.apache.thrift.TException
        Throws:
        org.apache.thrift.TException
      • openSession

        public BasicOpenSessionResp openSession​(java.lang.String username,
                                                java.lang.String password,
                                                java.lang.String zoneId,
                                                org.apache.iotdb.service.rpc.thrift.TSProtocolVersion tsProtocolVersion)
                                         throws org.apache.thrift.TException
        Throws:
        org.apache.thrift.TException
      • closeSession

        public boolean closeSession​(long sessionId)
      • closeOperation

        public org.apache.iotdb.common.rpc.thrift.TSStatus closeOperation​(long sessionId,
                                                                          long queryId,
                                                                          long statementId,
                                                                          boolean haveStatementId,
                                                                          boolean haveSetQueryId,
                                                                          java.util.function.Consumer<java.lang.Long> releaseByQueryId)
      • closeOperation

        public org.apache.iotdb.common.rpc.thrift.TSStatus closeOperation​(long sessionId,
                                                                          long queryId,
                                                                          long statementId,
                                                                          boolean haveStatementId,
                                                                          boolean haveSetQueryId)
      • checkLogin

        public boolean checkLogin​(long sessionId)
        Check whether current user has logged in.
        Returns:
        true: If logged in; false: If not logged in
      • requestSessionId

        public long requestSessionId​(java.lang.String username,
                                     java.lang.String zoneId,
                                     org.apache.iotdb.commons.conf.IoTDBConstant.ClientVersion clientVersion)
      • releaseSessionResource

        public boolean releaseSessionResource​(long sessionId)
      • releaseSessionResource

        public boolean releaseSessionResource​(long sessionId,
                                              java.util.function.Consumer<java.lang.Long> releaseQueryResource)
      • getSessionIdByQueryId

        public long getSessionIdByQueryId​(long queryId)
      • requestStatementId

        public long requestStatementId​(long sessionId)
      • closeStatement

        public void closeStatement​(long sessionId,
                                   long statementId,
                                   java.util.function.Consumer<java.lang.Long> releaseByQueryId)
      • requestQueryId

        public long requestQueryId​(java.lang.Long statementId,
                                   boolean isDataQuery)
      • requestQueryId

        public long requestQueryId​(boolean isDataQuery)
      • releaseQueryResourceNoExceptions

        public void releaseQueryResourceNoExceptions​(long queryId)
      • checkAuthorization

        public boolean checkAuthorization​(PhysicalPlan plan,
                                          java.lang.String username)
                                   throws org.apache.iotdb.commons.auth.AuthException
        Check whether specific user has the authorization to given plan.
        Throws:
        org.apache.iotdb.commons.auth.AuthException
      • checkAuthority

        public org.apache.iotdb.common.rpc.thrift.TSStatus checkAuthority​(PhysicalPlan plan,
                                                                          long sessionId)
        Check whether specific Session has the authorization to given plan.
      • getCurrSessionId

        public java.lang.Long getCurrSessionId()
      • getCurrSessionTimeZone

        public java.util.TimeZone getCurrSessionTimeZone()
      • getUsername

        public java.lang.String getUsername​(java.lang.Long sessionId)
      • getZoneId

        public java.time.ZoneId getZoneId​(java.lang.Long sessionId)
      • setTimezone

        public void setTimezone​(java.lang.Long sessionId,
                                java.lang.String zone)
      • hasDataset

        public boolean hasDataset​(java.lang.Long queryId)
      • getDataset

        public org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet getDataset​(java.lang.Long queryId)
      • setDataset

        public void setDataset​(java.lang.Long queryId,
                               org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet dataSet)
      • removeDataset

        public void removeDataset​(java.lang.Long queryId)
      • closeDataset

        public void closeDataset​(java.lang.Long statementId,
                                 java.lang.Long queryId,
                                 java.util.function.Consumer<java.lang.Long> releaseByQueryId)
      • getClientVersion

        public org.apache.iotdb.commons.conf.IoTDBConstant.ClientVersion getClientVersion​(java.lang.Long sessionId)
      • getSessionInfo

        public SessionInfo getSessionInfo​(long sessionId)