~ubuntu-branches/debian/jessie/sqlalchemy/jessie

« back to all changes in this revision

Viewing changes to test/sql/test_cte.py

  • Committer: Package Import Robot
  • Author(s): Piotr Ożarowski
  • Date: 2013-10-28 22:29:40 UTC
  • mfrom: (1.4.24)
  • Revision ID: package-import@ubuntu.com-20131028222940-wvyqffl4g617caun
Tags: 0.8.3-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
312
312
            "FROM regional_sales"
313
313
            )
314
314
 
 
315
    def test_multi_subq_quote(self):
 
316
        cte = select([literal(1).label("id")]).cte(name='CTE')
 
317
 
 
318
        s1 = select([cte.c.id]).alias()
 
319
        s2 = select([cte.c.id]).alias()
 
320
 
 
321
        s = select([s1, s2])
 
322
        self.assert_compile(
 
323
            s,
 
324
            'WITH "CTE" AS (SELECT :param_1 AS id) '
 
325
            'SELECT anon_1.id, anon_2.id FROM '
 
326
            '(SELECT "CTE".id AS id FROM "CTE") AS anon_1, '
 
327
            '(SELECT "CTE".id AS id FROM "CTE") AS anon_2'
 
328
        )
 
329
 
 
330
 
315
331
    def test_positional_binds(self):
316
332
        orders = table('orders',
317
333
            column('order'),
351
367
            dialect=dialect
352
368
        )
353
369
 
 
370
 
 
371
    def test_all_aliases(self):
 
372
        orders = table('order', column('order'))
 
373
        s = select([orders.c.order]).cte("regional_sales")
 
374
 
 
375
        r1 = s.alias()
 
376
        r2 = s.alias()
 
377
 
 
378
        s2 = select([r1, r2]).where(r1.c.order > r2.c.order)
 
379
 
 
380
        self.assert_compile(
 
381
            s2,
 
382
            'WITH regional_sales AS (SELECT "order"."order" '
 
383
            'AS "order" FROM "order") '
 
384
            'SELECT anon_1."order", anon_2."order" '
 
385
            'FROM regional_sales AS anon_1, '
 
386
            'regional_sales AS anon_2 WHERE anon_1."order" > anon_2."order"'
 
387
        )
 
388
 
 
389
        s3 = select([orders]).select_from(orders.join(r1, r1.c.order == orders.c.order))
 
390
 
 
391
        self.assert_compile(
 
392
            s3,
 
393
            'WITH regional_sales AS '
 
394
            '(SELECT "order"."order" AS "order" '
 
395
            'FROM "order")'
 
396
            ' SELECT "order"."order" '
 
397
            'FROM "order" JOIN regional_sales AS anon_1 ON anon_1."order" = "order"."order"'
 
398
        )
 
 
b'\\ No newline at end of file'