|
90 | 90 | "jsonb_array", |
91 | 91 | ) |
92 | 92 |
|
| 93 | +QUERY_ALL_TYPES_COLUMNS = LIVE_ALL_TYPES_COLUMNS[1:17:2] |
| 94 | + |
93 | 95 | AllTypesRowData = collections.namedtuple("AllTypesRowData", LIVE_ALL_TYPES_COLUMNS) |
94 | 96 | AllTypesRowData.__new__.__defaults__ = tuple([None for colum in LIVE_ALL_TYPES_COLUMNS]) |
95 | 97 | EmulatorAllTypesRowData = collections.namedtuple( |
|
211 | 213 | PostGresAllTypesRowData(pkey=309, jsonb_array=[JSON_1, JSON_2, None]), |
212 | 214 | ) |
213 | 215 |
|
| 216 | +QUERY_ALL_TYPES_DATA = ( |
| 217 | + 123, |
| 218 | + False, |
| 219 | + BYTES_1, |
| 220 | + SOME_DATE, |
| 221 | + 1.4142136, |
| 222 | + "VALUE", |
| 223 | + SOME_TIME, |
| 224 | + NUMERIC_1, |
| 225 | +) |
| 226 | + |
214 | 227 | if _helpers.USE_EMULATOR: |
215 | 228 | ALL_TYPES_COLUMNS = EMULATOR_ALL_TYPES_COLUMNS |
216 | 229 | ALL_TYPES_ROWDATA = EMULATOR_ALL_TYPES_ROWDATA |
@@ -475,6 +488,39 @@ def test_batch_insert_or_update_then_query(sessions_database): |
475 | 488 | sd._check_rows_data(rows) |
476 | 489 |
|
477 | 490 |
|
| 491 | +def test_batch_insert_then_read_wo_param_types( |
| 492 | + sessions_database, database_dialect, not_emulator |
| 493 | +): |
| 494 | + sd = _sample_data |
| 495 | + |
| 496 | + with sessions_database.batch() as batch: |
| 497 | + batch.delete(ALL_TYPES_TABLE, sd.ALL) |
| 498 | + batch.insert(ALL_TYPES_TABLE, ALL_TYPES_COLUMNS, ALL_TYPES_ROWDATA) |
| 499 | + |
| 500 | + with sessions_database.snapshot(multi_use=True) as snapshot: |
| 501 | + for column_type, value in list( |
| 502 | + zip(QUERY_ALL_TYPES_COLUMNS, QUERY_ALL_TYPES_DATA) |
| 503 | + ): |
| 504 | + placeholder = ( |
| 505 | + "$1" if database_dialect == DatabaseDialect.POSTGRESQL else "@value" |
| 506 | + ) |
| 507 | + sql = ( |
| 508 | + "SELECT * FROM " |
| 509 | + + ALL_TYPES_TABLE |
| 510 | + + " WHERE " |
| 511 | + + column_type |
| 512 | + + " = " |
| 513 | + + placeholder |
| 514 | + ) |
| 515 | + param = ( |
| 516 | + {"p1": value} |
| 517 | + if database_dialect == DatabaseDialect.POSTGRESQL |
| 518 | + else {"value": value} |
| 519 | + ) |
| 520 | + rows = list(snapshot.execute_sql(sql, params=param)) |
| 521 | + assert len(rows) == 1 |
| 522 | + |
| 523 | + |
478 | 524 | def test_batch_insert_w_commit_timestamp(sessions_database, not_postgres): |
479 | 525 | table = "users_history" |
480 | 526 | columns = ["id", "commit_ts", "name", "email", "deleted"] |
@@ -1930,8 +1976,8 @@ def _check_sql_results( |
1930 | 1976 | database, |
1931 | 1977 | sql, |
1932 | 1978 | params, |
1933 | | - param_types, |
1934 | | - expected, |
| 1979 | + param_types=None, |
| 1980 | + expected=None, |
1935 | 1981 | order=True, |
1936 | 1982 | recurse_into_lists=True, |
1937 | 1983 | ): |
|
0 commit comments