|
95 | 95 | INSERT INTO types_test_data |
96 | 96 | VALUES(%s, %s, %s, %s, %s, %s, %s, %s) |
97 | 97 | """ |
| 98 | + }, |
| 99 | + 'read_parameters': { |
| 100 | + 'sqlite': "SELECT * FROM iris WHERE Name=? AND SepalLength=?", |
| 101 | + 'mysql': 'SELECT * FROM iris WHERE `Name`="%s" AND `SepalLength`=%s', |
| 102 | + 'postgresql': 'SELECT * FROM iris WHERE "Name"=%s AND "SepalLength"=%s' |
| 103 | + }, |
| 104 | + 'read_named_parameters': { |
| 105 | + 'sqlite': """ |
| 106 | + SELECT * FROM iris WHERE Name=:name AND SepalLength=:length |
| 107 | + """, |
| 108 | + 'mysql': """ |
| 109 | + SELECT * FROM iris WHERE |
| 110 | + `Name`="%(name)s" AND `SepalLength`=%(length)s |
| 111 | + """, |
| 112 | + 'postgresql': """ |
| 113 | + SELECT * FROM iris WHERE |
| 114 | + "Name"=%(name)s AND "SepalLength"=%(length)s |
| 115 | + """ |
98 | 116 | } |
99 | 117 | } |
100 | 118 |
|
@@ -168,6 +186,18 @@ def _read_sql_iris(self): |
168 | 186 | iris_frame = self.pandasSQL.read_sql("SELECT * FROM iris") |
169 | 187 | self._check_iris_loaded_frame(iris_frame) |
170 | 188 |
|
| 189 | + def _read_sql_iris_parameter(self): |
| 190 | + query = SQL_STRINGS['read_parameters'][self.flavor] |
| 191 | + params = ['Iris-setosa', 5.1] |
| 192 | + iris_frame = self.pandasSQL.read_sql(query, params=params) |
| 193 | + self._check_iris_loaded_frame(iris_frame) |
| 194 | + |
| 195 | + def _read_sql_iris_named_parameter(self): |
| 196 | + query = SQL_STRINGS['read_named_parameters'][self.flavor] |
| 197 | + params = {'name': 'Iris-setosa', 'length': 5.1} |
| 198 | + iris_frame = self.pandasSQL.read_sql(query, params=params) |
| 199 | + self._check_iris_loaded_frame(iris_frame) |
| 200 | + |
171 | 201 | def _to_sql(self): |
172 | 202 | self.drop_table('test_frame1') |
173 | 203 |
|
@@ -491,6 +521,12 @@ class _TestSQLAlchemy(PandasSQLTest): |
491 | 521 | def test_read_sql(self): |
492 | 522 | self._read_sql_iris() |
493 | 523 |
|
| 524 | + def test_read_sql_parameter(self): |
| 525 | + self._read_sql_iris_parameter() |
| 526 | + |
| 527 | + def test_read_sql_named_parameter(self): |
| 528 | + self._read_sql_iris_named_parameter() |
| 529 | + |
494 | 530 | def test_to_sql(self): |
495 | 531 | self._to_sql() |
496 | 532 |
|
@@ -703,6 +739,12 @@ def test_invalid_flavor(self): |
703 | 739 | def test_read_sql(self): |
704 | 740 | self._read_sql_iris() |
705 | 741 |
|
| 742 | + def test_read_sql_parameter(self): |
| 743 | + self._read_sql_iris_parameter() |
| 744 | + |
| 745 | + def test_read_sql_named_parameter(self): |
| 746 | + self._read_sql_iris_named_parameter() |
| 747 | + |
706 | 748 | def test_to_sql(self): |
707 | 749 | self._to_sql() |
708 | 750 |
|
|
0 commit comments