blob: 3041b1b81a5d8f12d99be167b538b4fedbd142da [file] [log] [blame] [view]
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# Key-Value Pair
**The key/value of an attribute can be constant(including string) and identifier.**
Below are usage scenarios of key-value pair:
- Attributes fields of trigger. See the attributes after `With` clause in the example below:
```sql
# 以字符串形式表示键值对
CREATE TRIGGER `alert-listener-sg1d1s1`
AFTER INSERT
ON root.sg1.d1.s1
AS 'org.apache.iotdb.db.engine.trigger.example.AlertListener'
WITH (
'lo' = '0',
'hi' = '100.0'
)
# 以标识符和常量形式表示键值对
CREATE TRIGGER `alert-listener-sg1d1s1`
AFTER INSERT
ON root.sg1.d1.s1
AS 'org.apache.iotdb.db.engine.trigger.example.AlertListener'
WITH (
lo = 0,
hi = 100.0
)
```
- Key-value pair to represent tag/attributes in timeseries:
```sql
# create timeseries using string as key/value
CREATE timeseries root.turbine.d1.s1(temprature)
WITH datatype = FLOAT, encoding = RLE, compression = SNAPPY, 'max_point_number' = '5'
TAGS('tag1' = 'v1', 'tag2'= 'v2') ATTRIBUTES('attr1' = 'v1', 'attr2' = 'v2')
# create timeseries using constant as key/value
CREATE timeseries root.turbine.d1.s1(temprature)
WITH datatype = FLOAT, encoding = RLE, compression = SNAPPY, max_point_number = 5
TAGS(tag1 = v1, tag2 = v2) ATTRIBUTES(attr1 = v1, attr2 = v2)
```
```sql
# alter tags and attributes of timeseries
ALTER timeseries root.turbine.d1.s1 SET 'newTag1' = 'newV1', 'attr1' = 'newV1'
ALTER timeseries root.turbine.d1.s1 SET newTag1 = newV1, attr1 = newV1
```
```sql
# rename tag
ALTER timeseries root.turbine.d1.s1 RENAME 'tag1' TO 'newTag1'
ALTER timeseries root.turbine.d1.s1 RENAME tag1 TO newTag1
```
```sql
# upsert alias, tags, attributes
ALTER timeseries root.turbine.d1.s1 UPSERT
ALIAS='newAlias' TAGS('tag2' = 'newV2', 'tag3' = 'v3') ATTRIBUTES('attr3' ='v3', 'attr4'='v4')
ALTER timeseries root.turbine.d1.s1 UPSERT
ALIAS = newAlias TAGS(tag2 = newV2, tag3 = v3) ATTRIBUTES(attr3 = v3, attr4 = v4)
```
```sql
# add new tags
ALTER timeseries root.turbine.d1.s1 ADD TAGS 'tag3' = 'v3', 'tag4' = 'v4'
ALTER timeseries root.turbine.d1.s1 ADD TAGS tag3 = v3, tag4 = v4
```
```sql
# add new attributes
ALTER timeseries root.turbine.d1.s1 ADD ATTRIBUTES 'attr3' = 'v3', 'attr4' = 'v4'
ALTER timeseries root.turbine.d1.s1 ADD ATTRIBUTES attr3 = v3, attr4 = v4
```
```sql
# query for timeseries
SHOW timeseries root.ln.** WHRER 'unit' = 'c'
SHOW timeseries root.ln.** WHRER unit = c
```
- Attributes fields of Pipe and PipeSink.
```sql
# PipeSink example
CREATE PIPESINK my_iotdb AS IoTDB ('ip' = '输入你的IP')
# Pipe example
CREATE PIPE my_pipe TO my_iotdb FROM
(select ** from root WHERE time>=yyyy-mm-dd HH:MM:SS) WITH 'SyncDelOp' = 'true'
```