예제 #1
0
def test_views():
  dataset = DataSet()
  adapter = dataset.add_adapter(MockAdapter())
  
  # create a view off of an existing table
  dataset.select('x').frm('bogus').create_view('only_x')

  view = dataset.get_view('only_x')

  eq_(
    view,
    AliasOp('only_x', ProjectionOp(LoadOp('bogus'), Var('x')))
  )
 
  # create a view off of a view
  dataset.select('x').frm('only_x').create_view('only_x_from_x')

  view = dataset.get_view('only_x_from_x')

  compare(
    view,
    # Todo: Implement a query optimizer that eliminates
    # redunant projections ops like the one we see below
    AliasOp('only_x_from_x', ProjectionOp(
      AliasOp('only_x',ProjectionOp(LoadOp('bogus'), Var('x'))),
      Var('x')
    )
  ))
예제 #2
0
def test_views():
    dataset = DataSet()
    adapter = dataset.add_adapter(MockAdapter())

    # create a view off of an existing table
    dataset.select('x').frm('bogus').create_view('only_x')

    view = dataset.get_view('only_x')

    eq_(view, AliasOp('only_x', ProjectionOp(LoadOp('bogus'), Var('x'))))

    # create a view off of a view
    dataset.select('x').frm('only_x').create_view('only_x_from_x')

    view = dataset.get_view('only_x_from_x')

    compare(
        view,
        # Todo: Implement a query optimizer that eliminates
        # redunant projections ops like the one we see below
        AliasOp(
            'only_x_from_x',
            ProjectionOp(
                AliasOp('only_x', ProjectionOp(LoadOp('bogus'), Var('x'))),
                Var('x'))))
예제 #3
0
def test_query_builder():
  dataset = DataSet()
  adapter = MockAdapter()
  dataset.add_adapter(adapter)
  query = dataset.select('x')

  eq_(isinstance(query, QueryBuilder), True)
  eq_(query.dataset, dataset)
  eq_(query.column_exps, 'x')
예제 #4
0
def test_query_builder():
    dataset = DataSet()
    adapter = MockAdapter()
    dataset.add_adapter(adapter)
    query = dataset.select('x')

    eq_(isinstance(query, QueryBuilder), True)
    eq_(query.dataset, dataset)
    eq_(query.column_exps, 'x')