提交 777dd00c 编写于 作者: Z Zesong Sun 提交者: Jialin Qiao

Fix document bugs and add development guide in Chinese (#681)

上级 f0f229d9
# 一、工作流程
## 主要链接
IoTDB 官网:https://iotdb.apache.org/
代码库:https://github.com/apache/incubator-iotdb/tree/master
快速上手:https://iotdb.apache.org/#/Documents/Quick%20Start
## 订阅邮件列表
邮件列表是 Apache 项目进行技术讨论和用户沟通的地方,关注邮件列表就可以收到邮件了。
邮件列表地址:dev@iotdb.apache.org
关注方法:用想接收邮件的邮箱向 dev-subscribe@iotdb.apache.org 发一封邮件,主题内容不限,收到回复后,再次向确认地址发一封确认邮件(确认地址比较长,推荐qq邮箱)。
## 新功能、Bug 反馈、改进等目标记录
在 Jira 上提 issue:https://issues.apache.org/jira/projects/IOTDB/issues/IOTDB-9?filter=allopenissues
选择 issue 类型:bug、improvement、new feature等。新建的 issue 会自动向邮件列表中同步邮件,之后的讨论可在 jira 上留言,也可以在邮件列表进行。当问题解决后请关闭 issue。
## 邮件讨论内容(英文)
* 初来乍到:大家好,我是xxx,新加入 IoTDB 社区,希望。
* 小试牛刀:Hi,我正在解决这个 issue,给个链接,我预计的解决方案是xxx。
## 贡献代码
可以去 jira 上领取现有 issue 或者自己创建 issue 再领取,评论说我要做这个 issue 就可以。
* 克隆仓库到自己的本地的仓库,clone到本地,关联apache仓库为上游 upstream 仓库。
* 从 master 切出新的分支,分支名根据这个分支的功能决定,一般叫 f_【新功能】 或者 fix_【bug】
* 在 idea 中添加code style为 根目录的 java-google-style.xml
* 修改代码,增加测试用例(单元测试、集成测试)
* 集成测试参考: server/src/test/java/org/apache/iotdb/db/integration/IoTDBTimeZoneIT
* 提交 PR, 以 [IOTDB-jira号] 开头
* dev发邮件:我已经提交PR,附上pr链接
* 根据其他人的审阅意见进行修改,继续更新,直到合并
* 关闭 jira issue
## 二、IoTDB 调试方式
* 服务器主函数:server/src/main/java/org/apache/iotdb/db/service/IoTDB,可以debug启动
* 客户端:client/src/main/java/org/apache/iotdb/client,linux 用 Clinet,windows 用WinClint,可以直接启动,需要参数"-h 127.0.0.1 -p 6667 -u root -pw root"
* 服务器的 rpc 实现(主要用来客户端和服务器通信,一般在这里开始打断点):server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl
* jdbc所有语句:executeStatement(TSExecuteStatementReq req)
* jdbc查询语句:executeQueryStatement(TSExecuteStatementReq req) * native写入接口:insert(TSInsertReq req)
* 写入引擎 org.apache.iotdb.db.engine.StorageEngine
* 查询引擎 org.apache.iotdb.db.qp.QueryProcessor
......@@ -144,7 +144,7 @@ IoTDB > COUNT NODES root.ln.wf01 LEVEL=3
```
IoTDB> delete timeseries root.ln.wf01.wt01.status
IoTDB> delete timeseries root.ln.wf01.wt01.temperature, root.ln.wf02.wt02.hardware
IoTDB> delete timeseries root.ln.wf02*
IoTDB> delete timeseries root.ln.wf02.*
```
### 查看设备
......@@ -168,7 +168,7 @@ IoTDB> set ttl to root.ln 3600000
### 取消 TTL
取消TTL的SQL语句如下所示:
```
IoTDB> unset ttl to root.ln 3600000。
IoTDB> unset ttl to root.ln
```
取消设置TTL后,存储组`root.ln`中所有的数据都会被保存。
......
......@@ -68,7 +68,7 @@ IoTDB > insert into root.ln.wf02.wt02(timestamp, temperature) values(1,"v1")
由于`root.ln.wf02.wt02. temperature`时间序列不存在,系统将会返回以下ERROR告知该Timeseries路径不存在:
```
Msg: Current deviceId[root.ln.wf02.wt02] does not contains measurement:temperature
Msg: The resultDataType or encoding or compression of the last node temperature is conflicting in the storage group root.ln
```
若用户插入的数据类型与该Timeseries对应的数据类型不一致,例如执行以下命令:
```
......
......@@ -53,8 +53,8 @@ IoTDB为用户提供了权限管理操作,从而为用户提供对于数据的
我们可以为ln和sgcc集团创建两个用户角色,名为ln_write_user, sgcc_write_user,密码均为write_pwd。SQL语句为:
```
CREATE USER ln_write_user write_pwd
CREATE USER sgcc_write_user write_pwd
CREATE USER ln_write_user 'write_pwd'
CREATE USER sgcc_write_user 'write_pwd'
```
此时使用展示用户的SQL语句:
......
......@@ -142,7 +142,7 @@ The usage are as follows:
```
IoTDB> delete timeseries root.ln.wf01.wt01.status
IoTDB> delete timeseries root.ln.wf01.wt01.temperature, root.ln.wf02.wt02.hardware
IoTDB> delete timeseries root.ln.wf02*
IoTDB> delete timeseries root.ln.wf02.*
```
### Show Devices
......
......@@ -69,7 +69,7 @@ IoTDB > insert into root.ln.wf02.wt02(timestamp, temperature) values(1,"v1")
Because `root.ln.wf02.wt02. temperature` does not exist, the system will return the following ERROR information:
```
Msg: Current deviceId[root.ln.wf02.wt02] does not contain measurement:temperature
Msg: The resultDataType or encoding or compression of the last node temperature is conflicting in the storage group root.ln
```
If the data type inserted by the user is inconsistent with the corresponding data type of the timeseries, for example, execute the following command:
......
......@@ -47,8 +47,8 @@ According to the [sample data](https://raw.githubusercontent.com/apache/incubato
We can create two users for ln and sgcc groups, named ln\_write\_user and sgcc\_write\_user, with both passwords being write\_pwd. The SQL statement is:
```
CREATE USER ln_write_user write_pwd
CREATE USER sgcc_write_user write_pwd
CREATE USER ln_write_user 'write_pwd'
CREATE USER sgcc_write_user 'write_pwd'
```
Then use the following SQL statement to show the user:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册