Пул соединений SQLAlchemy всегда возвращает кэшированный результатPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Пул соединений SQLAlchemy всегда возвращает кэшированный результат

Сообщение Anonymous »

Я использую следующий код для создания пула соединений и выполнения SQL-запроса.

Код: Выделить всё

engine = sqlalchemy.create_engine(
f'mysql+pymysql://{usr}:{pw}@{db_config["host"]}:{db_config["port"]}/'
f'{sub_db}', pool_size=24, max_overflow=40, poolclass=pool.QueuePool)
connection = engine.connect()
pandas.read_sql(sql=my_query, con=connection)
Однако я обнаружил, что созданное мной соединение иногда возвращает кэшированный возврат БД:
Например. Я запускаю функцию SQL validatePW для проверки токенов на основе таблицы БД. У меня есть два пользователя: A и B с разными паролями. Пароль пользователя A — «PW1».
Если я запускаю pandas.read_sql(sql="select validatePW('A', 'PW1')", con=connection), я получил возврат True, как и ожидалось. и если я сначала запущу pandas.read_sql(sql="select validatePW('B', 'PW1')", con=connection), я получу возврат False (B< пароль /strong> не PW1).
Теперь, если я выполню эти два запроса последовательно, результаты станут забавными.

Код: Выделить всё

pd.read_sql(sql="select validatePW('A', 'PW1')", con=connection)
pd.read_sql(sql="select validatePW('B', 'PW1')", con=connection)
Я получу два возврата True, хотя ожидаю, что второй запрос вернет False. Похоже, что соединение возвращает кэшированный результат предыдущего запуска. Почему это? Можно ли как-то этого избежать?


Подробнее здесь: https://stackoverflow.com/questions/692 ... hed-result
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»