Removed trash symlinks #6338

This commit is contained in:
Alexey Milovidov 2019-08-06 17:36:16 +03:00
parent 416a498b0f
commit 8bf1af3536
3 changed files with 0 additions and 182 deletions

View File

@ -1,78 +0,0 @@
## IPv4
`IPv4`是与`UInt32`类型保持二进制兼容的Domain类型其用于存储IPv4地址的值。它提供了更为紧凑的二进制存储的同时支持识别可读性更加友好的输入输出格式。
### 基本使用
``` sql
CREATE TABLE hits (url String, from IPv4) ENGINE = MergeTree() ORDER BY url;
DESCRIBE TABLE hits;
```
```
┌─name─┬─type───┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┐
│ url │ String │ │ │ │ │
│ from │ IPv4 │ │ │ │ │
└──────┴────────┴──────────────┴────────────────────┴─────────┴──────────────────┘
```
同时您也可以使用`IPv4`类型的列作为主键:
``` sql
CREATE TABLE hits (url String, from IPv4) ENGINE = MergeTree() ORDER BY from;
```
在写入与查询时,`IPv4`类型能够识别可读性更加友好的输入输出格式:
``` sql
INSERT INTO hits (url, from) VALUES ('https://wikipedia.org', '116.253.40.133')('https://clickhouse.yandex', '183.247.232.58')('https://clickhouse.yandex/docs/en/', '116.106.34.242');
SELECT * FROM hits;
```
```
┌─url────────────────────────────────┬───────────from─┐
│ https://clickhouse.yandex/docs/en/ │ 116.106.34.242 │
│ https://wikipedia.org │ 116.253.40.133 │
│ https://clickhouse.yandex │ 183.247.232.58 │
└────────────────────────────────────┴────────────────┘
```
同时它提供更为紧凑的二进制存储格式:
``` sql
SELECT toTypeName(from), hex(from) FROM hits LIMIT 1;
```
```
┌─toTypeName(from)─┬─hex(from)─┐
│ IPv4 │ B7F7E83A │
└──────────────────┴───────────┘
```
不可隐式转换为除`UInt32`以外的其他类型类型。如果要将`IPv4`类型的值转换成字符串,你可以使用`IPv4NumToString()`显示的进行转换:
``` sql
SELECT toTypeName(s), IPv4NumToString(from) as s FROM hits LIMIT 1;
```
```
┌─toTypeName(IPv4NumToString(from))─┬─s──────────────┐
│ String │ 183.247.232.58 │
└───────────────────────────────────┴────────────────┘
```
或可以使用`CAST`将它转换为`UInt32`类型:
``` sql
SELECT toTypeName(i), CAST(from as UInt32) as i FROM hits LIMIT 1;
```
```
┌─toTypeName(CAST(from, 'UInt32'))─┬──────────i─┐
│ UInt32 │ 3086477370 │
└──────────────────────────────────┴────────────┘
```
[来源文章](https://clickhouse.yandex/docs/en/data_types/domains/ipv4) <!--hide-->

View File

@ -1,78 +0,0 @@
## IPv6
`IPv6`是与`FixedString(16)`类型保持二进制兼容的Domain类型其用于存储IPv6地址的值。它提供了更为紧凑的二进制存储的同时支持识别可读性更加友好的输入输出格式。
### 基本用法
``` sql
CREATE TABLE hits (url String, from IPv6) ENGINE = MergeTree() ORDER BY url;
DESCRIBE TABLE hits;
```
```
┌─name─┬─type───┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┐
│ url │ String │ │ │ │ │
│ from │ IPv6 │ │ │ │ │
└──────┴────────┴──────────────┴────────────────────┴─────────┴──────────────────┘
```
同时您也可以使用`IPv6`类型的列作为主键:
``` sql
CREATE TABLE hits (url String, from IPv6) ENGINE = MergeTree() ORDER BY from;
```
在写入与查询时,`IPv6`类型能够识别可读性更加友好的输入输出格式:
``` sql
INSERT INTO hits (url, from) VALUES ('https://wikipedia.org', '2a02:aa08:e000:3100::2')('https://clickhouse.yandex', '2001:44c8:129:2632:33:0:252:2')('https://clickhouse.yandex/docs/en/', '2a02:e980:1e::1');
SELECT * FROM hits;
```
```
┌─url────────────────────────────────┬─from──────────────────────────┐
│ https://clickhouse.yandex │ 2001:44c8:129:2632:33:0:252:2 │
│ https://clickhouse.yandex/docs/en/ │ 2a02:e980:1e::1 │
│ https://wikipedia.org │ 2a02:aa08:e000:3100::2 │
└────────────────────────────────────┴───────────────────────────────┘
```
同时它提供更为紧凑的二进制存储格式:
``` sql
SELECT toTypeName(from), hex(from) FROM hits LIMIT 1;
```
```
┌─toTypeName(from)─┬─hex(from)────────────────────────┐
│ IPv6 │ 200144C8012926320033000002520002 │
└──────────────────┴──────────────────────────────────┘
```
不可隐式转换为除`FixedString(16)`以外的其他类型类型。如果要将`IPv6`类型的值转换成字符串,你可以使用`IPv6NumToString()`显示的进行转换:
``` sql
SELECT toTypeName(s), IPv6NumToString(from) as s FROM hits LIMIT 1;
```
```
┌─toTypeName(IPv6NumToString(from))─┬─s─────────────────────────────┐
│ String │ 2001:44c8:129:2632:33:0:252:2 │
└───────────────────────────────────┴───────────────────────────────┘
```
或使用`CAST`将其转换为`FixedString(16)`
``` sql
SELECT toTypeName(i), CAST(from as FixedString(16)) as i FROM hits LIMIT 1;
```
```
┌─toTypeName(CAST(from, 'FixedString(16)'))─┬─i───────┐
│ FixedString(16) │ <20><><EFBFBD>
└───────────────────────────────────────────┴─────────┘
```
[来源文章](https://clickhouse.yandex/docs/en/data_types/domains/ipv6) <!--hide-->

View File

@ -1,26 +0,0 @@
# Domains
Domain类型是特定实现的类型它总是与某个现存的基础类型保持二进制兼容的同时添加一些额外的特性以能够在维持磁盘数据不变的情况下使用这些额外的特性。目前ClickHouse暂不支持自定义domain类型。
如果你可以在一个地方使用与Domain类型二进制兼容的基础类型那么在相同的地方您也可以使用Domain类型例如
* 使用Domain类型作为表中列的类型
* 对Domain类型的列进行读/写数据
* 如果与Domain二进制兼容的基础类型可以作为索引那么Domain类型也可以作为索引
* 将Domain类型作为参数传递给函数使用
* 其他
### Domains的额外特性
* 在执行SHOW CREATE TABLE 或 DESCRIBE TABLE时其对应的列总是展示为Domain类型的名称
* 在INSERT INTO domain_table(domain_column) VALUES(...)中输入数据总是以更人性化的格式进行输入
* 在SELECT domain_column FROM domain_table中数据总是以更人性化的格式输出
* 在INSERT INTO domain_table FORMAT CSV ...中,实现外部源数据以更人性化的格式载入
### Domains类型的限制
* 无法通过`ALTER TABLE`将基础类型的索引转换为Domain类型的索引。
* 当从其他列或表插入数据时无法将string类型的值隐式地转换为Domain类型的值。
* 无法对存储为Domain类型的值添加约束。
[来源文章](https://clickhouse.yandex/docs/en/data_types/domains/overview) <!--hide-->