aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/matplotlib/py2/extern/agg24-svn/src
diff options
context:
space:
mode:
authorvityaman <vityaman.dev@yandex.ru>2025-04-30 12:58:42 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2025-04-30 13:22:03 +0300
commit92d6162267a49773e5f40d0a0130edf6ca27624b (patch)
tree0cb3ed3ba1de7d3b1cb153965eaa260f6788a892 /contrib/python/matplotlib/py2/extern/agg24-svn/src
parente4b9d7d82d82678e9450fe7085a94149867613a5 (diff)
downloadydb-92d6162267a49773e5f40d0a0130edf6ca27624b.tar.gz
YQL-19747 Introduce Union and split Static NameServices
Essentially we need the `UnionNameService` to integrate dynamic name services into the `sql/v1/complete`. This decorator queries multiple name services and merges their responses. We will use it to union static `NameServices` and the `SchemaNameService` (and the `ClusterNameService`, and so on). It does not deal with exceptions and fails the whole request on some subtask failed. Client should prepare robust children (later `SwallowingNameService` will be added to return an empty `NameResponse` on errors to provide best-effort dynamic object loading). `StaticNameService` was split into micro-`NameService`s :) `NameConstraints` are extracted to provide name qualification via `Qualified` and `Unqualified` methods. This is needed because depending on a context `NameService` can return unqualified names (for example, on `PRAGMA yt.#`). As internal indexes for scanning and ranking are built on a sorted list of, then `Ranking` actually needs an ability to get fully-qualified names, so now it via the `NameConstraints`. Also this design potentially let us to improve internal indexes by using partitioning by a namespace. Other option was to make `PragmaName` and `FunctionName` more structured via adding a separate field for a namespace, but it seems to me that it will force to do more parsing from indexes results to a `Name`. Anyway this is an internal component so it can be changed if needed. I still doubt this decision because structured `PragmaName { Namespace, Identifier }` seems to be cleaner and there should be no noticeable overhead because of COW strings. --- Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/1252 commit_hash:e8a1fbb17e2ca3ffe72aafbea943a38624d74491
Diffstat (limited to 'contrib/python/matplotlib/py2/extern/agg24-svn/src')
0 files changed, 0 insertions, 0 deletions