@pytest.mark.parametrize('good_sql', ['select count(*) from airports', 'select foo from bar', '--sql comment to skip\nselect foo from bar', "select '# Hello there\n\n* This is a list\n* of items\n--\n[And a link](https://github.com/simonw/datasette-render-markdown).'\nas demo_markdown", 'select 1 + 1', 'explain select 1 + 1', 'explain\nselect 1 + 1', 'explain query plan select 1 + 1', 'explain  query  plan\nselect 1 + 1', 'SELECT\nblah FROM foo', 'WITH RECURSIVE cnt(x) AS (SELECT 1 UNION ALL SELECT x+1 FROM cnt LIMIT 10) SELECT x FROM cnt;', 'explain WITH RECURSIVE cnt(x) AS (SELECT 1 UNION ALL SELECT x+1 FROM cnt LIMIT 10) SELECT x FROM cnt;', 'explain query plan WITH RECURSIVE cnt(x) AS (SELECT 1 UNION ALL SELECT x+1 FROM cnt LIMIT 10) SELECT x FROM cnt;', "SELECT * FROM pragma_index_info('idx52')", "select * from pragma_table_xinfo('table')"])
def test_validate_sql_select_good(good_sql):
    utils.validate_sql_select(good_sql)
@pytest.mark.parametrize('good_sql', ['select count(*) from airports', 'select foo from bar', '--sql comment to skip\nselect foo from bar', "select '# Hello there\n\n* This is a list\n* of items\n--\n[And a link](https://github.com/simonw/datasette-render-markdown).'\nas demo_markdown", 'select 1 + 1', 'explain select 1 + 1', 'explain\nselect 1 + 1', 'explain query plan select 1 + 1', 'explain  query  plan\nselect 1 + 1', 'SELECT\nblah FROM foo', 'WITH RECURSIVE cnt(x) AS (SELECT 1 UNION ALL SELECT x+1 FROM cnt LIMIT 10) SELECT x FROM cnt;', 'explain WITH RECURSIVE cnt(x) AS (SELECT 1 UNION ALL SELECT x+1 FROM cnt LIMIT 10) SELECT x FROM cnt;', 'explain query plan WITH RECURSIVE cnt(x) AS (SELECT 1 UNION ALL SELECT x+1 FROM cnt LIMIT 10) SELECT x FROM cnt;', "SELECT * FROM pragma_index_info('idx52')", "select * from pragma_table_xinfo('table')"])
def test_validate_sql_select_good(good_sql):
    utils.validate_sql_select(good_sql)