小编jua*_*osl的帖子

在OpenShift的DIY盒式磁带上支持JDK 8

我知道WildFly盒式磁带没有JDK支持,但是我能以某种方式在实验性DIY盒式磁带上安装Java 8吗?java-1.7.0是/ usr/lib中的最新版本.

java-8 openshift

19
推荐指数
3
解决办法
1万
查看次数

为什么 Spanner 在 LIKE 中使用下划线执行全表扫描,而使用 % 来利用索引?

在查询中,如果我LIKE '<value>%'在主键上使用它,它使用索引执行得很好:

Operator | Rows returned | Executions | Latency
-- | -- | -- | --
 Serialize Result   32  1   1.80 ms
 Sort   32  1   1.78 ms
 Hash Aggregate 32  1   1.73 ms
 Distributed union  32  1   1.61 ms
 Hash Aggregate 32  1   1.56 ms
 Distributed union  128 1   1.34 ms
 Compute    -   -   -
 FilterScan 128 1   1.33 ms
 Table Scan: <tablename>    128 1   1.30 ms
Run Code Online (Sandbox Code Playgroud)

尽管如此, usingLIKE '<value>_'执行全表扫描:

Operator | Rows returned | …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform google-cloud-spanner

3
推荐指数
1
解决办法
289
查看次数

覆盖超类型的协程时如何使用 mypy?

有一个类扩展了另一个类并覆盖了一个返回迭代器的协程:

class Repository:
     async def run(self, query: Query) -> AsyncIterator[int]:
...

class MyRepository(Repository):
     async def run(self, query: Query) -> AsyncIterator[int]:
...
Run Code Online (Sandbox Code Playgroud)

运行 mypy 返回此错误:

error: Return type "AsyncIterator[int]" of "run" incompatible with return type "Coroutine[Any, Any, AsyncIterator[int]]" in supertype "Repository"
Run Code Online (Sandbox Code Playgroud)

协程的类型与普通函数一样,所以我不确定正确的方法是什么。

使用 ABC 类不会修复它:

class Repository(metaclass=ABCMeta):
    @abstractmethod
    async def run(self, query: Query) -> AsyncIterator[int]:
Run Code Online (Sandbox Code Playgroud)

python mypy

2
推荐指数
1
解决办法
362
查看次数