code: public Table getTable(Session session, String name, String schema) {
  
          Table t = null;
  
          if (schema == null) {
              t = findSessionTable(session, name, schema);
          }
  
          if (t == null) {
              schema = session.getSchemaName(schema);
              t      = findUserTable(session, name, schema);
          }
  
          if (t == null) {
              if (SqlInvariants.INFORMATION_SCHEMA.equals(schema)
                      && database.dbInfo != null) {
                  t = database.dbInfo.getSystemTable(session, name);
              }
          }
  
          if (t == null) {
              throw Error.error(ErrorCode.X_42501, name);
          }
  
          return t;
      }
docs: Returns the specified user-defined table or view visible within the
  context of the specified Session, or any system table of the given
  name. It excludes any temp tables created in other Sessions.
  Throws if the table does not exist in the context.