text: from sqlalchemy import Column
  from sqlalchemy import Integer
  from sqlalchemy import String
  from sqlalchemy import Table
  from sqlalchemy import tablesample
  from sqlalchemy.engine import default
  from sqlalchemy.sql import func
  from sqlalchemy.sql import select
  from sqlalchemy.sql import text
  from sqlalchemy.testing import AssertsCompiledSQL
  from sqlalchemy.testing import fixtures
  
  
  class TableSampleTest(fixtures.TablesTest, AssertsCompiledSQL):
      __dialect__ = default.DefaultDialect(supports_native_boolean=True)
  
      run_setup_bind = None
  
      run_create_tables = None
  
      @classmethod
      def define_tables(cls, metadata):
          Table(
              "people",
              metadata,
              Column("people_id", Integer, primary_key=True),
              Column("age", Integer),
              Column("name", String(30)),
          )
  
      def test_standalone(self):
          table1 = self.tables.people
  
          # no special alias handling even though clause is not in the
          # context of a FROM clause
          self.assert_compile(
              tablesample(table1, 1, name="alias"),
              "people AS alias TABLESAMPLE system(:system_1)",
          )
  
          self.assert_compile(
              table1.tablesample(1, name="alias"),
              "people AS alias TABLESAMPLE system(:system_1)",
          )
  
          self.assert_compile(
              tablesample(
                  table1, func.bernoulli(1), name="alias", seed=func.random()
              ),
              "people AS alias TABLESAMPLE bernoulli(:bernoulli_1) "
              "REPEATABLE (random())",
          )
  
      def test_select_from(self):
          table1 = self.tables.people
  
          self.assert_compile(
              select([table1.tablesample(text("1"), name="alias").c.people_id]),
              "SELECT alias.people_id FROM "
              "people AS alias TABLESAMPLE system(1)",
          )
  