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,9 +109,13 @@ class SQLChatMessageHistory(BaseChatMessageHistory):
|
|||||||
def messages(self) -> List[BaseMessage]: # type: ignore
|
def messages(self) -> List[BaseMessage]: # type: ignore
|
||||||
"""Retrieve all messages from db"""
|
"""Retrieve all messages from db"""
|
||||||
with self.Session() as session:
|
with self.Session() as session:
|
||||||
result = session.query(self.sql_model_class).where(
|
result = (
|
||||||
getattr(self.sql_model_class, self.session_id_field_name)
|
session.query(self.sql_model_class)
|
||||||
== self.session_id
|
.where(
|
||||||
|
getattr(self.sql_model_class, self.session_id_field_name)
|
||||||
|
== self.session_id
|
||||||
|
)
|
||||||
|
.order_by(self.sql_model_class.id.asc())
|
||||||
)
|
)
|
||||||
messages = []
|
messages = []
|
||||||
for record in result:
|
for record in result:
|
||||||
|
Loading…
Reference in New Issue
Block a user