Skip to content

Commit cbc0e63

Browse files
asukaminato0721autofix-ci[bot]laipz8200
authored
update sql in batch (langgenius#24801)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: -LAN- <laipz8200@outlook.com>
1 parent b51c724 commit cbc0e63

49 files changed

Lines changed: 281 additions & 277 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

api/commands.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,9 @@ def migrate_annotation_vector_database():
212212
if not dataset_collection_binding:
213213
click.echo(f"App annotation collection binding not found: {app.id}")
214214
continue
215-
annotations = db.session.query(MessageAnnotation).where(MessageAnnotation.app_id == app.id).all()
215+
annotations = db.session.scalars(
216+
select(MessageAnnotation).where(MessageAnnotation.app_id == app.id)
217+
).all()
216218
dataset = Dataset(
217219
id=app.id,
218220
tenant_id=app.tenant_id,
@@ -367,29 +369,25 @@ def migrate_knowledge_vector_database():
367369
)
368370
raise e
369371

370-
dataset_documents = (
371-
db.session.query(DatasetDocument)
372-
.where(
372+
dataset_documents = db.session.scalars(
373+
select(DatasetDocument).where(
373374
DatasetDocument.dataset_id == dataset.id,
374375
DatasetDocument.indexing_status == "completed",
375376
DatasetDocument.enabled == True,
376377
DatasetDocument.archived == False,
377378
)
378-
.all()
379-
)
379+
).all()
380380

381381
documents = []
382382
segments_count = 0
383383
for dataset_document in dataset_documents:
384-
segments = (
385-
db.session.query(DocumentSegment)
386-
.where(
384+
segments = db.session.scalars(
385+
select(DocumentSegment).where(
387386
DocumentSegment.document_id == dataset_document.id,
388387
DocumentSegment.status == "completed",
389388
DocumentSegment.enabled == True,
390389
)
391-
.all()
392-
)
390+
).all()
393391

394392
for segment in segments:
395393
document = Document(

api/controllers/console/apikey.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ def get(self, resource_id):
6060
assert self.resource_id_field is not None, "resource_id_field must be set"
6161
resource_id = str(resource_id)
6262
_get_resource(resource_id, current_user.current_tenant_id, self.resource_model)
63-
keys = (
64-
db.session.query(ApiToken)
65-
.where(ApiToken.type == self.resource_type, getattr(ApiToken, self.resource_id_field) == resource_id)
66-
.all()
67-
)
63+
keys = db.session.scalars(
64+
select(ApiToken).where(
65+
ApiToken.type == self.resource_type, getattr(ApiToken, self.resource_id_field) == resource_id
66+
)
67+
).all()
6868
return {"items": keys}
6969

7070
@marshal_with(api_key_fields)

api/controllers/console/datasets/data_source.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,12 @@ class DataSourceApi(Resource):
2929
@marshal_with(integrate_list_fields)
3030
def get(self):
3131
# get workspace data source integrates
32-
data_source_integrates = (
33-
db.session.query(DataSourceOauthBinding)
34-
.where(
32+
data_source_integrates = db.session.scalars(
33+
select(DataSourceOauthBinding).where(
3534
DataSourceOauthBinding.tenant_id == current_user.current_tenant_id,
3635
DataSourceOauthBinding.disabled == False,
3736
)
38-
.all()
39-
)
37+
).all()
4038

4139
base_url = request.url_root.rstrip("/")
4240
data_source_oauth_base_path = "/console/api/oauth/data-source"

api/controllers/console/datasets/datasets.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from flask import request
33
from flask_login import current_user
44
from flask_restx import Resource, marshal, marshal_with, reqparse
5+
from sqlalchemy import select
56
from werkzeug.exceptions import Forbidden, NotFound
67

78
import services
@@ -411,11 +412,11 @@ def post(self):
411412
extract_settings = []
412413
if args["info_list"]["data_source_type"] == "upload_file":
413414
file_ids = args["info_list"]["file_info_list"]["file_ids"]
414-
file_details = (
415-
db.session.query(UploadFile)
416-
.where(UploadFile.tenant_id == current_user.current_tenant_id, UploadFile.id.in_(file_ids))
417-
.all()
418-
)
415+
file_details = db.session.scalars(
416+
select(UploadFile).where(
417+
UploadFile.tenant_id == current_user.current_tenant_id, UploadFile.id.in_(file_ids)
418+
)
419+
).all()
419420

420421
if file_details is None:
421422
raise NotFound("File not found.")
@@ -518,11 +519,11 @@ class DatasetIndexingStatusApi(Resource):
518519
@account_initialization_required
519520
def get(self, dataset_id):
520521
dataset_id = str(dataset_id)
521-
documents = (
522-
db.session.query(Document)
523-
.where(Document.dataset_id == dataset_id, Document.tenant_id == current_user.current_tenant_id)
524-
.all()
525-
)
522+
documents = db.session.scalars(
523+
select(Document).where(
524+
Document.dataset_id == dataset_id, Document.tenant_id == current_user.current_tenant_id
525+
)
526+
).all()
526527
documents_status = []
527528
for document in documents:
528529
completed_segments = (
@@ -569,11 +570,11 @@ class DatasetApiKeyApi(Resource):
569570
@account_initialization_required
570571
@marshal_with(api_key_list)
571572
def get(self):
572-
keys = (
573-
db.session.query(ApiToken)
574-
.where(ApiToken.type == self.resource_type, ApiToken.tenant_id == current_user.current_tenant_id)
575-
.all()
576-
)
573+
keys = db.session.scalars(
574+
select(ApiToken).where(
575+
ApiToken.type == self.resource_type, ApiToken.tenant_id == current_user.current_tenant_id
576+
)
577+
).all()
577578
return {"items": keys}
578579

579580
@setup_required

api/controllers/console/datasets/datasets_document.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import logging
22
from argparse import ArgumentTypeError
3+
from collections.abc import Sequence
34
from typing import Literal, cast
45

56
from flask import request
@@ -79,7 +80,7 @@ def get_document(self, dataset_id: str, document_id: str) -> Document:
7980

8081
return document
8182

82-
def get_batch_documents(self, dataset_id: str, batch: str) -> list[Document]:
83+
def get_batch_documents(self, dataset_id: str, batch: str) -> Sequence[Document]:
8384
dataset = DatasetService.get_dataset(dataset_id)
8485
if not dataset:
8586
raise NotFound("Dataset not found.")

api/controllers/console/explore/installed_app.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
from flask import request
55
from flask_restx import Resource, inputs, marshal_with, reqparse
6-
from sqlalchemy import and_
6+
from sqlalchemy import and_, select
77
from werkzeug.exceptions import BadRequest, Forbidden, NotFound
88

99
from controllers.console import api
@@ -33,13 +33,15 @@ def get(self):
3333
current_tenant_id = current_user.current_tenant_id
3434

3535
if app_id:
36-
installed_apps = (
37-
db.session.query(InstalledApp)
38-
.where(and_(InstalledApp.tenant_id == current_tenant_id, InstalledApp.app_id == app_id))
39-
.all()
40-
)
36+
installed_apps = db.session.scalars(
37+
select(InstalledApp).where(
38+
and_(InstalledApp.tenant_id == current_tenant_id, InstalledApp.app_id == app_id)
39+
)
40+
).all()
4141
else:
42-
installed_apps = db.session.query(InstalledApp).where(InstalledApp.tenant_id == current_tenant_id).all()
42+
installed_apps = db.session.scalars(
43+
select(InstalledApp).where(InstalledApp.tenant_id == current_tenant_id)
44+
).all()
4345

4446
if current_user.current_tenant is None:
4547
raise ValueError("current_user.current_tenant must not be None")

api/controllers/console/workspace/account.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,9 @@ def get(self):
248248
raise ValueError("Invalid user account")
249249
account = current_user
250250

251-
account_integrates = db.session.query(AccountIntegrate).where(AccountIntegrate.account_id == account.id).all()
251+
account_integrates = db.session.scalars(
252+
select(AccountIntegrate).where(AccountIntegrate.account_id == account.id)
253+
).all()
252254

253255
base_url = request.url_root.rstrip("/")
254256
oauth_base_path = "/console/api/oauth/login"

api/core/memory/token_buffer_memory.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,16 @@ def __init__(
3232
self.model_instance = model_instance
3333

3434
def _build_prompt_message_with_files(
35-
self, message_files: list[MessageFile], text_content: str, message: Message, app_record, is_user_message: bool
35+
self,
36+
message_files: Sequence[MessageFile],
37+
text_content: str,
38+
message: Message,
39+
app_record,
40+
is_user_message: bool,
3641
) -> PromptMessage:
3742
"""
3843
Build prompt message with files.
39-
:param message_files: list of MessageFile objects
44+
:param message_files: Sequence of MessageFile objects
4045
:param text_content: text content of the message
4146
:param message: Message object
4247
:param app_record: app record
@@ -128,14 +133,12 @@ def get_history_prompt_messages(
128133
prompt_messages: list[PromptMessage] = []
129134
for message in messages:
130135
# Process user message with files
131-
user_files = (
132-
db.session.query(MessageFile)
133-
.where(
136+
user_files = db.session.scalars(
137+
select(MessageFile).where(
134138
MessageFile.message_id == message.id,
135139
(MessageFile.belongs_to == "user") | (MessageFile.belongs_to.is_(None)),
136140
)
137-
.all()
138-
)
141+
).all()
139142

140143
if user_files:
141144
user_prompt_message = self._build_prompt_message_with_files(
@@ -150,11 +153,9 @@ def get_history_prompt_messages(
150153
prompt_messages.append(UserPromptMessage(content=message.query))
151154

152155
# Process assistant message with files
153-
assistant_files = (
154-
db.session.query(MessageFile)
155-
.where(MessageFile.message_id == message.id, MessageFile.belongs_to == "assistant")
156-
.all()
157-
)
156+
assistant_files = db.session.scalars(
157+
select(MessageFile).where(MessageFile.message_id == message.id, MessageFile.belongs_to == "assistant")
158+
).all()
158159

159160
if assistant_files:
160161
assistant_prompt_message = self._build_prompt_message_with_files(

api/core/ops/arize_phoenix_trace/arize_phoenix_trace.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from opentelemetry.sdk.trace.export import SimpleSpanProcessor
1616
from opentelemetry.sdk.trace.id_generator import RandomIdGenerator
1717
from opentelemetry.trace import SpanContext, TraceFlags, TraceState
18+
from sqlalchemy import select
1819

1920
from core.ops.base_trace_instance import BaseTraceInstance
2021
from core.ops.entities.config_entity import ArizeConfig, PhoenixConfig
@@ -699,8 +700,8 @@ def get_project_url(self):
699700

700701
def _get_workflow_nodes(self, workflow_run_id: str):
701702
"""Helper method to get workflow nodes"""
702-
workflow_nodes = (
703-
db.session.query(
703+
workflow_nodes = db.session.scalars(
704+
select(
704705
WorkflowNodeExecutionModel.id,
705706
WorkflowNodeExecutionModel.tenant_id,
706707
WorkflowNodeExecutionModel.app_id,
@@ -713,10 +714,8 @@ def _get_workflow_nodes(self, workflow_run_id: str):
713714
WorkflowNodeExecutionModel.elapsed_time,
714715
WorkflowNodeExecutionModel.process_data,
715716
WorkflowNodeExecutionModel.execution_metadata,
716-
)
717-
.where(WorkflowNodeExecutionModel.workflow_run_id == workflow_run_id)
718-
.all()
719-
)
717+
).where(WorkflowNodeExecutionModel.workflow_run_id == workflow_run_id)
718+
).all()
720719
return workflow_nodes
721720

722721
def _construct_llm_attributes(self, prompts: dict | list | str | None) -> dict[str, str]:

api/core/rag/datasource/vdb/tidb_on_qdrant/tidb_service.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import time
22
import uuid
3+
from collections.abc import Sequence
34

45
import requests
56
from requests.auth import HTTPDigestAuth
@@ -139,7 +140,7 @@ def change_tidb_serverless_root_password(
139140

140141
@staticmethod
141142
def batch_update_tidb_serverless_cluster_status(
142-
tidb_serverless_list: list[TidbAuthBinding],
143+
tidb_serverless_list: Sequence[TidbAuthBinding],
143144
project_id: str,
144145
api_url: str,
145146
iam_url: str,

0 commit comments

Comments
 (0)