Merge pull request #1512 from coreos-inc/optimize-queries
Optimize various queries
This commit is contained in:
commit
614b9124ae
7 changed files with 80 additions and 34 deletions
|
@ -7,7 +7,6 @@ from endpoints.api import (resource, nickname, require_repo_read, RepositoryPara
|
|||
format_date, path_param)
|
||||
from endpoints.exception import NotFound
|
||||
from data import model
|
||||
from util.cache import cache_control_flask_restful
|
||||
|
||||
|
||||
def image_view(image, image_map, include_ancestors=True):
|
||||
|
|
|
@ -98,7 +98,7 @@ class RepositoryTag(RepositoryParamResource):
|
|||
|
||||
original_image_id = None
|
||||
try:
|
||||
original_tag_image = model.tag.get_tag_image(namespace, repository, tag)
|
||||
original_tag_image = model.tag.get_repo_tag_image(image.repository, tag)
|
||||
if original_tag_image:
|
||||
original_image_id = original_tag_image.docker_image_id
|
||||
except model.DataModelException:
|
||||
|
|
|
@ -514,7 +514,7 @@ def delete_manifest_by_digest(namespace_name, repo_name, manifest_ref):
|
|||
|
||||
def _generate_and_store_manifest(namespace_name, repo_name, tag_name):
|
||||
# First look up the tag object and its ancestors
|
||||
image = model.tag.get_tag_image(namespace_name, repo_name, tag_name)
|
||||
image = model.tag.get_tag_image(namespace_name, repo_name, tag_name, include_storage=True)
|
||||
parents = model.image.get_parent_images(namespace_name, repo_name, image)
|
||||
|
||||
# If the manifest is being generated under the library namespace, then we make its namespace
|
||||
|
|
|
@ -37,7 +37,8 @@ def _open_stream(formatter, namespace, repository, tag, synthetic_image_id, imag
|
|||
# For performance reasons, we load the full image list here, cache it, then disconnect from
|
||||
# the database.
|
||||
with database.UseThenDisconnect(app.config):
|
||||
image_list = list(model.image.get_parent_images(namespace, repository, repo_image))
|
||||
image_list = list(model.image.get_parent_images_with_placements(namespace, repository,
|
||||
repo_image))
|
||||
image_list.insert(0, repo_image)
|
||||
|
||||
def get_image_json(image):
|
||||
|
|
Reference in a new issue