docs: def table(name=None, mode='create', use_cache=True, priority='interactive',
              allow_large_results=False):
      """ Construct a query output object where the result is a table
  
      Args:
        name: the result table name as a string or TableName; if None (the default), then a
            temporary table will be used.
        table_mode: one of 'create', 'overwrite' or 'append'. If 'create' (the default), the request
            will fail if the table exists.
        use_cache: whether to use past query results or ignore cache. Has no effect if destination is
            specified (default True).
        priority:one of 'batch' or 'interactive' (default). 'interactive' jobs should be scheduled
            to run quickly but are subject to rate limits; 'batch' jobs could be delayed by as much
            as three hours but are not rate-limited.
        allow_large_results: whether to allow large results; i.e. compressed data over 100MB. This is
            slower and requires a name to be specified) (default False).
      """
      output = QueryOutput()
      output._output_type = 'table'
      output._table_name = name
      output._table_mode = mode
      output._use_cache = use_cache
      output._priority = priority
      output._allow_large_results = allow_large_results
      return output