@@ -374,26 +374,19 @@ def read_sql(sql, con, index_col=None, coerce_float=True, params=None,
374374 """
375375 pandas_sql = pandasSQL_builder (con )
376376
377- if 'select' in sql .lower ():
378- try :
379- if pandas_sql .has_table (sql ):
380- return pandas_sql .read_table (
381- sql , index_col = index_col , coerce_float = coerce_float ,
382- parse_dates = parse_dates , columns = columns )
383- except :
384- pass
385-
377+ if isinstance (pandas_sql , PandasSQLLegacy ):
386378 return pandas_sql .read_sql (
387379 sql , index_col = index_col , params = params ,
388380 coerce_float = coerce_float , parse_dates = parse_dates )
389- else :
390- if isinstance (pandas_sql , PandasSQLLegacy ):
391- raise ValueError ("Reading a table with read_sql is not supported "
392- "for a DBAPI2 connection. Use an SQLAlchemy "
393- "engine or specify an sql query" )
381+
382+ if pandas_sql .has_table (sql ):
394383 return pandas_sql .read_table (
395384 sql , index_col = index_col , coerce_float = coerce_float ,
396385 parse_dates = parse_dates , columns = columns )
386+ else :
387+ return pandas_sql .read_sql (
388+ sql , index_col = index_col , params = params ,
389+ coerce_float = coerce_float , parse_dates = parse_dates )
397390
398391
399392def to_sql (frame , name , con , flavor = 'sqlite' , if_exists = 'fail' , index = True ,
0 commit comments