blob: ba5bf10c0b967367b97bf8407dfb318b01dd72f1 [file] [log] [blame]
<!doctype html>
<html lang="en-US" data-theme="light">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="generator" content="VuePress 2.0.0-rc.9" />
<meta name="theme" content="VuePress Theme Hope 2.0.0-rc.34" />
<style>
html {
background: var(--bg-color, #fff);
}
html[data-theme="dark"] {
background: var(--bg-color, #1d1e1f);
}
body {
background: var(--bg-color);
}
</style>
<script>
const userMode = localStorage.getItem("vuepress-theme-hope-scheme");
const systemDarkMode =
window.matchMedia &&
window.matchMedia("(prefers-color-scheme: dark)").matches;
if (userMode === "dark" || (userMode !== "light" && systemDarkMode)) {
document.documentElement.setAttribute("data-theme", "dark");
}
</script>
<link rel="alternate" hreflang="zh-cn" href="https://iotdb.apache.org/zh/UserGuide/latest/User-Manual/IoTDB-View_timecho.html"><meta property="og:url" content="https://iotdb.apache.org/UserGuide/latest/User-Manual/IoTDB-View_timecho.html"><meta property="og:site_name" content="IoTDB Website"><meta property="og:title" content="View"><meta property="og:description" content="View I. Sequence View Application Background 1.1 Application Scenario 1 Time Series Renaming (PI Asset Management) In practice, the equipment collecting data may be named with i..."><meta property="og:type" content="article"><meta property="og:locale" content="en-US"><meta property="og:locale:alternate" content="zh-CN"><meta property="og:updated_time" content="2024-01-17T06:56:46.000Z"><meta property="article:modified_time" content="2024-01-17T06:56:46.000Z"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"View","image":[""],"dateModified":"2024-01-17T06:56:46.000Z","author":[]}</script><link rel="icon" href="/favicon.ico"><meta name="Description" content="Apache IoTDB: Time Series Database for IoT"><meta name="Keywords" content="TSDB, time series, time series database, IoTDB, IoT database, IoT data management,时序数据库, 时间序列管理, IoTDB, 物联网数据库, 实时数据库, 物联网数据管理, 物联网数据"><meta name="baidu-site-verification" content="wfKETzB3OT"><meta name="google-site-verification" content="mZWAoRY0yj_HAr-s47zHCGHzx5Ju-RVm5wDbPnwQYFo"><script type="text/javascript">
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(["setDoNotTrack", true]);
_paq.push(["disableCookies"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '56']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script><title>View | IoTDB Website</title><meta name="description" content="View I. Sequence View Application Background 1.1 Application Scenario 1 Time Series Renaming (PI Asset Management) In practice, the equipment collecting data may be named with i...">
<link rel="preload" href="/assets/style-DnEHAOmf.css" as="style"><link rel="stylesheet" href="/assets/style-DnEHAOmf.css">
<link rel="modulepreload" href="/assets/app-DrPcRZG6.js"><link rel="modulepreload" href="/assets/IoTDB-View_timecho.html-CNOFshe0.js">
</head>
<body>
<div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">Skip to main content</a><!--]--><!--[--><div class="theme-container has-toc"><!--[--><header id="navbar" class="vp-navbar hide-icon"><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><!--[--><a class="route-link vp-brand" href="/"><img class="vp-nav-logo" src="/logo.png" alt><!----><span class="vp-site-name hide-in-pad">IoTDB Website</span></a><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-center"><!--[--><!----><!--]--><!--[--><!--]--><!--[--><!----><!--]--></div><div class="vp-navbar-end"><!--[--><!----><!--]--><!--[--><!--[--><div id="docsearch-container" style="display:none;"></div><div><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"><svg width="15" height="15" class="DocSearch-Control-Key-Icon"><path d="M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953" stroke-width="1.2" stroke="currentColor" fill="none" stroke-linecap="square"></path></svg></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--><nav class="vp-nav-links"><div class="vp-nav-item hide-in-mobile"><div class="dropdown-wrapper"><button type="button" class="dropdown-title" aria-label="Documentation"><span class="title"><!---->Documentation</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><a class="route-link nav-link" href="/UserGuide/latest/QuickStart/QuickStart.html" aria-label="v1.3.x"><!---->v1.3.x<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/UserGuide/V1.2.x/QuickStart/QuickStart.html" aria-label="v1.2.x"><!---->v1.2.x<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/UserGuide/V1.1.x/QuickStart/QuickStart.html" aria-label="v1.1.x"><!---->v1.1.x<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/UserGuide/V1.0.x/QuickStart/QuickStart.html" aria-label="v1.0.x"><!---->v1.0.x<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/UserGuide/V0.13.x/QuickStart/QuickStart.html" aria-label="v0.13.x"><!---->v0.13.x<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><a href="https://cwiki.apache.org/confluence/display/IOTDB/System+Design" rel="noopener noreferrer" target="_blank" aria-label="Design" class="nav-link"><!---->Design<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="vp-nav-item hide-in-mobile"><a class="route-link nav-link" href="/Download/" aria-label="Download"><!---->Download<!----></a></div><div class="vp-nav-item hide-in-mobile"><div class="dropdown-wrapper"><button type="button" class="dropdown-title" aria-label="Community"><span class="title"><!---->Community</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><a class="route-link nav-link" href="/Community/About.html" aria-label="About"><!---->About<!----></a></li><li class="dropdown-item"><a href="https://cwiki.apache.org/confluence/display/iotdb" rel="noopener noreferrer" target="_blank" aria-label="Wiki" class="nav-link"><!---->Wiki<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/Community/Community-Project-Committers.html" aria-label="People"><!---->People<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/Community/Community-Powered-By.html" aria-label="Powered By"><!---->Powered By<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/Community/Materials.html" aria-label="Resources"><!---->Resources<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/Community/Feedback.html" aria-label="Feedback"><!---->Feedback<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><div class="dropdown-wrapper"><button type="button" class="dropdown-title" aria-label="Development"><span class="title"><!---->Development</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><a class="route-link nav-link" href="/Development/VoteRelease.html" aria-label="How to vote"><!---->How to vote<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/Development/HowToCommit.html" aria-label="How to Commit"><!---->How to Commit<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/Development/HowToJoin.html" aria-label="Become a Contributor"><!---->Become a Contributor<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/Development/Committer.html" aria-label="Become a Committer"><!---->Become a Committer<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/Development/ContributeGuide.html" aria-label="ContributeGuide"><!---->ContributeGuide<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/Development/HowtoContributeCode.html" aria-label="How to Contribute Code"><!---->How to Contribute Code<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/Development/format-changelist.html" aria-label="Changelist of TsFile"><!---->Changelist of TsFile<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/Development/rpc-changelist.html" aria-label="Changelist of RPC"><!---->Changelist of RPC<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><div class="dropdown-wrapper"><button type="button" class="dropdown-title" aria-label="ASF"><span class="title"><!---->ASF</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><a href="https://www.apache.org/" rel="noopener noreferrer" target="_blank" aria-label="Foundation" class="nav-link"><!---->Foundation<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a href="https://www.apache.org/licenses/" rel="noopener noreferrer" target="_blank" aria-label="License" class="nav-link"><!---->License<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a href="https://www.apache.org/security/" rel="noopener noreferrer" target="_blank" aria-label="Security" class="nav-link"><!---->Security<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a href="https://www.apache.org/foundation/sponsorship.html" rel="noopener noreferrer" target="_blank" aria-label="Sponsorship" class="nav-link"><!---->Sponsorship<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a href="https://www.apache.org/foundation/thanks.html" rel="noopener noreferrer" target="_blank" aria-label="Thanks" class="nav-link"><!---->Thanks<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a href="https://www.apache.org/events/current-event" rel="noopener noreferrer" target="_blank" aria-label="Current Events" class="nav-link"><!---->Current Events<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li><li class="dropdown-item"><a href="https://privacy.apache.org/policies/privacy-policy-public.html" rel="noopener noreferrer" target="_blank" aria-label="Privacy" class="nav-link"><!---->Privacy<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></li></ul></button></div></div></nav><div class="vp-nav-item"><div class="dropdown-wrapper"><button type="button" class="dropdown-title" aria-label="Select language"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon i18n-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="i18n icon" style="width:1rem;height:1rem;vertical-align:middle;"><path d="M379.392 460.8 494.08 575.488l-42.496 102.4L307.2 532.48 138.24 701.44l-71.68-72.704L234.496 460.8l-45.056-45.056c-27.136-27.136-51.2-66.56-66.56-108.544h112.64c7.68 14.336 16.896 27.136 26.112 35.84l45.568 46.08 45.056-45.056C382.976 312.32 409.6 247.808 409.6 204.8H0V102.4h256V0h102.4v102.4h256v102.4H512c0 70.144-37.888 161.28-87.04 210.944L378.88 460.8zM576 870.4 512 1024H409.6l256-614.4H768l256 614.4H921.6l-64-153.6H576zM618.496 768h196.608L716.8 532.48 618.496 768z"></path></svg><!--]--><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><a class="route-link nav-link active" href="/UserGuide/latest/User-Manual/IoTDB-View_timecho.html" aria-label="English"><!---->English<!----></a></li><li class="dropdown-item"><a class="route-link nav-link" href="/zh/UserGuide/latest/User-Manual/IoTDB-View_timecho.html" aria-label="简体中文"><!---->简体中文<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><button type="button" id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:none;"><path d="M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><path d="M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:block;"><path d="M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"></path></svg></button></div><div class="vp-nav-item vp-action"><a class="vp-action-link" href="https://github.com/apache/iotdb" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><path d="M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"></path></svg></a></div><!--]--><!--[--><!----><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar"><!--[--><!----><!--]--><ul class="vp-sidebar-links"><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><!----><span class="vp-sidebar-title">IoTDB User Guide (V1.3.x)</span><!----></p><ul class="vp-sidebar-links"></ul></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">About IoTDB</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Quick Start</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Basic Concept</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Deployment &amp; Maintenance</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">User Manual</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Tools System</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">API</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Ecosystem Integration</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">SQL Manual</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">FAQ</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Reference</span><span class="vp-arrow end"></span></button><!----></section></li></ul><!--[--><!----><!--]--></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!--[--><!----><!--]--><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->View</h1><div class="page-info"><!----><!----><span class="page-date-info" aria-label="Writing Date"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon"><path d="M716.4 110.137c0-18.753-14.72-33.473-33.472-33.473-18.753 0-33.473 14.72-33.473 33.473v33.473h66.993v-33.473zm-334.87 0c0-18.753-14.72-33.473-33.473-33.473s-33.52 14.72-33.52 33.473v33.473h66.993v-33.473zm468.81 33.52H716.4v100.465c0 18.753-14.72 33.473-33.472 33.473a33.145 33.145 0 01-33.473-33.473V143.657H381.53v100.465c0 18.753-14.72 33.473-33.473 33.473a33.145 33.145 0 01-33.473-33.473V143.657H180.6A134.314 134.314 0 0046.66 277.595v535.756A134.314 134.314 0 00180.6 947.289h669.74a134.36 134.36 0 00133.94-133.938V277.595a134.314 134.314 0 00-133.94-133.938zm33.473 267.877H147.126a33.145 33.145 0 01-33.473-33.473c0-18.752 14.72-33.473 33.473-33.473h736.687c18.752 0 33.472 14.72 33.472 33.473a33.145 33.145 0 01-33.472 33.473z"></path></svg><span><!----></span><meta property="datePublished" content="2023-07-10T03:11:17.000Z"></span><span class="page-pageview-info" aria-label="Page views"><svg xmlns="http://www.w3.org/2000/svg" class="icon eye-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="eye icon"><path d="M992 512.096c0-5.76-.992-10.592-1.28-11.136-.192-2.88-1.152-8.064-2.08-10.816-.256-.672-.544-1.376-.832-2.08-.48-1.568-1.024-3.104-1.6-4.32C897.664 290.112 707.104 160 512 160c-195.072 0-385.632 130.016-473.76 322.592-1.056 2.112-1.792 4.096-2.272 5.856a55.512 55.512 0 00-.64 1.6c-1.76 5.088-1.792 8.64-1.632 7.744-.832 3.744-1.568 11.168-1.568 11.168-.224 2.272-.224 4.032.032 6.304 0 0 .736 6.464 1.088 7.808.128 1.824.576 4.512 1.12 6.976h-.032c.448 2.08 1.12 4.096 1.984 6.08.48 1.536.992 2.976 1.472 4.032C126.432 733.856 316.992 864 512 864c195.136 0 385.696-130.048 473.216-321.696 1.376-2.496 2.24-4.832 2.848-6.912.256-.608.48-1.184.672-1.728 1.536-4.48 1.856-8.32 1.728-8.32l-.032.032c.608-3.104 1.568-7.744 1.568-13.28zM512 672c-88.224 0-160-71.776-160-160s71.776-160 160-160 160 71.776 160 160-71.776 160-160 160z"></path></svg><span id="ArtalkPV" class="vp-pageview waline-pageview-count" data-path="/UserGuide/latest/User-Manual/IoTDB-View_timecho.html" data-page-key="/UserGuide/latest/User-Manual/IoTDB-View_timecho.html">...</span></span><span class="page-reading-time-info" aria-label="Reading Time"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon"><path d="M799.387 122.15c4.402-2.978 7.38-7.897 7.38-13.463v-1.165c0-8.933-7.38-16.312-16.312-16.312H256.33c-8.933 0-16.311 7.38-16.311 16.312v1.165c0 5.825 2.977 10.874 7.637 13.592 4.143 194.44 97.22 354.963 220.201 392.763-122.204 37.542-214.893 196.511-220.2 389.397-4.661 5.049-7.638 11.651-7.638 19.03v5.825h566.49v-5.825c0-7.379-2.849-13.981-7.509-18.9-5.049-193.016-97.867-351.985-220.2-389.527 123.24-37.67 216.446-198.453 220.588-392.892zM531.16 450.445v352.632c117.674 1.553 211.787 40.778 211.787 88.676H304.097c0-48.286 95.149-87.382 213.728-88.676V450.445c-93.077-3.107-167.901-81.297-167.901-177.093 0-8.803 6.99-15.793 15.793-15.793 8.803 0 15.794 6.99 15.794 15.793 0 80.261 63.69 145.635 142.01 145.635s142.011-65.374 142.011-145.635c0-8.803 6.99-15.793 15.794-15.793s15.793 6.99 15.793 15.793c0 95.019-73.789 172.82-165.96 177.093z"></path></svg><span>About 12 min</span><meta property="timeRequired" content="PT12M"></span><!----><!----></div><hr></div><div class="vp-toc-placeholder"><aside id="toc"><!--[--><!----><!--]--><div class="vp-toc-header">On This Page<button type="button" class="print-button" title="Print"><svg xmlns="http://www.w3.org/2000/svg" class="icon print-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="print icon"><path d="M819.2 364.8h-44.8V128c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v236.8h-44.8C145.067 364.8 96 413.867 96 473.6v192c0 59.733 49.067 108.8 108.8 108.8h44.8V896c0 17.067 14.933 32 32 32h460.8c17.067 0 32-14.933 32-32V774.4h44.8c59.733 0 108.8-49.067 108.8-108.8v-192c0-59.733-49.067-108.8-108.8-108.8zM313.6 160h396.8v204.8H313.6V160zm396.8 704H313.6V620.8h396.8V864zM864 665.6c0 25.6-19.2 44.8-44.8 44.8h-44.8V588.8c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v121.6h-44.8c-25.6 0-44.8-19.2-44.8-44.8v-192c0-25.6 19.2-44.8 44.8-44.8h614.4c25.6 0 44.8 19.2 44.8 44.8v192z"></path></svg></button><div class="arrow end"></div></div><div class="vp-toc-wrapper"><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#i-sequence-view-application-background">I. Sequence View Application Background</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#_1-1-application-scenario-1-time-series-renaming-pi-asset-management">1.1 Application Scenario 1 Time Series Renaming (PI Asset Management)</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_1-2-application-scenario-2-simplifying-business-layer-query-logic">1.2 Application Scenario 2 Simplifying business layer query logic</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_1-3-application-scenario-3-auxiliary-rights-management">1.3 Application Scenario 3 Auxiliary Rights Management</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_1-4-motivation-for-designing-sequence-view-functionality">1.4 Motivation for designing sequence view functionality</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#_2-sequence-view-concepts">2. Sequence View Concepts</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_2-1-terminology-concepts">2.1 Terminology Concepts</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_2-2-sequence-view">2.2 Sequence view</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_2-3-alias-sequences">2.3 Alias Sequences</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_2-4-nested-views">2.4 Nested Views</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_2-5-some-constraints-on-sequence-views-in-iotdb">2.5 Some constraints on sequence views in IoTDB</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#_3-sequence-view-functionality">3. Sequence view functionality</a></li><li><ul class="vp-toc-list"><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_3-1-creating-a-view">3.1 Creating a view</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_3-2-view-data-queries">3.2 View Data Queries</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_3-3-modify-views">3.3 Modify Views</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_3-4-view-synchronisation">3.4 View Synchronisation</a></li><!----><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level3" href="#_3-5-view-metadata-queries">3.5 View Metadata Queries</a></li><!----><!--]--></ul></li><!--]--><!--[--><li class="vp-toc-item"><a class="route-link vp-toc-link level2" href="#iv-faq">IV. FAQ</a></li><!----><!--]--></ul><div class="vp-toc-marker" style="top:-1.7rem;"></div></div><!--[--><!----><!--]--></aside></div><!--[--><!----><!--]--><div class="theme-hope-content"><h1 id="view" tabindex="-1"><a class="header-anchor" href="#view"><span>View</span></a></h1><h2 id="i-sequence-view-application-background" tabindex="-1"><a class="header-anchor" href="#i-sequence-view-application-background"><span>I. Sequence View Application Background</span></a></h2><h2 id="_1-1-application-scenario-1-time-series-renaming-pi-asset-management" tabindex="-1"><a class="header-anchor" href="#_1-1-application-scenario-1-time-series-renaming-pi-asset-management"><span>1.1 Application Scenario 1 Time Series Renaming (PI Asset Management)</span></a></h2><p>In practice, the equipment collecting data may be named with identification numbers that are difficult to be understood by human beings, which brings difficulties in querying to the business layer.</p><p>The Sequence View, on the other hand, is able to re-organise the management of these sequences and access them using a new model structure without changing the original sequence content and without the need to create new or copy sequences.</p><p><strong>For example</strong>: a cloud device uses its own NIC MAC address to form entity numbers and stores data by writing the following time sequence:<code>root.db.0800200A8C6D.xvjeifg</code>.</p><p>It is difficult for the user to understand. However, at this point, the user is able to rename it using the sequence view feature, map it to a sequence view, and use <code>root.view.device001.temperature</code> to access the captured data.</p><h3 id="_1-2-application-scenario-2-simplifying-business-layer-query-logic" tabindex="-1"><a class="header-anchor" href="#_1-2-application-scenario-2-simplifying-business-layer-query-logic"><span>1.2 Application Scenario 2 Simplifying business layer query logic</span></a></h3><p>Sometimes users have a large number of devices that manage a large number of time series. When conducting a certain business, the user wants to deal with only some of these sequences. At this time, the focus of attention can be picked out by the sequence view function, which is convenient for repeated querying and writing.</p><p><strong>For example</strong>: Users manage a product assembly line with a large number of time series for each segment of the equipment. The temperature inspector only needs to focus on the temperature of the equipment, so he can extract the temperature-related sequences and compose the sequence view.</p><h3 id="_1-3-application-scenario-3-auxiliary-rights-management" tabindex="-1"><a class="header-anchor" href="#_1-3-application-scenario-3-auxiliary-rights-management"><span>1.3 Application Scenario 3 Auxiliary Rights Management</span></a></h3><p>In the production process, different operations are generally responsible for different scopes. For security reasons, it is often necessary to restrict the access scope of the operations staff through permission management.</p><p><strong>For example</strong>: The safety management department now only needs to monitor the temperature of each device in a production line, but these data are stored in the same database with other confidential data. At this point, it is possible to create a number of new views that contain only temperature-related time series on the production line, and then to give the security officer access to only these sequence views, thus achieving the purpose of permission restriction.</p><h3 id="_1-4-motivation-for-designing-sequence-view-functionality" tabindex="-1"><a class="header-anchor" href="#_1-4-motivation-for-designing-sequence-view-functionality"><span>1.4 Motivation for designing sequence view functionality</span></a></h3><p>Combining the above two types of usage scenarios, the motivations for designing sequence view functionality, are:</p><ol><li>time series renaming.</li><li>to simplify the query logic at the business level.</li><li>Auxiliary rights management, open data to specific users through the view.</li></ol><h2 id="_2-sequence-view-concepts" tabindex="-1"><a class="header-anchor" href="#_2-sequence-view-concepts"><span>2. Sequence View Concepts</span></a></h2><h3 id="_2-1-terminology-concepts" tabindex="-1"><a class="header-anchor" href="#_2-1-terminology-concepts"><span>2.1 Terminology Concepts</span></a></h3><p>Concept: If not specified, the views specified in this document are <strong>Sequence Views</strong>, and new features such as device views may be introduced in the future.</p><h3 id="_2-2-sequence-view" tabindex="-1"><a class="header-anchor" href="#_2-2-sequence-view"><span>2.2 Sequence view</span></a></h3><p>A sequence view is a way of organising the management of time series.</p><p>In traditional relational databases, data must all be stored in a table, whereas in time series databases such as IoTDB, it is the sequence that is the storage unit. Therefore, the concept of sequence views in IoTDB is also built on sequences.</p><p>A sequence view is a virtual time series, and each virtual time series is like a soft link or shortcut that maps to a sequence or some kind of computational logic external to a certain view. In other words, a virtual sequence either maps to some defined external sequence or is computed from multiple external sequences.</p><p>Users can create views using complex SQL queries, where the sequence view acts as a stored query statement, and when data is read from the view, the stored query statement is used as the source of the data in the FROM clause.</p><h3 id="_2-3-alias-sequences" tabindex="-1"><a class="header-anchor" href="#_2-3-alias-sequences"><span>2.3 Alias Sequences</span></a></h3><p>There is a special class of beings in a sequence view that satisfy all of the following conditions:</p><ol><li>the data source is a single time series</li><li>there is no computational logic</li><li>no filtering conditions (e.g., no WHERE clause restrictions).</li></ol><p>Such a sequence view is called an <strong>alias sequence</strong>, or alias sequence view. A sequence view that does not fully satisfy all of the above conditions is called a non-alias sequence view. The difference between them is that only aliased sequences support write functionality.</p><p>** All sequence views, including aliased sequences, do not currently support Trigger functionality. **</p><h3 id="_2-4-nested-views" tabindex="-1"><a class="header-anchor" href="#_2-4-nested-views"><span>2.4 Nested Views</span></a></h3><p>A user may want to select a number of sequences from an existing sequence view to form a new sequence view, called a nested view.</p><p><strong>The current version does not support the nested view feature</strong>.</p><h3 id="_2-5-some-constraints-on-sequence-views-in-iotdb" tabindex="-1"><a class="header-anchor" href="#_2-5-some-constraints-on-sequence-views-in-iotdb"><span>2.5 Some constraints on sequence views in IoTDB</span></a></h3><h4 id="constraint-1-a-sequence-view-must-depend-on-one-or-several-time-series" tabindex="-1"><a class="header-anchor" href="#constraint-1-a-sequence-view-must-depend-on-one-or-several-time-series"><span>Constraint 1 A sequence view must depend on one or several time series</span></a></h4><p>A sequence view has two possible forms of existence:</p><ol><li>it maps to a time series</li><li>it is computed from one or more time series.</li></ol><p>The former form of existence has been exemplified in the previous section and is easy to understand; the latter form of existence here is because the sequence view allows for computational logic.</p><p>For example, the user has installed two thermometers in the same boiler and now needs to calculate the average of the two temperature values as a measurement. The user has captured the following two sequences: <code>root.db.d01.temperature01</code>, <code>root.db.d01.temperature02</code>.</p><p>At this point, the user can use the average of the two sequences as one sequence in the view: <code>root.db.d01.avg_temperature</code>.</p><p>This example will 3.1.2 expand in detail.</p><h4 id="restriction-2-non-alias-sequence-views-are-read-only" tabindex="-1"><a class="header-anchor" href="#restriction-2-non-alias-sequence-views-are-read-only"><span>Restriction 2 Non-alias sequence views are read-only</span></a></h4><p>Writing to non-alias sequence views is not allowed.</p><p>Only aliased sequence views are supported for writing.</p><h4 id="restriction-3-nested-views-are-not-allowed" tabindex="-1"><a class="header-anchor" href="#restriction-3-nested-views-are-not-allowed"><span>Restriction 3 Nested views are not allowed</span></a></h4><p>It is not possible to select certain columns in an existing sequence view to create a sequence view, either directly or indirectly.</p><p>An example of this restriction will be given in 3.1.3.</p><h4 id="restriction-4-sequence-view-and-time-series-cannot-be-renamed" tabindex="-1"><a class="header-anchor" href="#restriction-4-sequence-view-and-time-series-cannot-be-renamed"><span>Restriction 4 Sequence view and time series cannot be renamed</span></a></h4><p>Both sequence views and time series are located under the same tree, so they cannot be renamed.</p><p>The name (path) of any sequence should be uniquely determined.</p><h4 id="restriction-5-sequence-views-share-timing-data-with-time-series-metadata-such-as-labels-are-not-shared" tabindex="-1"><a class="header-anchor" href="#restriction-5-sequence-views-share-timing-data-with-time-series-metadata-such-as-labels-are-not-shared"><span>Restriction 5 Sequence views share timing data with time series, metadata such as labels are not shared</span></a></h4><p>Sequence views are mappings pointing to time series, so they fully share timing data, with the time series being responsible for persistent storage.</p><p>However, their metadata such as tags and attributes are not shared.</p><p>This is because the business query, view-oriented users are concerned about the structure of the current view, and if you use group by tag and other ways to do the query, obviously want to get the view contains the corresponding tag grouping effect, rather than the time series of the tag grouping effect (the user is not even aware of those time series).</p><h2 id="_3-sequence-view-functionality" tabindex="-1"><a class="header-anchor" href="#_3-sequence-view-functionality"><span>3. Sequence view functionality</span></a></h2><h3 id="_3-1-creating-a-view" tabindex="-1"><a class="header-anchor" href="#_3-1-creating-a-view"><span>3.1 Creating a view</span></a></h3><p>Creating a sequence view is similar to creating a time series, the difference is that you need to specify the data source, i.e., the original sequence, through the AS keyword.</p><h4 id="_3-1-1-sql-for-creating-a-view" tabindex="-1"><a class="header-anchor" href="#_3-1-1-sql-for-creating-a-view"><span>3.1.1. SQL for creating a view</span></a></h4><p>User can select some sequences to create a view:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.view.device.status
AS
SELECT s01
FROM root.db.device
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>It indicates that the user has selected the sequence <code>s01</code> from the existing device <code>root.db.device</code>, creating the sequence view <code>root.view.device.status</code>.</p><p>The sequence view can exist under the same entity as the time series, for example:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.db.device.status
AS
SELECT s01
FROM root.db.device
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Thus, there is a virtual copy of <code>s01</code> under <code>root.db.device</code>, but with a different name <code>status</code>.</p><p>It can be noticed that the sequence views in both of the above examples are aliased sequences, and we are giving the user a more convenient way of creating a sequence for that sequence:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.view.device.status
AS
root.db.device.s01
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_3-1-2-creating-views-with-computational-logic" tabindex="-1"><a class="header-anchor" href="#_3-1-2-creating-views-with-computational-logic"><span>3.1.2 Creating views with computational logic</span></a></h4><p>Following the example in section 2.2 Limitations 1:</p><blockquote><p>A user has installed two thermometers in the same boiler and now needs to calculate the average of the two temperature values as a measurement. The user has captured the following two sequences: <code>root.db.d01.temperature01</code>, <code>root.db.d01.temperature02</code>.</p><p>At this point, the user can use the two sequences averaged as one sequence in the view: <code>root.view.device01.avg_temperature</code>.</p></blockquote><p>If the view is not used, the user can query the average of the two temperatures like this:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>SELECT (temperature01 + temperature02) / 2
FROM root.db.d01
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p>And if using a sequence view, the user can create a view this way to simplify future queries:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.db.d01.avg_temperature
AS
SELECT (temperature01 + temperature02) / 2
FROM root.db.d01
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>The user can then query it like this:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>SELECT avg_temperature FROM root.db.d01
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h4 id="_3-1-3-nested-sequence-views-not-supported" tabindex="-1"><a class="header-anchor" href="#_3-1-3-nested-sequence-views-not-supported"><span>3.1.3 Nested sequence views not supported</span></a></h4><p>Continuing with the example from 3.1.2, the user now wants to create a new view using the sequence view <code>root.db.d01.avg_temperature</code>, which is not allowed. We currently do not support nested views, whether it is an aliased sequence or not.</p><p>For example, the following SQL statement will report an error:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.view.device.avg_temp_copy
AS
root.db.d01.avg_temperature -- Not supported. Nested views are not allowed
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_3-1-4-creating-multiple-sequence-views-at-once" tabindex="-1"><a class="header-anchor" href="#_3-1-4-creating-multiple-sequence-views-at-once"><span>3.1.4 Creating multiple sequence views at once</span></a></h4><p>If only one sequence view can be specified at a time which is not convenient for the user to use, then multiple sequences can be specified at a time, for example:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.db.device.status, root.db.device.sub.hardware
AS
SELECT s01, s02
FROM root.db.device
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>此外,上述写法可以做简化:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.db.device(status, sub.hardware)
AS
SELECT s01, s02
FROM root.db.device
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Both statements above are equivalent to the following typing:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.db.device.status
AS
SELECT s01
FROM root.db.device;
CREATE VIEW root.db.device.sub.hardware
AS
SELECT s02
FROM root.db.device
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>is also equivalent to the following:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.db.device.status, root.db.device.sub.hardware
AS
root.db.device.s01, root.db.device.s02
-- or
CREATE VIEW root.db.device(status, sub.hardware)
AS
root.db.device(s01, s02)
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="the-mapping-relationships-between-all-sequences-are-statically-stored" tabindex="-1"><a class="header-anchor" href="#the-mapping-relationships-between-all-sequences-are-statically-stored"><span>The mapping relationships between all sequences are statically stored</span></a></h5><p>Sometimes, the SELECT clause may contain a number of statements that can only be determined at runtime, such as below:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>SELECT s01, s02
FROM root.db.d01, root.db.d02
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div></div></div><p>The number of sequences that can be matched by the above statement is uncertain and is related to the state of the system. Even so, the user can use it to create views.</p><p>However, it is important to note that the mapping relationship between all sequences is stored statically (fixed at creation)! Consider the following example:</p><p>The current database contains only three sequences <code>root.db.d01.s01</code>, <code>root.db.d02.s01</code>, <code>root.db.d02.s02</code>, and then the view is created:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.view.d(alpha, beta, gamma)
AS
SELECT s01, s02
FROM root.db.d01, root.db.d02
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>The mapping relationship between time series is as follows:</p><table><thead><tr><th>sequence number</th><th>time series</th><th>sequence view</th></tr></thead><tbody><tr><td>1</td><td><code>root.db.d01.s01</code></td><td>root.view.d.alpha</td></tr><tr><td>2</td><td><code>root.db.d02.s01</code></td><td>root.view.d.beta</td></tr><tr><td>3</td><td><code>root.db.d02.s02</code></td><td>root.view.d.gamma</td></tr></tbody></table><p>After that, if the user adds the sequence <code>root.db.d01.s02</code>, it does not correspond to any view; then, if the user deletes <code>root.db.d01.s01</code>, the query for <code>root.view.d.alpha</code> will report an error directly, and it will not correspond to <code>root.db.d01.s02</code> either.</p><p>Please always note that inter-sequence mapping relationships are stored statically and solidly.</p><h4 id="_3-1-5-batch-creation-of-sequence-views" tabindex="-1"><a class="header-anchor" href="#_3-1-5-batch-creation-of-sequence-views"><span>3.1.5 Batch Creation of Sequence Views</span></a></h4><p>There are several existing devices, each with a temperature value, for example:</p><ol><li>root.db.d1.temperature</li><li>root.db.d2.temperature</li><li>...</li></ol><p>There may be many other sequences stored under these devices (e.g. <code>root.db.d1.speed</code>), but for now it is possible to create a view that contains only the temperature values for these devices, without relation to the other sequences:.</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.db.view(${2}_temperature)
AS
SELECT temperature FROM root.db.*
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>This is modelled on the query writeback (<code>SELECT INTO</code>) convention for naming rules, which uses variable placeholders to specify naming rules. See also: <a href="https://iotdb.apache.org/zh/UserGuide/Master/Query-Data/Select-Into.html" target="_blank" rel="noopener noreferrer">QUERY WRITEBACK (SELECT INTO)<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span></a></p><p>Here <code>root.db.*.temperature</code> specifies what time series will be included in the view; and <code>${2}</code> specifies from which node in the time series the name is extracted to name the sequence view.</p><p>Here, <code>${2}</code> refers to level 2 (starting at 0) of <code>root.db.*.temperature</code>, which is the result of the <code>*</code> match; and <code>${2}_temperature</code> is the result of the match and <code>temperature</code> spliced together with underscores to make up the node names of the sequences under the view.</p><p>The above statement for creating a view is equivalent to the following writeup:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.db.view(${2}_${3})
AS
SELECT temperature from root.db.*
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>The final view contains these sequences:</p><ol><li>root.db.view.d1_temperature</li><li>root.db.view.d2_temperature</li><li>...</li></ol><p>Created using wildcards, only static mapping relationships at the moment of creation will be stored.</p><h4 id="_3-1-6-select-clauses-are-somewhat-limited-when-creating-views" tabindex="-1"><a class="header-anchor" href="#_3-1-6-select-clauses-are-somewhat-limited-when-creating-views"><span>3.1.6 SELECT clauses are somewhat limited when creating views</span></a></h4><p>The SELECT clause used when creating a serial view is subject to certain restrictions. The main restrictions are as follows:</p><ol><li>the <code>WHERE</code> clause cannot be used.</li><li><code>GROUP BY</code> clause cannot be used. 3.</li><li><code>MAX_VALUE</code> and other aggregation functions cannot be used.</li></ol><p>Simply put, after <code>AS</code> you can only use <code>SELECT ... FROM ... </code> and the results of this query must form a time series.</p><h3 id="_3-2-view-data-queries" tabindex="-1"><a class="header-anchor" href="#_3-2-view-data-queries"><span>3.2 View Data Queries</span></a></h3><p>For the data query functions that can be supported, the sequence view and time series can be used indiscriminately with identical behaviour when performing time series data queries.</p><p><strong>The types of queries that are not currently supported by the sequence view are as follows:</strong></p><ol><li>**align by device query</li><li>**group by tags query</li></ol><p>Users can also mix time series and sequence view queries in the same SELECT statement, for example:</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>SELECT temperature01, temperature02, avg_temperature
FROM root.db.d01
WHERE temperature01 &lt; temperature02
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>However, if the user wants to query the metadata of the sequence, such as tag, attributes, etc., the query is the result of the sequence view, not the result of the time series referenced by the sequence view.</p><p>In addition, for aliased sequences, if the user wants to get information about the time series such as tags, attributes, etc., the user needs to query the mapping of the view columns to find the corresponding time series, and then query the time series for the tags, attributes, etc. The method of querying the mapping of the view columns will be explained in section 3.5.</p><h3 id="_3-3-modify-views" tabindex="-1"><a class="header-anchor" href="#_3-3-modify-views"><span>3.3 Modify Views</span></a></h3><p>Modifying a view, such as changing its name, modifying its calculation logic, deleting it, etc., is similar to creating a new view, in that you need to re-specify all the column descriptions for the entire view.</p><h4 id="_3-3-1-modify-view-data-source" tabindex="-1"><a class="header-anchor" href="#_3-3-1-modify-view-data-source"><span>3.3.1 Modify view data source</span></a></h4><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>ALTER VIEW root.view.device.status
AS
SELECT s01
FROM root.ln.wf.d01
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_3-3-2-modify-the-view-s-calculation-logic" tabindex="-1"><a class="header-anchor" href="#_3-3-2-modify-the-view-s-calculation-logic"><span>3.3.2 Modify the view&#39;s calculation logic</span></a></h4><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>ALTER VIEW root.db.d01.avg_temperature
AS
SELECT (temperature01 + temperature02 + temperature03) / 3
FROM root.db.d01
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_3-3-3-tag-point-management" tabindex="-1"><a class="header-anchor" href="#_3-3-3-tag-point-management"><span>3.3.3 Tag point management</span></a></h4><ul><li>Add a new<br> tag</li></ul><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>ALTER view root.turbine.d1.s1 ADD TAGS tag3=v3, tag4=v4
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Add a new attribute</li></ul><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>ALTER view root.turbine.d1.s1 ADD ATTRIBUTES attr3=v3, attr4=v4
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>rename tag or attribute</li></ul><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>ALTER view root.turbine.d1.s1 RENAME tag1 TO newTag1
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Reset the value of a tag or attribute</li></ul><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>ALTER view root.turbine.d1.s1 SET newTag1=newV1, attr1=newV1
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Delete an existing tag or attribute</li></ul><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>ALTER view root.turbine.d1.s1 DROP tag1, tag2
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><ul><li>Update insert aliases, tags and attributes</li></ul><blockquote><p>If the alias, tag or attribute did not exist before, insert it, otherwise, update the old value with the new one.</p></blockquote><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>ALTER view root.turbine.d1.s1 UPSERT TAGS(tag2=newV2, tag3=v3) ATTRIBUTES(attr3=v3, attr4=v4)
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h4 id="_3-3-4-deleting-views" tabindex="-1"><a class="header-anchor" href="#_3-3-4-deleting-views"><span>3.3.4 Deleting Views</span></a></h4><p>Since a view is a sequence, a view can be deleted as if it were a time series.</p><p>The original method of deleting a time series is expanded without a new <code>DELETE VIEW</code> statement.</p><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>DELETE VIEW root.view.device.avg_temperatue
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><h3 id="_3-4-view-synchronisation" tabindex="-1"><a class="header-anchor" href="#_3-4-view-synchronisation"><span>3.4 View Synchronisation</span></a></h3><p>Sequence view data is always obtained via real-time queries, so data synchronisation is naturally supported.</p><h4 id="if-the-dependent-original-sequence-is-deleted" tabindex="-1"><a class="header-anchor" href="#if-the-dependent-original-sequence-is-deleted"><span>If the dependent original sequence is deleted</span></a></h4><p>When the sequence view is queried (when the sequence is parsed), <strong>the empty result set</strong> is returned if the dependent time series does not exist.</p><p>This is similar to the feedback for querying a non-existent sequence, but with a difference: if the dependent time series cannot be parsed, the empty result set is the one that contains the table header as a reminder to the user that the view is problematic.</p><p>Additionally, when the dependent time series is deleted, no attempt is made to find out if there is a view that depends on the column, and the user receives no warning.</p><h4 id="data-writes-to-non-aliased-sequences-not-supported" tabindex="-1"><a class="header-anchor" href="#data-writes-to-non-aliased-sequences-not-supported"><span>Data Writes to Non-Aliased Sequences Not Supported</span></a></h4><p>Writes to non-alias sequences are not supported.</p><p>Please refer to the previous section 2.1.6 Restrictions2 for more details.</p><h4 id="metadata-for-sequences-is-not-shared" tabindex="-1"><a class="header-anchor" href="#metadata-for-sequences-is-not-shared"><span>Metadata for sequences is not shared</span></a></h4><p>Please refer to the previous section 2.1.6 Restriction 5 for details.</p><h3 id="_3-5-view-metadata-queries" tabindex="-1"><a class="header-anchor" href="#_3-5-view-metadata-queries"><span>3.5 View Metadata Queries</span></a></h3><p>View metadata query specifically refers to querying the metadata of the view itself (e.g., how many columns the view has), as well as information about the views in the database (e.g., what views are available).</p><h4 id="_3-5-1-viewing-current-view-columns" tabindex="-1"><a class="header-anchor" href="#_3-5-1-viewing-current-view-columns"><span>3.5.1 Viewing Current View Columns</span></a></h4><p>The user has two ways of querying:</p><ol><li>a query using <code>SHOW TIMESERIES</code>, which contains both time series and series views. This query contains both the time series and the sequence view. However, only some of the attributes of the view can be displayed.</li><li>a query using <code>SHOW VIEW</code>, which contains only the sequence view. It displays the complete properties of the sequence view.</li></ol><p>Example:</p><div class="language-Shell line-numbers-mode" data-ext="Shell" data-title="Shell"><pre class="language-Shell"><code>IoTDB&gt; show timeseries;
+--------------------+-----+--------+--------+--------+-----------+----+----------+--------+------------------+--------+
| Timeseries|Alias|Database|DataType|Encoding|Compression|Tags|Attributes|Deadband|DeadbandParameters|ViewType|
+--------------------+-----+--------+--------+--------+-----------+----+----------+--------+------------------+--------+
|root.db.device.s01 | null| root.db| INT32| RLE| SNAPPY|null| null| null| null| BASE|
+--------------------+-----+--------+--------+--------+-----------+----+----------+--------+------------------+--------+
|root.db.view.status | null| root.db| INT32| RLE| SNAPPY|null| null| null| null| VIEW|
+--------------------+-----+--------+--------+--------+-----------+----+----------+--------+------------------+--------+
|root.db.d01.temp01 | null| root.db| FLOAT| RLE| SNAPPY|null| null| null| null| BASE|
+--------------------+-----+--------+--------+--------+-----------+----+----------+--------+------------------+--------+
|root.db.d01.temp02 | null| root.db| FLOAT| RLE| SNAPPY|null| null| null| null| BASE|
+--------------------+-----+--------+--------+--------+-----------+----+----------+--------+------------------+--------+
|root.db.d01.avg_temp| null| root.db| FLOAT| null| null|null| null| null| null| VIEW|
+--------------------+-----+--------+--------+--------+-----------+----+----------+--------+------------------+--------+
Total line number = 5
It costs 0.789s
IoTDB&gt;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>The last column <code>ViewType</code> shows the type of the sequence, the time series is BASE and the sequence view is VIEW.</p><p>In addition, some of the sequence view properties will be missing, for example <code>root.db.d01.avg_temp</code> is calculated from temperature averages, so the <code>Encoding</code> and <code>Compression</code> properties are null values.</p><p>In addition, the query results of the <code>SHOW TIMESERIES</code> statement are divided into two main parts.</p><ol><li>information about the timing data, such as data type, compression, encoding, etc.</li><li>other metadata information, such as tag, attribute, database, etc.</li></ol><p>For the sequence view, the temporal data information presented is the same as the original sequence or null (e.g., the calculated average temperature has a data type but no compression method); the metadata information presented is the content of the view.</p><p>To learn more about the view, use <code>SHOW ``VIEW</code>. The <code>SHOW ``VIEW</code> shows the source of the view&#39;s data, etc.</p><div class="language-Shell line-numbers-mode" data-ext="Shell" data-title="Shell"><pre class="language-Shell"><code>IoTDB&gt; show VIEW root.**;
+--------------------+--------+--------+----+----------+--------+-----------------------------------------+
| Timeseries|Database|DataType|Tags|Attributes|ViewType| SOURCE|
+--------------------+--------+--------+----+----------+--------+-----------------------------------------+
|root.db.view.status | root.db| INT32|null| null| VIEW| root.db.device.s01|
+--------------------+--------+--------+----+----------+--------+-----------------------------------------+
|root.db.d01.avg_temp| root.db| FLOAT|null| null| VIEW|(root.db.d01.temp01+root.db.d01.temp02)/2|
+--------------------+--------+--------+----+----------+--------+-----------------------------------------+
Total line number = 2
It costs 0.789s
IoTDB&gt;
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>The last column, <code>SOURCE</code>, shows the data source for the sequence view, listing the SQL statement that created the sequence.</p><h5 id="about-data-types" tabindex="-1"><a class="header-anchor" href="#about-data-types"><span>About Data Types</span></a></h5><p>Both of the above queries involve the data type of the view. The data type of a view is inferred from the original time series type of the query statement or alias sequence that defines the view. This data type is computed in real time based on the current state of the system, so the data type queried at different moments may be changing.</p><h2 id="iv-faq" tabindex="-1"><a class="header-anchor" href="#iv-faq"><span>IV. FAQ</span></a></h2><p>####Q1: I want the view to implement the function of type conversion. For example, a time series of type int32 was originally placed in the same view as other series of type int64. I now want all the data queried through the view to be automatically converted to int64 type.</p><blockquote><p>Ans: This is not the function of the sequence view. But the conversion can be done using <code>CAST</code>, for example:</p></blockquote><div class="language-SQL line-numbers-mode" data-ext="SQL" data-title="SQL"><pre class="language-SQL"><code>CREATE VIEW root.db.device.int64_status
AS
SELECT CAST(s1, &#39;type&#39;=&#39;INT64&#39;) from root.db.device
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>This way, a query for <code>root.view.status</code> will yield a result of type int64.</p><p>Please note in particular that in the above example, the data for the sequence view is obtained by <code>CAST</code> conversion, so <code>root.db.device.int64_status</code> is not an aliased sequence, and thus <strong>not supported for writing</strong>.</p></blockquote><p>####Q2: Is default naming supported? Select a number of time series and create a view; but I don&#39;t specify the name of each series, it is named automatically by the database?</p><blockquote><p>Ans: Not supported. Users must specify the naming explicitly.</p></blockquote><h4 id="q3-in-the-original-system-create-time-series-root-db-device-s01-you-can-find-that-database-root-db-is-automatically-created-and-device-root-db-device-is-automatically-created-next-deleting-the-time-series-root-db-device-s01-reveals-that-root-db-device-was-automatically-deleted-while-root-db-remained-will-this-mechanism-be-followed-for-creating-views-what-are-the-considerations" tabindex="-1"><a class="header-anchor" href="#q3-in-the-original-system-create-time-series-root-db-device-s01-you-can-find-that-database-root-db-is-automatically-created-and-device-root-db-device-is-automatically-created-next-deleting-the-time-series-root-db-device-s01-reveals-that-root-db-device-was-automatically-deleted-while-root-db-remained-will-this-mechanism-be-followed-for-creating-views-what-are-the-considerations"><span>Q3: In the original system, create time series <code>root.db.device.s01</code>, you can find that database <code>root.db</code> is automatically created and device <code>root.db.device</code> is automatically created. Next, deleting the time series <code>root.db.device.s01</code> reveals that <code>root.db.device</code> was automatically deleted, while <code>root.db</code> remained. Will this mechanism be followed for creating views? What are the considerations?</span></a></h4><blockquote><p>Ans: Keep the original behaviour unchanged, the introduction of view functionality will not change these original logics.</p></blockquote><h4 id="q4-does-it-support-sequence-view-renaming" tabindex="-1"><a class="header-anchor" href="#q4-does-it-support-sequence-view-renaming"><span>Q4: Does it support sequence view renaming?</span></a></h4><blockquote><p>A: Renaming is not supported in the current version, you can create your own view with new name to put it into use.</p></blockquote></div><!--[--><!----><!--]--><footer class="vp-page-meta"><div class="vp-meta-item edit-link"><a href="https://github.com/apache/iotdb-docs/edit/main/src/UserGuide/latest/User-Manual/IoTDB-View_timecho.md" rel="noopener noreferrer" target="_blank" aria-label="Found Error? Edit this page on GitHub" class="nav-link vp-meta-label"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon"><path d="M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"></path><path d="M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"></path></svg><!--]-->Found Error? Edit this page on GitHub<span><svg class="external-link-icon" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path><polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg><span class="external-link-icon-sr-only">open in new window</span></span><!----></a></div><div class="vp-meta-item git-info"><div class="update-time"><span class="vp-meta-label">Last update: </span><!----></div><!----></div></footer><!----><!----><!--[--><!----><!--]--><!--]--></main><!--]--><footer style="padding-bottom:2rem;"><span id="doc-version" style="display:none;">latest</span><p style="text-align:center;color:#909399;font-size:12px;margin:0 30px;">Copyright © 2024 The Apache Software Foundation.<br> Apache and the Apache feather logo are trademarks of The Apache Software Foundation</p><p style="text-align:center;margin-top:10px;color:#909399;font-size:12px;margin:0 30px;"><strong>Have a question?</strong> Connect with us on QQ, WeChat, or Slack. <a href="https://github.com/apache/iotdb/issues/1995">Join the community</a> now.</p></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div>
<script type="module" src="/assets/app-DrPcRZG6.js" defer></script>
</body>
</html>