code: def table(schema, arg):
      
      assert isinstance(arg, ir.TableExpr)
  
      if arg.schema() >= sch.schema(schema):
          return arg
  
      raise com.IbisTypeError(
          'Argument is not a table with column subset of {}'.format(schema)
      )
docs: A table argument.
  
      Parameters
      ----------
      schema : Union[sch.Schema, List[Tuple[str, dt.DataType]]
          A validator for the table's columns. Only column subset validators are
          currently supported. Accepts any arguments that `sch.schema` accepts.
          See the example for usage.
      arg : The validatable argument.
  
      Examples
      --------
      The following op will accept an argument named ``'table'``. Note that the
      ``schema`` argument specifies rules for columns that are required to be in
      the table: ``time``, ``group`` and ``value1``. These must match the types
      specified in the column rules. Column ``value2`` is optional, but if
      present it must be of the specified type. The table may have extra columns
      not specified in the schema.