mirror of
https://github.com/hwchase17/langchain.git
synced 2025-07-12 15:59:56 +00:00
Fix chat_history message order (#10869)
Not all databases uses id as default order, so add it explicitly sqlite uses rawid as default order in select statement: [https://www.sqlite.org/lang_createtable.html#rowid](https://www.sqlite.org/lang_createtable.html#rowid), but some other databases like postgresql not behaves like this. since this class supports multiple db engine. we should have an order.
This commit is contained in:
parent
3d40de75c5
commit
4e58b78102
@ -109,10 +109,14 @@ class SQLChatMessageHistory(BaseChatMessageHistory):
|
||||
def messages(self) -> List[BaseMessage]: # type: ignore
|
||||
"""Retrieve all messages from db"""
|
||||
with self.Session() as session:
|
||||
result = session.query(self.sql_model_class).where(
|
||||
result = (
|
||||
session.query(self.sql_model_class)
|
||||
.where(
|
||||
getattr(self.sql_model_class, self.session_id_field_name)
|
||||
== self.session_id
|
||||
)
|
||||
.order_by(self.sql_model_class.id.asc())
|
||||
)
|
||||
messages = []
|
||||
for record in result:
|
||||
messages.append(self.converter.from_sql_model(record))
|
||||
|
Loading…
Reference in New Issue
Block a user