1

SnappyData v.0.5

我似乎无法为特定架构创建行表。 这在基于模式的多租户应用程序中很重要,其中每个租户都有自己的模式。

但是,当我使用 RowStore DDL 创建表时,它们是可查询的,是数据库的所有模式。

这是我的步骤。我做错什么了吗?

ubuntu@ip-172-x-x-x:~$ snappy-shell
SnappyData RowStore 1.5.0 GA
snappy> connect client '172.x.x.x:1527';
Using CONNECTION0
**snappy> set schema A;**
0 rows inserted/updated/deleted
snappy> run '/home/ubuntu/data/ddl/create_row_tables.sql';
snappy> DROP TABLE IF EXISTS road;
0 rows inserted/updated/deleted
snappy>
CREATE TABLE road
(
    road_id VARCHAR(64) NOT NULL,
    name VARCHAR(64) NOT NULL,
    CONSTRAINT road_PK PRIMARY KEY (road_id)
)
PERSISTENT;
0 rows inserted/updated/deleted

在使用 JDBC 的 DBVisualizer 中,我有以下模式:A、APP、NULLID、Q、SQLQ 等。当我将 DBVisualizer 更改为指向特定模式并运行时:

从道路中选择*;

该查询在所有 SCHEMAS 上返回零行。我希望有一个“找不到表:路;” 除“A”外的所有模式都出错。 我需要做什么才能仅在特定架构上创建表?

4

1 回答 1

1

存储与 Spark 元数据的模式集成存在一些问题,这些问题已在最近的版本中得到修复。从发布版本开始,您将需要使用完全限定名称,例如:

create table a.road ...
select * from a.road

顺便说一句,如果您将集群作为纯行存储运行(使用“snappy-start-all.sh 行存储”),那么架构应该按预期工作。

于 2016-07-27T03:45:46.890 回答