|
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