(window.webpackJsonp=window.webpackJsonp||[]).push([[43],{611:function(e,t,s){"use strict";s.r(t);var r=s(69),o=Object(r.a)({},(function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("ContentSlotsDistributor",{attrs:{"slot-key":e.$parent.slotKey}},[s("h1",{attrs:{id:"query-result-set-construction"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#query-result-set-construction"}},[e._v("#")]),e._v(" Query Result Set Construction")]),e._v(" "),s("h2",{attrs:{id:"introduction"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#introduction"}},[e._v("#")]),e._v(" Introduction")]),e._v(" "),s("p",[e._v("This text mainly introduces the construction principle of query result set, including three parts: header construction, generating non repeated result set and restoring complete result set.")]),e._v(" "),s("h2",{attrs:{id:"header-construction"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#header-construction"}},[e._v("#")]),e._v(" Header construction")]),e._v(" "),s("p",[e._v("Next Introduce the first part: including the result set header construction way of RawDataQuery, AlignByDeviceQuery and LastQuery. e.g. DownsamplingQuery and FillQuery etc. will be introduced as subquery in these three queries.")]),e._v(" "),s("h3",{attrs:{id:"raw-data-query"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#raw-data-query"}},[e._v("#")]),e._v(" Raw data query")]),e._v(" "),s("p",[e._v("The result set table header construction logic for the raw data query is mainly in the "),s("code",[e._v("getWideQueryHeaders()")]),e._v(" method.")]),e._v(" "),s("ul",[s("li",[e._v("org.apache.iotdb.db.service.TSServiceImpl.getWideQueryHeaders")])]),e._v(" "),s("p",[e._v("For the construction of each header, you need to provide the column name and the corresponding data type of the column.")]),e._v(" "),s("ul",[s("li",[s("p",[e._v("Ordinary raw data query (including FillQuery) only needs to obtain timeseries paths "),s("strong",[e._v("not de duplicated")]),e._v(" from the physical query plan, which are the column names, and use these paths to obtain the corresponding data type to generate the result set header.")])]),e._v(" "),s("li",[s("p",[e._v("If the raw data query contains aggregate functions (including AggregateQuery and DownsamplingQuery), the time column will be ignored and "),s("strong",[e._v("aggregate function and timeseries path will be combined to form the column name")]),e._v(", and when obtaining the data type, the type of aggregate function will prevail. For example, "),s("code",[e._v("root.sg.d1.s1")]),e._v(" is of FLOAT type, while "),s("code",[e._v("count(root.sg.d1.s1)")]),e._v(" shoule be of LONG type.")])])]),e._v(" "),s("p",[e._v("Next, we will give examples：")]),e._v(" "),s("p",[e._v("Assuming that all timeseries in the query below exist, the result set headers generated by the following two queries are respectively:")]),e._v(" "),s("p",[e._v("SQL1："),s("code",[e._v("SELECT s1, s2 FROM root.sg.d1;")]),e._v("  ->")]),e._v(" "),s("table",[s("thead",[s("tr",[s("th",[e._v("Time")]),e._v(" "),s("th",[e._v("root.sg.d1.s1")]),e._v(" "),s("th",[e._v("root.sg.d1.s2")])])]),e._v(" "),s("tbody",[s("tr",[s("td"),e._v(" "),s("td"),e._v(" "),s("td")])])]),e._v(" "),s("p",[e._v("SQL2："),s("code",[e._v("SELECT count(s1), max_time(s1) FROM root.sg.d1;")]),e._v(" ->")]),e._v(" "),s("table",[s("thead",[s("tr",[s("th",[e._v("count(root.sg.d1.s1)")]),e._v(" "),s("th",[e._v("max_time(root.sg.d1.s2)")])])]),e._v(" "),s("tbody",[s("tr",[s("td"),e._v(" "),s("td")])])]),e._v(" "),s("h3",{attrs:{id:"align-by-device-query"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#align-by-device-query"}},[e._v("#")]),e._v(" Align by device query")]),e._v(" "),s("p",[e._v("The result set table header construction logic for the Align by device query is mainly in the "),s("code",[e._v("getAlignByDeviceQueryHeaders()")]),e._v(" method.")]),e._v(" "),s("ul",[s("li",[e._v("org.apache.iotdb.db.service.TSServiceImpl.getAlignByDeviceQueryHeaders")])]),e._v(" "),s("p",[e._v("The result set construction of the AlignByDeviceQuery depends on the list of "),s("strong",[e._v("measurements not deduplicated")]),e._v(" generated in the physical query plan. For a brief introduction, the measurements list is a list generated by the suffix path (including wildcards) in the SELECT clause, including three types, namely constant, exist and nonexist. For details, please refer to "),s("RouterLink",{attrs:{to:"/SystemDesign/DataQuery/AlignByDeviceQuery.html"}},[e._v("Align by device query")])],1),e._v(" "),s("p",[e._v("Since the structure of relation table is used for AlignByDeviceQuery, the device column is added to the header first, and its corresponding data type is text type.")]),e._v(" "),s("p",[e._v("Then get the list of measurements, take each measurement as the column name, and get the corresponding data type depending on the measurements' type. If it is a Constant or NonExist type, the data type is directly set as Text type. If it's an Exist type, then get the corresponding type from the "),s("code",[e._v("measurementdatatypemap")]),e._v(", which is stored in the physical query plan.")]),e._v(" "),s("p",[e._v("Note that in the case of an AggregationQuery, the measuremnts in the list here will contain aggregate functions, so they can be processed together.")]),e._v(" "),s("p",[e._v("Next, we will give an example：")]),e._v(" "),s("p",[e._v("Assuming there are two timeseries now: "),s("code",[e._v("root.sg.d1.s1")]),e._v(", "),s("code",[e._v("root.sg.d1.s2")]),e._v("， then the result set header generated by the query below is:")]),e._v(" "),s("p",[e._v("SQL："),s("code",[e._v("SELECT '111', s1, s2, *, s5 FROM root.sg.d1 ALIGN BY DEVICE;")])]),e._v(" "),s("p",[e._v("-> measurements list: ['111', s1, s2, s1, s2, s5]")]),e._v(" "),s("p",[e._v("-> header")]),e._v(" "),s("table",[s("thead",[s("tr",[s("th",[e._v("Time")]),e._v(" "),s("th",[e._v("Device")]),e._v(" "),s("th",[e._v("111")]),e._v(" "),s("th",[e._v("s1")]),e._v(" "),s("th",[e._v("s2")]),e._v(" "),s("th",[e._v("s1")]),e._v(" "),s("th",[e._v("s2")]),e._v(" "),s("th",[e._v("s5")])])]),e._v(" "),s("tbody",[s("tr",[s("td"),e._v(" "),s("td"),e._v(" "),s("td"),e._v(" "),s("td"),e._v(" "),s("td"),e._v(" "),s("td"),e._v(" "),s("td"),e._v(" "),s("td")])])]),e._v(" "),s("h3",{attrs:{id:"latest-data-query"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#latest-data-query"}},[e._v("#")]),e._v(" Latest data query")]),e._v(" "),s("p",[e._v("The result set table header construction logic for the Latest data query is mainly in the static method "),s("code",[e._v("LAST_RESP")]),e._v(".")]),e._v(" "),s("ul",[s("li",[e._v("org.apache.iotdb.db.service.StaticResps.LAST_RESP")])]),e._v(" "),s("p",[e._v("The latest data query calculates the result with the largest timestamp of the timeseries to be queried and displays it in three columns: time, timeseries and the corresponding value.")]),e._v(" "),s("p",[e._v("Next, we will give an example：")]),e._v(" "),s("p",[e._v("Assuming there are two timeseries now: "),s("code",[e._v("root.sg.d1.s1")]),e._v(", "),s("code",[e._v("root.sg.d1.s2")]),e._v("， then the result set header generated by the query below is:")]),e._v(" "),s("p",[e._v("SQL："),s("code",[e._v("SELECT last s1, s2 FROM root.sg.d1;")])]),e._v(" "),s("table",[s("thead",[s("tr",[s("th",[e._v("Time")]),e._v(" "),s("th",[e._v("timeseries")]),e._v(" "),s("th",[e._v("value")])])]),e._v(" "),s("tbody",[s("tr",[s("td",[e._v("...")]),e._v(" "),s("td",[e._v("root.sg.d1.s1")]),e._v(" "),s("td",[e._v("...")])]),e._v(" "),s("tr",[s("td",[e._v("...")]),e._v(" "),s("td",[e._v("root.sg.d1.s2")]),e._v(" "),s("td",[e._v("...")])])])]),e._v(" "),s("h2",{attrs:{id:"generate-non-repeated-result-set"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#generate-non-repeated-result-set"}},[e._v("#")]),e._v(" Generate non repeated result set")]),e._v(" "),s("p",[e._v("Unlike the header construction, we do not need to query duplicate data when executing the physical query plan. For example, for the query "),s("code",[e._v("select s1, s1 from root.sg.d1")]),e._v(", we only need to query the value of the timeseries "),s("code",[e._v("root.sg.d1.s1")]),e._v(" once. Therefore, after the header is constructed, we need to generate a non repeated result set on the server side.")]),e._v(" "),s("p",[e._v("In addition to AlignByDeviceQuery, the deduplication logic of "),s("strong",[e._v("RawDataQuery, AggregateQuery, LastQuery")]),e._v(" etc. is in the "),s("code",[e._v("duplicate()")]),e._v(" method.")]),e._v(" "),s("ul",[s("li",[e._v("org.apache.iotdb.db.qp.strategy.PhysicalGenerator.deduplicate()")])]),e._v(" "),s("p",[e._v("The deduplication logic is relatively simple: first, get the path not deduplicated from the query plan, and then create a "),s("code",[e._v("Set")]),e._v(" structure to deduplicate during traversal.")]),e._v(" "),s("p",[e._v("It is worth noting that the timeseries paths of the query are sorted by device before the RawDataQuery and AggregateQuery are deduplicated, in order to reduce I/O and deserialization operations and speed up the query.\nHere an additional data structure "),s("code",[e._v("pathToIndex")]),e._v(" is calculated to record the position of each path in the query.")]),e._v(" "),s("p",[e._v("Because only one set of data needs to be calculated for the LastQuery, there is no need to sort the paths. Its "),s("code",[e._v("pathToIndex")]),e._v(" will be null.")]),e._v(" "),s("p",[e._v("The deduplication logic of "),s("strong",[e._v("AlignByDeviceQuery")]),e._v(" is in the  "),s("code",[e._v("hasNextWithoutConstraint()")]),e._v(" method of its result set.")]),e._v(" "),s("ul",[s("li",[e._v("org.apache.iotdb.db.query.dataset.AlignByDeviceDataSet.hasNextWithoutConstraint()")])]),e._v(" "),s("p",[e._v("Because AlignByDeviceQuery need to organize their query plans by device, each device query may not have the same path, and it is allowed to contain constant columns and nonexistent timeseries, so it cannot simply be deduplicated with other queries. Deduplication requires "),s("strong",[e._v("removing not only the repeated timeseries path, but also the constant columns appearing in the query and the timeseries that do not exist in the current device")]),e._v(".\nThe implementation logic can be referred to "),s("RouterLink",{attrs:{to:"/SystemDesign/DataQuery/AlignByDeviceQuery.html"}},[e._v("Align by device query")]),e._v(".")],1),e._v(" "),s("p",[e._v("After the deduplication paths in the query plan are completed, the query executor of IoTDB can be called to execute the query and obtain the deduplication result set.")]),e._v(" "),s("h2",{attrs:{id:"restore-the-complete-result-set"}},[s("a",{staticClass:"header-anchor",attrs:{href:"#restore-the-complete-result-set"}},[e._v("#")]),e._v(" Restore the complete result set")]),e._v(" "),s("p",[e._v("The construction of headers and the generation of non-repeating result set above are done on the server side and then returned to the client side. After the client restores the non-repeating result set based on the original header, the complete result set is presented to the user. To distinguish two result sets, they are called "),s("strong",[e._v("query result set")]),e._v(" and "),s("strong",[e._v("final result set")]),e._v(" respectively.")]),e._v(" "),s("p",[e._v("To explain simply, an example is given first：")]),e._v(" "),s("p",[e._v("SQL: "),s("code",[e._v("SELECT s2, s1, s2 FROM root.sg.d1;")])]),e._v(" "),s("p",[e._v("The list of column names "),s("code",[e._v("columnNameList")]),e._v(" in the header which has been calculated using the steps above is (Timestamp will be contained later if need be)：")]),e._v(" "),s("p",[s("code",[e._v("[root.sg.d1.s2, root.sg.d1.s1, root.sg.d1.s2].")])]),e._v(" "),s("p",[e._v("The position of the timeseries path in the query "),s("code",[e._v("pathToIndex")]),e._v(" is(sorted by device)：")]),e._v(" "),s("p",[s("code",[e._v("root.sg.d1.s1 -> 0, root.sg.d1.s2 -> 1;")])]),e._v(" "),s("p",[e._v("Then query result set is：")]),e._v(" "),s("table",[s("thead",[s("tr",[s("th",[e._v("Time")]),e._v(" "),s("th",[e._v("root.sg.d1.s1")]),e._v(" "),s("th",[e._v("root.sg.d1.s2")])])]),e._v(" "),s("tbody",[s("tr",[s("td"),e._v(" "),s("td"),e._v(" "),s("td")])])]),e._v(" "),s("p",[e._v("To restore the final result set, we need to construct a mapping set "),s("code",[e._v("columnOrdinalMap")]),e._v(" with the column name to its position in the query result set, which is aimed at fetching the corresponding result of a column from the query result set. This part of logic is completed in the constructor of the new result set "),s("code",[e._v("IoTDBQueryResultSet")]),e._v(".")]),e._v(" "),s("ul",[s("li",[e._v("org.apache.iotdb.jdbc.AbstractIoTDBResultSet.AbstractIoTDBResultSet()")])]),e._v(" "),s("p",[e._v("In order to construct metadata information in final result set, a complete list of column names needs to be constructed. The "),s("code",[e._v("columnnamelist")]),e._v(" given above does not contain a timestamp. Therefore, it's necessary to determine whether a timestamp needs to be printed. If so, add the "),s("code",[e._v("Time")]),e._v(" column to the header to form a complete header.")]),e._v(" "),s("p",[e._v("The complete header in example is：")]),e._v(" "),s("table",[s("thead",[s("tr",[s("th",[e._v("Time")]),e._v(" "),s("th",[e._v("root.sg.d1.s2")]),e._v(" "),s("th",[e._v("root.sg.d1.s1")]),e._v(" "),s("th",[e._v("root.sg.d1.s2")])])]),e._v(" "),s("tbody",[s("tr",[s("td"),e._v(" "),s("td"),e._v(" "),s("td"),e._v(" "),s("td")])])]),e._v(" "),s("p",[e._v("Then let's calculate "),s("code",[e._v("columnordinalmap")]),e._v(", judge whether to print a timestamp first. If so, record the timestamp as the first column.")]),e._v(" "),s("p",[e._v("Then traverse the column name list in the header and then check whether "),s("code",[e._v("columnnameindex")]),e._v(" is initialized. This field comes from "),s("code",[e._v("pathtoindex")]),e._v(" calculated during deduplication, which records the location of each timeseries path in the query. If it is initialized, record the position + 2 as its position in the result set. If not, record the positions in traversal order, which is consistent with the query order in server side.")]),e._v(" "),s("p",[e._v("The "),s("code",[e._v("columnOrdinalMap")]),e._v(" in example is：")]),e._v(" "),s("p",[s("code",[e._v("Time -> 1, root.sg.d1.s2 -> 3, root.sg.d1.s1 -> 2")])]),e._v(" "),s("p",[e._v("Next, traverse the column names in the header, and then fill in the complete result set according to the mapping set. Its logic is in the "),s("code",[e._v("cacheResult()")]),e._v(" method.")]),e._v(" "),s("ul",[s("li",[e._v("org.apache.iotdb.cli.AbstractCli.cacheResult()")])]),e._v(" "),s("p",[e._v("For example, the second column in the final result set is "),s("code",[e._v("root.sg.d1.s2")]),e._v(", therefore the result of the third column will be taken as its value from the result set. Repeat the process to fill the results of each row until there is no next result in the query result set or the maximum number of output rows is reached.")])])}),[],!1,null,null,null);t.default=o.exports}}]);