@@ -467,6 +467,72 @@ def test_group_by(self):
467467 ],
468468 )
469469
470+ def test_select_wildcard (self ):
471+ code = "select * from bar"
472+ tables = InMemoryTables (
473+ tables = [
474+ Table (
475+ name = "bar" ,
476+ columns = [Column (name = "foo" , type = "text" )],
477+ data = [
478+ {"foo" : "a" },
479+ {"foo" : "b" },
480+ {"foo" : None },
481+ {"foo" : "c" },
482+ ],
483+ )
484+ ],
485+ )
486+ ctx = {}
487+ result = eval_sql (code = code , tables = tables , ctx = ctx )
488+ self .assertEqual (
489+ result ,
490+ [
491+ {"foo" : "a" },
492+ {"foo" : "b" },
493+ {"foo" : None },
494+ {"foo" : "c" },
495+ ],
496+ )
497+
498+ def test_join (self ):
499+ code = "select a.foo, b.bar from a join b on a.id = b.a_id"
500+ tables = InMemoryTables (
501+ tables = [
502+ Table (
503+ name = "a" ,
504+ columns = [
505+ Column (name = "id" , type = "int" ),
506+ Column (name = "foo" , type = "text" ),
507+ ],
508+ data = [
509+ {"id" : 1 , "foo" : "a1" },
510+ {"id" : 2 , "foo" : "a2" },
511+ ],
512+ ),
513+ Table (
514+ name = "b" ,
515+ columns = [
516+ Column (name = "a_id" , type = "int" ),
517+ Column (name = "bar" , type = "text" ),
518+ ],
519+ data = [
520+ {"a_id" : 1 , "bar" : "b1" },
521+ {"a_id" : 2 , "bar" : "b2" },
522+ ],
523+ ),
524+ ],
525+ )
526+ ctx = {}
527+ result = eval_sql (code = code , tables = tables , ctx = ctx )
528+ self .assertEqual (
529+ result ,
530+ [
531+ {"foo" : "a1" , "bar" : "b1" },
532+ {"foo" : "a2" , "bar" : "b2" },
533+ ],
534+ )
535+
470536 def test_complete (self ):
471537 code = "\n " .join (
472538 [
@@ -499,31 +565,3 @@ def test_complete(self):
499565 ctx = {}
500566 result = eval_sql (code = code , tables = tables , ctx = ctx )
501567 self .assertEqual (result , [{"foo" : 3 , "count" : 2 }])
502-
503- def test_select_wildcard (self ):
504- code = "select * from bar"
505- tables = InMemoryTables (
506- tables = [
507- Table (
508- name = "bar" ,
509- columns = [Column (name = "foo" , type = "text" )],
510- data = [
511- {"foo" : "a" },
512- {"foo" : "b" },
513- {"foo" : None },
514- {"foo" : "c" },
515- ],
516- )
517- ],
518- )
519- ctx = {}
520- result = eval_sql (code = code , tables = tables , ctx = ctx )
521- self .assertEqual (
522- result ,
523- [
524- {"foo" : "a" },
525- {"foo" : "b" },
526- {"foo" : None },
527- {"foo" : "c" },
528- ],
529- )
0 commit comments