gpt4 book ai didi

cassandra - 在创建的表中查找列的数据类型

转载 作者:行者123 更新时间:2023-12-01 09:54:17 26 4
gpt4 key购买 nike

我正在尝试为用户验证表结构提供服务,其中一个组件是列数据类型,例如 uuidtext bigint 在下面的 `CREATE TABLE' 语句中。

USE my_keyspace;
CREATE TABLE users (
id uuid,
name text,
age bigint);

如果我这样做了

USE system;
SELECT validator FROM schema_columns
WHERE keyspace_name='my_keyspace' AND columnfamily_name='users';

我明白了

org.apache.cassandra.db.marshal.UUIDType
org.apache.cassandra.db.marshal.UTF8Type
org.apache.cassandra.db.marshal.LongType

这似乎提供了丰富的信息,但仔细检查后,多个不同的数据类型可以映射到同一个验证器值。有没有办法可以提取在“CREATE TABLE”语句中输入的数据类型信息,或者至少找到类型之间的一些区别?

另外,我很好奇为什么验证器数据前面带有“org.apache.cassandra ...”,但找不到解释,所以如果有人知道为什么会这样,我会很想知道。

最佳答案

Which seems informative, but on closer inspection, multiple distinct datatypes can map to the same validator value.

如果是这种情况,例如 varchar 和 text,我相信数据类型可以相互映射并且可以互换。如果我错了,请其他人纠正我。

Is there a way I can pull the data type info as entered in the `CREATE TABLE' statement, or at least find some distinction between the types?

我知道的唯一方法是:

DESC TABLE users;

Also, I'm curious as to why the validator data has the 'org.apache.cassandra...' prepended to it, and couldn't find an explanation, so if anybody knows why that is, I'd be very interested to know.

Cassandra 是用 Java 实现的,这是实现数据类型的 Class 的完整路径。

更多信息:

http://docs.datastax.com/en/cql/3.0/cql/cql_reference/cql_data_types_c.html

https://github.com/apache/cassandra/tree/trunk/src/java/org/apache/cassandra/db/marshal

关于cassandra - 在创建的表中查找列的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31574639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com