diff --git a/Jenkinsfile2 b/Jenkinsfile2 index 916437b9140ef5c0329f44b2f8742e74f1770a65..0177c57538ba782b1d8b1105affb0679b662110b 100644 --- a/Jenkinsfile2 +++ b/Jenkinsfile2 @@ -40,7 +40,7 @@ def check_docs() { sh ''' cd ${WKC} git reset --hard - git clean -fxd + git clean -f rm -rf examples/rust/ git remote prune origin git fetch @@ -86,7 +86,7 @@ def pre_test(){ git fetch cd ${WKC} git reset --hard - git clean -fxd + git clean -f rm -rf examples/rust/ git remote prune origin git fetch @@ -201,7 +201,7 @@ def pre_test_win(){ ''' bat ''' cd %WIN_COMMUNITY_ROOT% - git clean -fxd + git clean -f git reset --hard git remote prune origin git fetch diff --git a/README.md b/README.md index 3b7e978a17acf51f4d204720eb45e14c56c77cfa..5d4bb309a439ec69fb8e8bc698b57782431050a9 100644 --- a/README.md +++ b/README.md @@ -365,6 +365,6 @@ Please follow the [contribution guidelines](CONTRIBUTING.md) to contribute to th For more information about TDengine, you can follow us on social media and join our Discord server: - [Discord](https://discord.com/invite/VZdSuUg4pS) -- [Twitter](https://twitter.com/TaosData) +- [Twitter](https://twitter.com/TDengineDB) - [LinkedIn](https://www.linkedin.com/company/tdengine/) -- [YouTube](https://www.youtube.com/channel/UCmp-1U6GS_3V3hjir6Uq5DQ) +- [YouTube](https://www.youtube.com/@tdengine) diff --git a/docs/doxgen/vnode_write.md b/docs/doxgen/vnode_write.md index 7b8dbd6535587d9fdf204d92fa63c6298038df8a..0f1150a33113e26bbd60ef5462eb603074710c0f 100644 --- a/docs/doxgen/vnode_write.md +++ b/docs/doxgen/vnode_write.md @@ -204,7 +204,7 @@ group vnodeProcessReqs() s -> s: note right save the requests in log store - and wait for comfirmation or + and wait for confirmation or other cases end note @@ -236,7 +236,7 @@ s -> s: syncAppendReqToLogStore() s -> v: walWrite() alt has meta req - <- s: comfirmation + <- s: confirmation else s -> v: vnodeApplyReqs() end diff --git a/docs/en/02-intro/index.md b/docs/en/02-intro/index.md index 95dd4324f145800c139272381d2a07a40a2b5ce9..79d170eeb9abd42f13a5625fc807c11d03a7c598 100644 --- a/docs/en/02-intro/index.md +++ b/docs/en/02-intro/index.md @@ -123,11 +123,11 @@ As a high-performance, scalable and SQL supported time-series database, TDengine ## Comparison with other databases -- [Writing Performance Comparison of TDengine and InfluxDB ](https://tdengine.com/2022/02/23/4975.html) -- [Query Performance Comparison of TDengine and InfluxDB](https://tdengine.com/2022/02/24/5120.html) -- [TDengine vs OpenTSDB](https://tdengine.com/2019/09/12/710.html) -- [TDengine vs Cassandra](https://tdengine.com/2019/09/12/708.html) -- [TDengine vs InfluxDB](https://tdengine.com/2019/09/12/706.html) +- [Writing Performance Comparison of TDengine and InfluxDB ](https://tdengine.com/performance-comparison-of-tdengine-and-influxdb/) +- [Query Performance Comparison of TDengine and InfluxDB](https://tdengine.com/query-performance-comparison-test-report-tdengine-vs-influxdb/) +- [TDengine vs OpenTSDB](https://tdengine.com/performance-tdengine-vs-opentsdb/) +- [TDengine vs Cassandra](https://tdengine.com/performance-tdengine-vs-cassandra/) +- [TDengine vs InfluxDB](https://tdengine.com/performance-tdengine-vs-influxdb/) ## More readings - [Introduction to Time-Series Database](https://tdengine.com/tsdb/) diff --git a/docs/en/07-develop/03-insert-data/60-high-volume.md b/docs/en/07-develop/03-insert-data/60-high-volume.md index d5afa8ef6ec120fa73854f5ca170504d7dd69b39..d6a00481383035c0babc6fab94e8359b4806ff72 100644 --- a/docs/en/07-develop/03-insert-data/60-high-volume.md +++ b/docs/en/07-develop/03-insert-data/60-high-volume.md @@ -28,7 +28,7 @@ From the perspective of application program, you need to consider: - Writing to known existing tables is more efficient than writing to uncertain tables in automatic creating mode because the later needs to check whether the table exists or not before actually writing data into it. - Writing in SQL is more efficient than writing in schemaless mode because schemaless writing creates table automatically and may alter table schema. -Application programs need to take care of the above factors and try to take advantage of them. The application progam should write to single table in each write batch. The batch size needs to be tuned to a proper value on a specific system. The number of concurrent connections needs to be tuned to a proper value too to achieve the best writing throughput. +Application programs need to take care of the above factors and try to take advantage of them. The application program should write to single table in each write batch. The batch size needs to be tuned to a proper value on a specific system. The number of concurrent connections needs to be tuned to a proper value too to achieve the best writing throughput. ### Data Source diff --git a/docs/en/07-develop/09-udf.md b/docs/en/07-develop/09-udf.md index 553a7b932b013a1f4d2b5e4e291f71c28b64039f..dc42743b51778593e40993e8da1dd1e6c3c8a122 100644 --- a/docs/en/07-develop/09-udf.md +++ b/docs/en/07-develop/09-udf.md @@ -65,11 +65,11 @@ int32_t aggfn_init() { } // aggregate start function. The intermediate value or the state(@interBuf) is initialized in this function. The function name shall be concatenation of udf name and _start suffix -// @param interbuf intermediate value to intialize +// @param interbuf intermediate value to initialize // @return error number defined in taoserror.h int32_t aggfn_start(SUdfInterBuf* interBuf) { // initialize intermediate value in interBuf - return TSDB_CODE_SUCESS; + return TSDB_CODE_SUCCESS; } // aggregate reduce function. This function aggregate old state(@interbuf) and one data bock(inputBlock) and output a new state(@newInterBuf). diff --git a/docs/en/12-taos-sql/04-stable.md b/docs/en/12-taos-sql/04-stable.md index 5b316d0d2460b497655e7f29acb897301b5b4769..37257286372b403721032e48d56cc1f1c3559538 100644 --- a/docs/en/12-taos-sql/04-stable.md +++ b/docs/en/12-taos-sql/04-stable.md @@ -34,7 +34,7 @@ column_definition: SHOW STABLES [LIKE tb_name_wildcard]; ``` -The preceding SQL statement shows all supertables in the current TDengine database, including the name, creation time, number of columns, number of tags, and number of subtabels for each supertable. +The preceding SQL statement shows all supertables in the current TDengine database, including the name, creation time, number of columns, number of tags, and number of subtables for each supertable. ### View the CREATE Statement for a Supertable diff --git a/docs/en/12-taos-sql/06-select.md b/docs/en/12-taos-sql/06-select.md index 3099e3a541861ad236135a5bef1255db7d4394b9..75462c3d96c7f5e7368a80a2d21441449cf67fc5 100644 --- a/docs/en/12-taos-sql/06-select.md +++ b/docs/en/12-taos-sql/06-select.md @@ -248,7 +248,7 @@ You can also use the NULLS keyword to specify the position of null values. Ascen The LIMIT keyword controls the number of results that are displayed. You can also use the OFFSET keyword to specify the result to display first. `LIMIT` and `OFFSET` are executed after `ORDER BY` in the query execution. You can include an offset in a LIMIT clause. For example, LIMIT 5 OFFSET 2 can also be written LIMIT 2, 5. Both of these clauses display the third through the seventh results. -In a statement that includes a PARTITON BY clause, the LIMIT keyword is performed on each partition, not on the entire set of results. +In a statement that includes a PARTITION BY clause, the LIMIT keyword is performed on each partition, not on the entire set of results. ## SLIMIT diff --git a/docs/en/12-taos-sql/10-function.md b/docs/en/12-taos-sql/10-function.md index b32d2af5bb0787c748dc84a922700c2db43c1d00..8dfa9c2851c16ac16d43559555e492991b44dd15 100644 --- a/docs/en/12-taos-sql/10-function.md +++ b/docs/en/12-taos-sql/10-function.md @@ -666,13 +666,13 @@ If you input a specific column, the number of non-null values in the column is r ELAPSED(ts_primary_key [, time_unit]) ``` -**Description**:`elapsed` function can be used to calculate the continuous time length in which there is valid data. If it's used with `INTERVAL` clause, the returned result is the calcualted time length within each time window. If it's used without `INTERVAL` caluse, the returned result is the calculated time length within the specified time range. Please be noted that the return value of `elapsed` is the number of `time_unit` in the calculated time length. +**Description**:`elapsed` function can be used to calculate the continuous time length in which there is valid data. If it's used with `INTERVAL` clause, the returned result is the calculated time length within each time window. If it's used without `INTERVAL` caluse, the returned result is the calculated time length within the specified time range. Please be noted that the return value of `elapsed` is the number of `time_unit` in the calculated time length. **Return value type**: Double if the input value is not NULL; **Return value type**: TIMESTAMP -**Applicable tables**: table, STable, outter in nested query +**Applicable tables**: table, STable, outer in nested query **Explanations**: - `ts_primary_key` parameter can only be the first column of a table, i.e. timestamp primary key. @@ -754,7 +754,7 @@ HYPERLOGLOG(expr) **Description**: The cardinal number of a specific column is returned by using hyperloglog algorithm. The benefit of using hyperloglog algorithm is that the memory usage is under control when the data volume is huge. - However, when the data volume is very small, the result may be not accurate, it's recommented to use `select count(data) from (select unique(col) as data from table)` in this case. + However, when the data volume is very small, the result may be not accurate, it's recommended to use `select count(data) from (select unique(col) as data from table)` in this case. **Return value type**: Integer @@ -801,7 +801,7 @@ PERCENTILE(expr, p [, p1] ...) **Description**: The value whose rank in a specific column matches the specified percentage. If such a value matching the specified percentage doesn't exist in the column, an interpolation value will be returned. -**Return value type**: This function takes 2 minumum and 11 maximum parameters, and it can simultaneously return 10 percentiles at most. If 2 parameters are given, a single percentile is returned and the value type is DOUBLE. +**Return value type**: This function takes 2 minimum and 11 maximum parameters, and it can simultaneously return 10 percentiles at most. If 2 parameters are given, a single percentile is returned and the value type is DOUBLE. If more than 2 parameters are given, the return value type is a VARCHAR string, the format of which is a JSON ARRAY containing all return values. **Applicable column types**: Numeric @@ -811,7 +811,7 @@ PERCENTILE(expr, p [, p1] ...) **More explanations**: - _p_ is in range [0,100], when _p_ is 0, the result is same as using function MIN; when _p_ is 100, the result is same as function MAX. -- When calculating multiple percentiles of a specific column, a single PERCENTILE function with multiple parameters is adviced, as this can largely reduce the query response time. +- When calculating multiple percentiles of a specific column, a single PERCENTILE function with multiple parameters is advised, as this can largely reduce the query response time. For example, using SELECT percentile(col, 90, 95, 99) FROM table will perform better than SELECT percentile(col, 90), percentile(col, 95), percentile(col, 99) from table. ## Selection Functions @@ -884,6 +884,15 @@ INTERP(expr) - Pseudocolumn `_irowts` can be used along with `INTERP` to return the timestamps associated with interpolation points(support after version 3.0.2.0). - Pseudocolumn `_isfilled` can be used along with `INTERP` to indicate whether the results are original records or data points generated by interpolation algorithm(support after version 3.0.3.0). +**Example** + +- We use the smart meters example used in this documentation to illustrate how to use the INTERP function. +- We want to downsample every 1 hour and use a linear fill for missing values. Note the order in which the "partition by" clause and the "range", "every" and "fill" parameters are used. + +```sql +SELECT _irowts,INTERP(current) FROM test.meters PARTITION BY TBNAME RANGE('2017-07-22 00:00:00','2017-07-24 12:25:00') EVERY(1h) FILL(LINEAR) +``` + ### LAST ```sql diff --git a/docs/en/12-taos-sql/12-distinguished.md b/docs/en/12-taos-sql/12-distinguished.md index 536fd8ffc3968996b8e31b5a2864fd730a7624a7..5afa81daac6a19b7306207ec0e441e6d086e50d5 100644 --- a/docs/en/12-taos-sql/12-distinguished.md +++ b/docs/en/12-taos-sql/12-distinguished.md @@ -21,7 +21,7 @@ part_list can be any scalar expression, such as a column, constant, scalar funct A PARTITION BY clause is processed as follows: - The PARTITION BY clause must occur after the WHERE clause -- The PARTITION BY caluse partitions the data according to the specified dimentions, then perform computation on each partition. The performed computation is determined by the rest of the statement - a window clause, GROUP BY clause, or SELECT clause. +- The PARTITION BY caluse partitions the data according to the specified dimensions, then perform computation on each partition. The performed computation is determined by the rest of the statement - a window clause, GROUP BY clause, or SELECT clause. - The PARTITION BY clause can be used together with a window clause or GROUP BY clause. In this case, the window or GROUP BY clause takes effect on every partition. For example, the following statement partitions the table by the location tag, performs downsampling over a 10 minute window, and returns the maximum value: ```sql @@ -105,7 +105,7 @@ SELECT COUNT(*) FROM temp_tb_1 INTERVAL(1m) SLIDING(2m); When using time windows, note the following: -- The window length for aggregation depends on the value of INTERVAL. The minimum interval is 10 ms. You can configure a window as an offset from UTC 0:00. The offset cannot be smaler than the interval. You can use SLIDING to specify the length of time that the window moves forward. +- The window length for aggregation depends on the value of INTERVAL. The minimum interval is 10 ms. You can configure a window as an offset from UTC 0:00. The offset cannot be smaller than the interval. You can use SLIDING to specify the length of time that the window moves forward. Please note that the `timezone` parameter should be configured to be the same value in the `taos.cfg` configuration file on client side and server side. - The result set is in ascending order of timestamp when you aggregate by time window. diff --git a/docs/en/12-taos-sql/17-json.md b/docs/en/12-taos-sql/17-json.md index b2494e0cc1a1829d0389b2cf634e5d8575817f57..843858c0c76211346278fc078e7d04de5adecd7f 100644 --- a/docs/en/12-taos-sql/17-json.md +++ b/docs/en/12-taos-sql/17-json.md @@ -55,7 +55,7 @@ description: This document describes the JSON data type in TDengine. 4. Tag Operations - The value of a JSON tag can be altered. Please note that the full JSON will be overriden when doing this. + The value of a JSON tag can be altered. Please note that the full JSON will be overridden when doing this. The name of a JSON tag can be altered. diff --git a/docs/en/12-taos-sql/22-meta.md b/docs/en/12-taos-sql/22-meta.md index d2bc72f047a7e18c120a39e426caea70fd711018..47523ba87c2ac57d4b59cbe12f13f3268550f026 100644 --- a/docs/en/12-taos-sql/22-meta.md +++ b/docs/en/12-taos-sql/22-meta.md @@ -274,9 +274,9 @@ Provides dnode configuration information. | 1 | stream_name | BINARY(64) | Stream name | | 2 | create_time | TIMESTAMP | Creation time | | 3 | sql | BINARY(1024) | SQL statement used to create the stream | -| 4 | status | BIANRY(20) | Current status | +| 4 | status | BINARY(20) | Current status | | 5 | source_db | BINARY(64) | Source database | -| 6 | target_db | BIANRY(64) | Target database | +| 6 | target_db | BINARY(64) | Target database | | 7 | target_table | BINARY(192) | Target table | | 8 | watermark | BIGINT | Watermark (see stream processing documentation). It should be noted that `watermark` is a TDengine keyword and needs to be escaped with ` when used as a column name. | | 9 | trigger | INT | Method of triggering the result push (see stream processing documentation). It should be noted that `trigger` is a TDengine keyword and needs to be escaped with ` when used as a column name. | diff --git a/docs/en/12-taos-sql/24-show.md b/docs/en/12-taos-sql/24-show.md index 6102fa911b9c367f009dad2b82c9599f5c82697d..65aab4c47b3487fc75518a97b7bef6299a5a83d4 100644 --- a/docs/en/12-taos-sql/24-show.md +++ b/docs/en/12-taos-sql/24-show.md @@ -4,7 +4,7 @@ sidebar_label: SHOW Statement description: This document describes how to use the SHOW statement in TDengine. --- -`SHOW` command can be used to get brief system information. To get details about metatadata, information, and status in the system, please use `select` to query the tables in database `INFORMATION_SCHEMA`. +`SHOW` command can be used to get brief system information. To get details about metadata, information, and status in the system, please use `select` to query the tables in database `INFORMATION_SCHEMA`. ## SHOW APPS diff --git a/docs/en/14-reference/02-rest-api/02-rest-api.mdx b/docs/en/14-reference/02-rest-api/02-rest-api.mdx index b138d69bfc277401723e5b75b874b42914963f48..c30379297f7d76a1ee65a5f16d789991df87daf4 100644 --- a/docs/en/14-reference/02-rest-api/02-rest-api.mdx +++ b/docs/en/14-reference/02-rest-api/02-rest-api.mdx @@ -68,7 +68,7 @@ The following return value results indicate that the verification passed. ## HTTP request URL format ```text -http://:/rest/sql/[db_name][?tz=timezone] +http://:/rest/sql/[db_name][?tz=timezone[&req_id=req_id]] ``` Parameter Description: @@ -77,6 +77,7 @@ Parameter Description: - port: httpPort configuration item in the configuration file, default is 6041. - db_name: Optional parameter that specifies the default database name for the executed SQL command. - tz: Optional parameter that specifies the timezone of the returned time, following the IANA Time Zone rules, e.g. `America/New_York`. +- req_id: Optional parameter that specifies the request id for tracing. For example, `http://h1.taos.com:6041/rest/sql/test` is a URL to `h1.taos.com:6041` and sets the default database name to `test`. @@ -99,13 +100,13 @@ The HTTP request's BODY is a complete SQL command, and the data table in the SQL Use `curl` to initiate an HTTP request with a custom authentication method, with the following syntax. ```bash -curl -L -H "Authorization: Basic " -d "" :/rest/sql/[db_name][?tz=timezone] +curl -L -H "Authorization: Basic " -d "" :/rest/sql/[db_name][?tz=timezone[&req_id=req_id]] ``` or ```bash -curl -L -u username:password -d "" :/rest/sql/[db_name][?tz=timezone] +curl -L -u username:password -d "" :/rest/sql/[db_name][?tz=timezone[&req_id=req_id]] ``` where `TOKEN` is the string after Base64 encoding of `{username}:{password}`, e.g. `root:taosdata` is encoded as `cm9vdDp0YW9zZGF0YQ==`.. diff --git a/docs/en/14-reference/03-connector/04-java.mdx b/docs/en/14-reference/03-connector/04-java.mdx index 36992da636a6773ede98ebca2ed6b981187afa93..e7a1303aafc641981fe5166df37d9f2f888b33e7 100644 --- a/docs/en/14-reference/03-connector/04-java.mdx +++ b/docs/en/14-reference/03-connector/04-java.mdx @@ -300,7 +300,7 @@ stmt.executeUpdate("create table if not exists tb (ts timestamp, temperature int > **Note**: If you do not use `use db` to specify the database, all subsequent operations on the table need to add the database name as a prefix, such as db.tb. -### 插入数据 +### Insert data ```java // insert data diff --git a/docs/en/14-reference/03-connector/06-rust.mdx b/docs/en/14-reference/03-connector/06-rust.mdx index 6e848596107f3dd8a0e99b4bf8fe1dc9530021a4..ad522e9d2b26ff02ee06bb7438acc12d315529c4 100644 --- a/docs/en/14-reference/03-connector/06-rust.mdx +++ b/docs/en/14-reference/03-connector/06-rust.mdx @@ -39,7 +39,7 @@ The Rust Connector is still under rapid development and is not guaranteed to be * Install the Rust development toolchain * If using the native connection, please install the TDengine client driver. Please refer to [install client driver](/reference/connector#install-client-driver) -# Add taos dependency +### Add taos dependency Depending on the connection method, add the [taos][taos] dependency in your Rust project as follows: @@ -282,7 +282,7 @@ In the application code, use `pool.get()? ` to get a connection object [Taos]. let taos = pool.get()?; ``` -# Connectors +### Connectors The [Taos][struct.Taos] object provides an API to perform operations on multiple databases. diff --git a/docs/en/14-reference/03-connector/07-python.mdx b/docs/en/14-reference/03-connector/07-python.mdx index 146da268a8b7b4ebf799f3441efcd2d454afd65d..34435a7c0d8715556fd321b7fb43aef7b211a773 100644 --- a/docs/en/14-reference/03-connector/07-python.mdx +++ b/docs/en/14-reference/03-connector/07-python.mdx @@ -228,6 +228,16 @@ All arguments to the `connect()` function are optional keyword arguments. The fo - `password`: TDengine user password. The default is `taosdata`. - `timeout`: HTTP request timeout. Enter a value in seconds. The default is `socket._GLOBAL_DEFAULT_TIMEOUT`. Usually, no configuration is needed. + + + + +```python +{{#include docs/examples/python/connect_websocket_examples.py:connect}} +``` + +The parameter of `connect()` is the url of TDengine, and the protocol is `taosws` or `ws`. + @@ -298,7 +308,15 @@ The `RestClient` class is a direct wrapper for the [REST API](/reference/rest-ap For a more detailed description of the `sql()` method, please refer to [RestClient](https://docs.taosdata.com/api/taospy/taosrest/restclient.html). + + + +```python +{{#include docs/examples/python/connect_websocket_examples.py:basic}} +``` +- `conn.execute`: can use to execute arbitrary SQL statements, and return the number of rows affected. +- `conn.query`: can use to execute query SQL statements, and return the query results. @@ -319,6 +337,13 @@ For a more detailed description of the `sql()` method, please refer to [RestClie {{#include docs/examples/python/conn_rest_pandas.py}} ``` + + + +```python +{{#include docs/examples/python/conn_websocket_pandas.py}} +``` + diff --git a/docs/en/14-reference/03-connector/09-csharp.mdx b/docs/en/14-reference/03-connector/09-csharp.mdx index e984967fb7048bf4a89d5528be7f6c977820d255..fdc0824973eb83d3d544be239ea954e29b5ba265 100644 --- a/docs/en/14-reference/03-connector/09-csharp.mdx +++ b/docs/en/14-reference/03-connector/09-csharp.mdx @@ -94,7 +94,7 @@ In this scenario, modifying your project file is required in order to copy the W - + diff --git a/docs/en/14-reference/03-connector/10-php.mdx b/docs/en/14-reference/03-connector/10-php.mdx index fd00d11239315bbab6e59d838d472d3496ff8342..6cc45ded49b90edbbea2d83ff91da7cf1ad89ce7 100644 --- a/docs/en/14-reference/03-connector/10-php.mdx +++ b/docs/en/14-reference/03-connector/10-php.mdx @@ -87,7 +87,7 @@ In this section a few sample programs which use TDengine PHP connector to access > Any error would throw exception: `TDengine\Exception\TDengineException` -### Establish Conection +### Establish Connection
Establish Connection diff --git a/docs/en/14-reference/03-connector/_windows_install.mdx b/docs/en/14-reference/03-connector/_windows_install.mdx index a96e02feeafe6c0f0937a407d7d8d3a882a5e2d3..723f685b5deb066c81c50601f2a436f8e0c6f300 100644 --- a/docs/en/14-reference/03-connector/_windows_install.mdx +++ b/docs/en/14-reference/03-connector/_windows_install.mdx @@ -11,7 +11,7 @@ import PkgListV3 from "/components/PkgListV3"; The default installation path is C:\TDengine, including the following files (directories). - _taos.exe_: TDengine CLI command-line program - - _taosadapter.exe_: server-side executable that provides RESTful services and accepts writing requests from a variety of other softwares + - _taosadapter.exe_: server-side executable that provides RESTful services and accepts writing requests from a variety of other software - _taosBenchmark.exe_: TDengine testing tool - _cfg_: configuration file directory - _driver_: client driver dynamic link library diff --git a/docs/en/14-reference/05-taosbenchmark.md b/docs/en/14-reference/05-taosbenchmark.md index 9828d71ece98ca6de2f079f5599f2eed7fcea891..3dd8339ad4e75782ddfd447a6614998d8db01a34 100644 --- a/docs/en/14-reference/05-taosbenchmark.md +++ b/docs/en/14-reference/05-taosbenchmark.md @@ -208,7 +208,7 @@ taosBenchmark -A INT,DOUBLE,NCHAR,BINARY\(16\) Keep trying if failed to insert, default is no. Available with v3.0.9+. - **-z/--trying-interval ** : - Specify interval between keep trying insert. Valid value is a postive number. Only valid when keep trying be enabled. Available with v3.0.9+. + Specify interval between keep trying insert. Valid value is a positive number. Only valid when keep trying be enabled. Available with v3.0.9+. - **-V/--version** : Show version information only. Users should not use it with other parameters. @@ -239,7 +239,7 @@ The parameters listed in this section apply to all function modes. - ** keep_trying ** : Keep trying if failed to insert, default is no. Available with v3.0.9+. -- ** trying_interval ** : Specify interval between keep trying insert. Valid value is a postive number. Only valid when keep trying be enabled. Available with v3.0.9+. +- ** trying_interval ** : Specify interval between keep trying insert. Valid value is a positive number. Only valid when keep trying be enabled. Available with v3.0.9+. #### Database related configuration parameters @@ -352,7 +352,7 @@ The configuration parameters for specifying super table tag columns and data col - **min**: The minimum value of the column/label of the data type. The generated value will equal or large than the minimum value. -- **max**: The maximum value of the column/label of the data type. The generated value will less than the maxium value. +- **max**: The maximum value of the column/label of the data type. The generated value will less than the maximum value. - **values**: The value field of the nchar/binary column/label, which will be chosen randomly from the values. diff --git a/docs/en/14-reference/07-tdinsight/assets/15146-tdengine-monitor-dashboard.json b/docs/en/14-reference/07-tdinsight/assets/15146-tdengine-monitor-dashboard.json index f651983528ca824b4e6b14586aac5a5bfb4ecab8..43f29bda4445d0559b60d51a6d421442e9d38d4d 100644 --- a/docs/en/14-reference/07-tdinsight/assets/15146-tdengine-monitor-dashboard.json +++ b/docs/en/14-reference/07-tdinsight/assets/15146-tdengine-monitor-dashboard.json @@ -1590,7 +1590,7 @@ }, { "datasource": "${DS_TDENGINE}", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "fieldConfig": { "defaults": { "color": { @@ -1919,7 +1919,7 @@ }, { "datasource": "${DS_TDENGINE}", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "fieldConfig": { "defaults": { "color": { @@ -1977,7 +1977,7 @@ }, { "datasource": "${DS_TDENGINE}", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "fieldConfig": { "defaults": { "color": { @@ -2825,7 +2825,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Requets Count per Minutes $fqdn", + "title": "Requests Count per Minutes $fqdn", "tooltip": { "shared": true, "sort": 0, diff --git a/docs/en/14-reference/07-tdinsight/assets/tdengine-grafana-7.x.json b/docs/en/14-reference/07-tdinsight/assets/tdengine-grafana-7.x.json index b4254c428b28a0084e54b5e3c509dd2e0ec651b9..660875262edfe4b4211075839b60dfcdcb26d198 100644 --- a/docs/en/14-reference/07-tdinsight/assets/tdengine-grafana-7.x.json +++ b/docs/en/14-reference/07-tdinsight/assets/tdengine-grafana-7.x.json @@ -1566,7 +1566,7 @@ }, { "datasource": "${ds}", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "fieldConfig": { "defaults": { "color": { @@ -1933,7 +1933,7 @@ }, { "datasource": "${ds}", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "fieldConfig": { "defaults": { "color": { @@ -2000,7 +2000,7 @@ }, { "datasource": "${ds}", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "fieldConfig": { "defaults": { "color": { @@ -2961,7 +2961,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Requets Count per Minutes $fqdn", + "title": "Requests Count per Minutes $fqdn", "tooltip": { "shared": true, "sort": 0, @@ -3355,4 +3355,4 @@ "title": "TDengine", "uid": "tdengine", "version": 8 -} \ No newline at end of file +} diff --git a/docs/en/14-reference/07-tdinsight/assets/tdengine-grafana.json b/docs/en/14-reference/07-tdinsight/assets/tdengine-grafana.json index 7696cfce3fcca3dd5f9278c91d3df2c1b32b9c97..e3bad31fab4e9110da505621d8ea7444584b33cb 100644 --- a/docs/en/14-reference/07-tdinsight/assets/tdengine-grafana.json +++ b/docs/en/14-reference/07-tdinsight/assets/tdengine-grafana.json @@ -186,7 +186,7 @@ }, { "datasource": "TDengine", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "gridPos": { "h": 6, "w": 8, @@ -253,7 +253,7 @@ ], "timeFrom": null, "timeShift": null, - "title": "taosd memery", + "title": "taosd memory", "type": "gauge" }, { diff --git a/docs/en/14-reference/12-config/index.md b/docs/en/14-reference/12-config/index.md index 0145f945500dd0fc4024a83224d0d5713ac4ed46..f20018d5e02f445eff3c6012afe2386af63eff3b 100644 --- a/docs/en/14-reference/12-config/index.md +++ b/docs/en/14-reference/12-config/index.md @@ -29,7 +29,7 @@ taos -C taos --dump-config ``` -# Configuration Parameters +## Configuration Parameters :::note The parameters described in this document by the effect that they have on the system. diff --git a/docs/en/14-reference/12-directory.md b/docs/en/14-reference/12-directory.md index 651892c8b29447647d8edef12af58c469de951b1..439fcf37f683d33c85f0c469f62379a6a38f3938 100644 --- a/docs/en/14-reference/12-directory.md +++ b/docs/en/14-reference/12-directory.md @@ -24,7 +24,7 @@ All executable files of TDengine are in the _/usr/local/taos/bin_ directory by d - _taosdump_: data import and export tool - _taosBenchmark_: TDengine testing tool - _remove.sh_: script to uninstall TDengine, please execute it carefully, link to the **rmtaos** command in the /usr/bin directory. Will remove the TDengine installation directory `/usr/local/taos`, but will keep `/etc/taos`, `/var/lib/taos`, `/var/log/taos` -- _taosadapter_: server-side executable that provides RESTful services and accepts writing requests from a variety of other softwares +- _taosadapter_: server-side executable that provides RESTful services and accepts writing requests from a variety of other software - _TDinsight.sh_: script to download TDinsight and install it - _set_core.sh_: script for setting up the system to generate core dump files for easy debugging - _taosd-dump-cfg.gdb_: script to facilitate debugging of taosd's gdb execution. diff --git a/docs/en/14-reference/13-schemaless/13-schemaless.md b/docs/en/14-reference/13-schemaless/13-schemaless.md index caedd76df8e41b4246891f686d61ed61af671d7e..1099ceabfedeb897ca1eb5006f6986b3500199d1 100644 --- a/docs/en/14-reference/13-schemaless/13-schemaless.md +++ b/docs/en/14-reference/13-schemaless/13-schemaless.md @@ -131,7 +131,7 @@ create stable st (_ts timestamp, c1 bigint, c2 bool, c3 binary(6), c4 bigint) ta This section describes the impact on the schema caused by different data being written. -If you use line protocol to write to a specific tag field and then later change the field type, a schema error will ocur. This triggers an error on the write API. This is shown as follows: +If you use line protocol to write to a specific tag field and then later change the field type, a schema error will occur. This triggers an error on the write API. This is shown as follows: ```json st,t1=3,t2=4,t3=t3 c1=3i64,c3="passit",c2=false,c4=4 1626006833639000000 diff --git a/docs/en/14-reference/_statsd.mdx b/docs/en/14-reference/_statsd.mdx index d068304a1dce52da9e89a1c19a5cca3956b7f0ce..b15c9640db210ca9f42295327430373e2fc6b8fc 100644 --- a/docs/en/14-reference/_statsd.mdx +++ b/docs/en/14-reference/_statsd.mdx @@ -31,7 +31,7 @@ The default database name written by taosAdapter is `statsd`. To specify a diffe ### Configuring StatsD -To use StatsD, you need to download its [source code](https://github.com/statsd/statsd). Please refer to the example file `exampleConfig.js` in the root directory of the source download to modify the configuration file. In , please fill in the domain name or IP address of the server running taosAdapter, and , please fill in the port where taosAdapter receives StatsD data (default is 6044). +To use StatsD, you need to download its [source code](https://github.com/statsd/statsd). Please refer to the example file `exampleConfig.js` in the root directory of the source download to modify the configuration file. In , please fill in the domain name or IP address of the server running taosAdapter, and , please fill in the port where taosAdapter receives StatsD data (default is 6044). ``` backends section add ". /backends/repeater" diff --git a/docs/en/21-tdinternal/03-high-availability.md b/docs/en/21-tdinternal/03-high-availability.md index a0f6ca4ffe15ba5901709ffa3c6d64b8697fa93a..e2a1e358b0ceddd995216e2c86bedc8982385df3 100644 --- a/docs/en/21-tdinternal/03-high-availability.md +++ b/docs/en/21-tdinternal/03-high-availability.md @@ -28,4 +28,4 @@ SHOW MNODES; The end point and role/status (leader, follower, candidate, offline) of all mnodes can be shown by the above command. When the first dnode is started in a cluster, there must be one mnode in this dnode. Without at least one mnode, the cluster cannot work. -From TDengine 3.0.0, RAFT procotol is used to guarantee the high availability, so the number of mnodes is should be 1 or 3. +From TDengine 3.0.0, RAFT protocol is used to guarantee the high availability, so the number of mnodes is should be 1 or 3. diff --git a/docs/en/21-tdinternal/04-load-balance.md b/docs/en/21-tdinternal/04-load-balance.md index 73da1c1dd65ffb3251c86ff936f5b5b26dc9d1cb..474272c46d216dafb84f6d89cf25784eefe7331e 100644 --- a/docs/en/21-tdinternal/04-load-balance.md +++ b/docs/en/21-tdinternal/04-load-balance.md @@ -14,8 +14,8 @@ create database db0 vgroups 100; The proper value of `vgroups` depends on available system resources. Assuming there is only one database to be created in the system, then the number of `vgroups` is determined by the available resources from all dnodes. In principle more vgroups can be created if you have more CPU and memory. Disk I/O is another important factor to consider. Once the bottleneck shows on disk I/O, more vgroups may downgrad the system performance significantly. If multiple databases are to be created in the system, then the total number of `vroups` of all the databases are dependent on the available system resources. It needs to be careful to distribute vgroups among these databases, you need to consider the number of tables, data writing frequency, size of each data row for all these databases. A recommended practice is to firstly choose a starting number for `vgroups`, for example double of the number of CPU cores, then try to adjust and optimize system configurations to find the best setting for `vgroups`, then distribute these vgroups among databases. -Furthermode, TDengine distributes the vgroups of each database equally among all dnodes. In case of replica 3, the distrubtion is even more complex, TDengine tries its best to prevent any dnode from becoming a bottleneck. +Furthermode, TDengine distributes the vgroups of each database equally among all dnodes. In case of replica 3, the distribution is even more complex, TDengine tries its best to prevent any dnode from becoming a bottleneck. TDegnine utilizes the above ways to achieve load balance in a cluster, and finally achieve higher throughput. -Once the load balance is achieved, after some operations like deleting tables or droping databases, the load across all dnodes may become inbalanced, the method of rebalance will be provided in later versions. However, even without explicit rebalancing, TDengine will try its best to achieve new balance without manual interfering when a new database is created. \ No newline at end of file +Once the load balance is achieved, after some operations like deleting tables or dropping databases, the load across all dnodes may become imbalanced, the method of rebalance will be provided in later versions. However, even without explicit rebalancing, TDengine will try its best to achieve new balance without manual interfering when a new database is created. diff --git a/docs/en/25-application/01-telegraf.md b/docs/en/25-application/01-telegraf.md index 91d3401590049416b04dedfb252aeea10e1e4bd6..b84b30bb71fe2231228007f95154a181000ac566 100644 --- a/docs/en/25-application/01-telegraf.md +++ b/docs/en/25-application/01-telegraf.md @@ -67,7 +67,7 @@ sudo systemctl start telegraf Log in to the Grafana interface using a web browser at `IP:3000`, with the system's initial username and password being `admin/admin`. Click on the gear icon on the left and select `Plugins`, you should find the TDengine data source plugin icon. -Click on the plus icon on the left and select `Import` to get the data from `https://github.com/taosdata/grafanaplugin/blob/master/examples/telegraf/grafana/dashboards/telegraf-dashboard-v3.json` (for Tdengine 3.0. for TDengine 2.x, please use `telegraf-dashboard-v2.json`), download the dashboard JSON file and import it. You will then see the dashboard in the following screen. +Click on the plus icon on the left and select `Import` to get the data from `https://github.com/taosdata/grafanaplugin/blob/master/examples/telegraf/grafana/dashboards/telegraf-dashboard-v3.json` (for TDengine 3.0. for TDengine 2.x, please use `telegraf-dashboard-v2.json`), download the dashboard JSON file and import it. You will then see the dashboard in the following screen. ![TDengine Database IT-DevOps-Solutions-telegraf-dashboard](./IT-DevOps-Solutions-telegraf-dashboard.webp) diff --git a/docs/examples/python/conn_websocket_pandas.py b/docs/examples/python/conn_websocket_pandas.py new file mode 100644 index 0000000000000000000000000000000000000000..eac386732c6ec6e512c6f6723f47f1f09751d9f9 --- /dev/null +++ b/docs/examples/python/conn_websocket_pandas.py @@ -0,0 +1,39 @@ +import pandas +from sqlalchemy import create_engine, text +import taos + +taos_conn = taos.connect() +taos_conn.execute('drop database if exists power') +taos_conn.execute('create database if not exists power') +taos_conn.execute("use power") +taos_conn.execute( + "CREATE STABLE power.meters (ts TIMESTAMP, current FLOAT, voltage INT, phase FLOAT) TAGS (location BINARY(64), groupId INT)") +# insert data +taos_conn.execute("""INSERT INTO power.d1001 USING power.meters TAGS('California.SanFrancisco', 2) +VALUES ('2018-10-03 14:38:05.000', 10.30000, 219, 0.31000) ('2018-10-03 14:38:15.000', 12.60000, 218, 0.33000) +('2018-10-03 14:38:16.800', 12.30000, 221, 0.31000) + power.d1002 USING power.meters TAGS('California.SanFrancisco', 3) + VALUES ('2018-10-03 14:38:16.650', 10.30000, 218, 0.25000) + power.d1003 USING power.meters TAGS('California.LosAngeles', 2) + VALUES ('2018-10-03 14:38:05.500', 11.80000, 221, 0.28000) ('2018-10-03 14:38:16.600', 13.40000, 223, 0.29000) + power.d1004 USING power.meters TAGS('California.LosAngeles', 3) + VALUES ('2018-10-03 14:38:05.000', 10.80000, 223, 0.29000) ('2018-10-03 14:38:06.500', 11.50000, 221, 0.35000)""") + +engine = create_engine("taosws://root:taosdata@localhost:6041") +conn = engine.connect() +df: pandas.DataFrame = pandas.read_sql(text("SELECT * FROM power.meters"), conn) +conn.close() + +# print index +print(df.index) +# print data type of element in ts column +print(type(df.ts[0])) +print(df.head(3)) + +# output: +# RangeIndex(start=0, stop=8, step=1) +# +# ts current ... location groupid +# 0 2018-10-03 14:38:05.000 10.3 ... California.SanFrancisco 2 +# 1 2018-10-03 14:38:15.000 12.6 ... California.SanFrancisco 2 +# 2 2018-10-03 14:38:16.800 12.3 ... California.SanFrancisco 2 diff --git a/docs/examples/python/connect_websocket_examples.py b/docs/examples/python/connect_websocket_examples.py new file mode 100644 index 0000000000000000000000000000000000000000..c50976efbf595e63b91f16faff0af7eb37e90756 --- /dev/null +++ b/docs/examples/python/connect_websocket_examples.py @@ -0,0 +1,29 @@ +# ANCHOR: connect +import taosws + +conn = taosws.connect("taosws://root:taosdata@localhost:6041") +# ANCHOR_END: connect + +# ANCHOR: basic +conn.execute("drop database if exists connwspy") +conn.execute("create database if not exists connwspy") +conn.execute("use connwspy") +conn.execute("create table if not exists stb (ts timestamp, c1 int) tags (t1 int)") +conn.execute("create table if not exists tb1 using stb tags (1)") +conn.execute("insert into tb1 values (now, 1)") +conn.execute("insert into tb1 values (now, 2)") +conn.execute("insert into tb1 values (now, 3)") + +r = conn.execute("select * from stb") +result = conn.query("select * from stb") +num_of_fields = result.field_count +print(num_of_fields) + +for row in result: + print(row) + +# output: +# 3 +# ('2023-02-28 15:56:13.329 +08:00', 1, 1) +# ('2023-02-28 15:56:13.333 +08:00', 2, 1) +# ('2023-02-28 15:56:13.337 +08:00', 3, 1) diff --git a/docs/zh/04-concept/index.md b/docs/zh/04-concept/index.md index 2cba68edcd152f5059845b9e25342b3f335f3b8b..b389b8d1ce2597c44f8164c0edc0dedc53d79efe 100644 --- a/docs/zh/04-concept/index.md +++ b/docs/zh/04-concept/index.md @@ -149,7 +149,7 @@ TDengine 建议用数据采集点的名字(如上表中的 d1001)来做表 3. 子表一定属于一张超级表,但普通表不属于任何超级表 4. 普通表无法转为子表,子表也无法转为普通表。 -超级表与与基于超级表建立的子表之间的关系表现在: +超级表与基于超级表建立的子表之间的关系表现在: 1. 一张超级表包含有多张子表,这些子表具有相同的采集量 Schema,但带有不同的标签值。 2. 不能通过子表调整数据或标签的模式,对于超级表的数据模式修改立即对所有的子表生效。 diff --git a/docs/zh/07-develop/07-tmq.mdx b/docs/zh/07-develop/07-tmq.mdx index 52fd0c42c3ff1a1b67532b0a98cf5c07c308c7c3..1d834cfff020ce782d4821cfc055c0cff08b4584 100644 --- a/docs/zh/07-develop/07-tmq.mdx +++ b/docs/zh/07-develop/07-tmq.mdx @@ -289,9 +289,9 @@ CREATE TOPIC topic_name AS DATABASE db_name; | `td.connect.port` | integer | 用于创建连接,同 `taos_connect` | | | `group.id` | string | 消费组 ID,同一消费组共享消费进度 | **必填项**。最大长度:192。 | | `client.id` | string | 客户端 ID | 最大长度:192。 | -| `auto.offset.reset` | enum | 消费组订阅的初始位置 | 可选:`earliest`(default), `latest`, `none` | +| `auto.offset.reset` | enum | 消费组订阅的初始位置 |
`earliest`: default;从头开始订阅;
`latest`: 仅从最新数据开始订阅;
`none`: 没有提交的 offset 无法订阅 | | `enable.auto.commit` | boolean | 是否启用消费位点自动提交 | 合法值:`true`, `false`。 | -| `auto.commit.interval.ms` | integer | 以毫秒为单位的消费记录自动提交消费位点时间间 | 默认 5000 m | +| `auto.commit.interval.ms` | integer | 以毫秒为单位的消费记录自动提交消费位点时间间隔 | 默认 5000 m | | `enable.heartbeat.background` | boolean | 启用后台心跳,启用后即使长时间不 poll 消息也不会造成离线 | 默认开启 | | `experimental.snapshot.enable` | boolean | 是否允许从 TSDB 消费数据 | 实验功能,默认关闭 | | `msg.with.table.name` | boolean | 是否允许从消息中解析表名, 不适用于列订阅(列订阅时可将 tbname 作为列写入 subquery 语句) | | diff --git a/docs/zh/07-develop/09-udf.md b/docs/zh/07-develop/09-udf.md index 7a3a3822d5f619337dc0c81482903b51f26a5e96..2eb4b3dee32d7326476bbca350c951ccd0482d71 100644 --- a/docs/zh/07-develop/09-udf.md +++ b/docs/zh/07-develop/09-udf.md @@ -65,11 +65,11 @@ int32_t aggfn_init() { } // aggregate start function. The intermediate value or the state(@interBuf) is initialized in this function. The function name shall be concatenation of udf name and _start suffix -// @param interbuf intermediate value to intialize +// @param interbuf intermediate value to initialize // @return error number defined in taoserror.h int32_t aggfn_start(SUdfInterBuf* interBuf) { // initialize intermediate value in interBuf - return TSDB_CODE_SUCESS; + return TSDB_CODE_SUCCESS; } // aggregate reduce function. This function aggregate old state(@interbuf) and one data bock(inputBlock) and output a new state(@newInterBuf). diff --git a/docs/zh/08-connector/02-rest-api.mdx b/docs/zh/08-connector/02-rest-api.mdx index af2ec1b1c2f2c677efa3e0a5c5ca2e16fa3c9b27..f995b9d569a9627294bf17c5bef2a0b0453ba952 100644 --- a/docs/zh/08-connector/02-rest-api.mdx +++ b/docs/zh/08-connector/02-rest-api.mdx @@ -69,7 +69,7 @@ curl -L -H "Authorization: Basic cm9vdDp0YW9zZGF0YQ==" \ ## HTTP 请求格式 ```text -http://:/rest/sql/[db_name][?tz=timezone] +http://:/rest/sql/[db_name][?tz=timezone[&req_id=req_id]] ``` 参数说明: @@ -78,6 +78,7 @@ http://:/rest/sql/[db_name][?tz=timezone] - port: 配置文件中 httpPort 配置项,缺省为 6041。 - db_name: 可选参数,指定本次所执行的 SQL 语句的默认数据库库名。 - tz: 可选参数,指定返回时间的时区,遵照 IANA Time Zone 规则,如 `America/New_York`。 +- req_id: 可选参数,指定请求 id,可以用于 tracing。 例如:`http://h1.taos.com:6041/rest/sql/test` 是指向地址为 `h1.taos.com:6041` 的 URL,并将默认使用的数据库库名设置为 `test`。 @@ -100,13 +101,13 @@ HTTP 请求的 BODY 里就是一个完整的 SQL 语句,SQL 语句中的数据 使用 `curl` 通过自定义身份认证方式来发起一个 HTTP Request,语法如下: ```bash -curl -L -H "Authorization: Basic " -d "" :/rest/sql/[db_name][?tz=timezone] +curl -L -H "Authorization: Basic " -d "" :/rest/sql/[db_name][?tz=timezone[&req_id=req_id]] ``` 或者, ```bash -curl -L -u username:password -d "" :/rest/sql/[db_name][?tz=timezone] +curl -L -u username:password -d "" :/rest/sql/[db_name][?tz=timezone[&req_id=req_id]] ``` 其中,`TOKEN` 为 `{username}:{password}` 经过 Base64 编码之后的字符串,例如 `root:taosdata` 编码后为 `cm9vdDp0YW9zZGF0YQ==`。 diff --git a/docs/zh/08-connector/10-cpp.mdx b/docs/zh/08-connector/10-cpp.mdx index 35d30303c2b2b70da270cc0f49a8e867d8d43e99..3ea4b10a96972e13a2a5e7c895a95d045be6ae7d 100644 --- a/docs/zh/08-connector/10-cpp.mdx +++ b/docs/zh/08-connector/10-cpp.mdx @@ -302,7 +302,7 @@ int taos_print_row(char *str, TAOS_ROW row, TAOS_FIELD *fields, int num_fields) - `TAOS_FIELD *taos_fetch_fields(TAOS_RES *res)` - 获取查询结果集每列数据的属性(列的名称、列的数据类型、列的长度),与 `taos_num_fileds()` 配合使用,可用来解析 `taos_fetch_row()` 返回的一个元组(一行)的数据。 `TAOS_FIELD` 的结构如下: + 获取查询结果集每列数据的属性(列的名称、列的数据类型、列的长度),与 `taos_num_fields()` 配合使用,可用来解析 `taos_fetch_row()` 返回的一个元组(一行)的数据。 `TAOS_FIELD` 的结构如下: ```c typedef struct taosField { diff --git a/docs/zh/08-connector/30-python.mdx b/docs/zh/08-connector/30-python.mdx index 1962df9607eb82ffaed75f9472a0c97fbc9f0ba3..9c88402bb4bb04446e92b8a61597174230eceed3 100644 --- a/docs/zh/08-connector/30-python.mdx +++ b/docs/zh/08-connector/30-python.mdx @@ -229,6 +229,16 @@ curl -u root:taosdata http://:/rest/sql -d "select server_version()" - `password`: TDengine 用户密码。默认是 taosdata。 - `timeout`: HTTP 请求超时时间。单位为秒。默认为 `socket._GLOBAL_DEFAULT_TIMEOUT`。 一般无需配置。 + + + + +```python +{{#include docs/examples/python/connect_websocket_examples.py:connect}} +``` + +`connect()` 函数参数为连接 url,协议为 `taosws` 或 `ws` + @@ -298,8 +308,15 @@ TaosCursor 类使用原生连接进行写入、查询操作。在客户端多线 ``` 对于 `sql()` 方法更详细的介绍, 请参考 [RestClient](https://docs.taosdata.com/api/taospy/taosrest/restclient.html)。 + + +```python +{{#include docs/examples/python/connect_websocket_examples.py:basic}} +``` +- `conn.execute`: 用来执行任意 SQL 语句,返回影响的行数 +- `conn.query`: 用来执行查询 SQL 语句,返回查询结果 @@ -320,6 +337,13 @@ TaosCursor 类使用原生连接进行写入、查询操作。在客户端多线 {{#include docs/examples/python/conn_rest_pandas.py}} ``` + + + +```python +{{#include docs/examples/python/conn_websocket_pandas.py}} +``` + @@ -335,15 +359,17 @@ TaosCursor 类使用原生连接进行写入、查询操作。在客户端多线 ```python {{#include docs/examples/python/tmq_example.py}} ``` + - + 除了原生的连接方式,Python 连接器还支持通过 websocket 订阅 TMQ 数据。 ```python {{#include docs/examples/python/tmq_websocket_example.py}} ``` + @@ -366,7 +392,7 @@ TaosCursor 类使用原生连接进行写入、查询操作。在客户端多线 ```python {{#include docs/examples/python/handle_exception.py}} ``` - +`` ### 关于纳秒 (nanosecond) 由于目前 Python 对 nanosecond 支持的不完善(见下面的链接),目前的实现方式是在 nanosecond 精度时返回整数,而不是 ms 和 us 返回的 datetime 类型,应用开发者需要自行处理,建议使用 pandas 的 to_datetime()。未来如果 Python 正式完整支持了纳秒,Python 连接器可能会修改相关接口。 diff --git a/docs/zh/08-connector/40-csharp.mdx b/docs/zh/08-connector/40-csharp.mdx index 80a831bab9d7343eaa85242c2e0e5e85c9f0d864..3a945e77fd3295061847063e7c2d0de4a67790a5 100644 --- a/docs/zh/08-connector/40-csharp.mdx +++ b/docs/zh/08-connector/40-csharp.mdx @@ -96,7 +96,7 @@ dotnet add package TDengine.Connector - + diff --git a/docs/zh/10-deployment/03-k8s.md b/docs/zh/10-deployment/03-k8s.md index 0cae59657c2a0199d3452bc37d36f2c537944d21..39ca56f3d978062f175ef8196ad1affe4bcd562b 100644 --- a/docs/zh/10-deployment/03-k8s.md +++ b/docs/zh/10-deployment/03-k8s.md @@ -102,7 +102,7 @@ spec: # Must set if you want a cluster. - name: TAOS_FIRST_EP value: "$(STS_NAME)-0.$(SERVICE_NAME).$(STS_NAMESPACE).svc.cluster.local:$(TAOS_SERVER_PORT)" - # TAOS_FQND should always be setted in k8s env. + # TAOS_FQND should always be set in k8s env. - name: TAOS_FQDN value: "$(POD_NAME).$(SERVICE_NAME).$(STS_NAMESPACE).svc.cluster.local" volumeMounts: diff --git a/docs/zh/12-taos-sql/22-meta.md b/docs/zh/12-taos-sql/22-meta.md index c05dbf9c2afa0e477cff3029146b87482fbb6c36..75fb3e563259f43b6025c8cf7e8faff2dc2fa619 100644 --- a/docs/zh/12-taos-sql/22-meta.md +++ b/docs/zh/12-taos-sql/22-meta.md @@ -274,9 +274,9 @@ TDengine 内置了一个名为 `INFORMATION_SCHEMA` 的数据库,提供对数 | 1 | stream_name | BINARY(64) | 流计算名称 | | 2 | create_time | TIMESTAMP | 创建时间 | | 3 | sql | BINARY(1024) | 创建流计算时提供的 SQL 语句 | -| 4 | status | BIANRY(20) | 流当前状态 | +| 4 | status | BINARY(20) | 流当前状态 | | 5 | source_db | BINARY(64) | 源数据库 | -| 6 | target_db | BIANRY(64) | 目的数据库 | +| 6 | target_db | BINARY(64) | 目的数据库 | | 7 | target_table | BINARY(192) | 流计算写入的目标表 | | 8 | watermark | BIGINT | watermark,详见 SQL 手册流式计算。需要注意,`watermark` 为 TDengine 关键字,作为列名使用时需要使用 ` 进行转义。 | | 9 | trigger | INT | 计算结果推送模式,详见 SQL 手册流式计算。需要注意,`trigger` 为 TDengine 关键字,作为列名使用时需要使用 ` 进行转义。 | diff --git a/docs/zh/14-reference/07-tdinsight/assets/15146-tdengine-monitor-dashboard.json b/docs/zh/14-reference/07-tdinsight/assets/15146-tdengine-monitor-dashboard.json index f651983528ca824b4e6b14586aac5a5bfb4ecab8..43f29bda4445d0559b60d51a6d421442e9d38d4d 100644 --- a/docs/zh/14-reference/07-tdinsight/assets/15146-tdengine-monitor-dashboard.json +++ b/docs/zh/14-reference/07-tdinsight/assets/15146-tdengine-monitor-dashboard.json @@ -1590,7 +1590,7 @@ }, { "datasource": "${DS_TDENGINE}", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "fieldConfig": { "defaults": { "color": { @@ -1919,7 +1919,7 @@ }, { "datasource": "${DS_TDENGINE}", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "fieldConfig": { "defaults": { "color": { @@ -1977,7 +1977,7 @@ }, { "datasource": "${DS_TDENGINE}", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "fieldConfig": { "defaults": { "color": { @@ -2825,7 +2825,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Requets Count per Minutes $fqdn", + "title": "Requests Count per Minutes $fqdn", "tooltip": { "shared": true, "sort": 0, diff --git a/docs/zh/14-reference/07-tdinsight/assets/tdengine-grafana-7.x.json b/docs/zh/14-reference/07-tdinsight/assets/tdengine-grafana-7.x.json index b4254c428b28a0084e54b5e3c509dd2e0ec651b9..660875262edfe4b4211075839b60dfcdcb26d198 100644 --- a/docs/zh/14-reference/07-tdinsight/assets/tdengine-grafana-7.x.json +++ b/docs/zh/14-reference/07-tdinsight/assets/tdengine-grafana-7.x.json @@ -1566,7 +1566,7 @@ }, { "datasource": "${ds}", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "fieldConfig": { "defaults": { "color": { @@ -1933,7 +1933,7 @@ }, { "datasource": "${ds}", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "fieldConfig": { "defaults": { "color": { @@ -2000,7 +2000,7 @@ }, { "datasource": "${ds}", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "fieldConfig": { "defaults": { "color": { @@ -2961,7 +2961,7 @@ "timeFrom": null, "timeRegions": [], "timeShift": null, - "title": "Requets Count per Minutes $fqdn", + "title": "Requests Count per Minutes $fqdn", "tooltip": { "shared": true, "sort": 0, @@ -3355,4 +3355,4 @@ "title": "TDengine", "uid": "tdengine", "version": 8 -} \ No newline at end of file +} diff --git a/docs/zh/14-reference/07-tdinsight/assets/tdengine-grafana.json b/docs/zh/14-reference/07-tdinsight/assets/tdengine-grafana.json index 7696cfce3fcca3dd5f9278c91d3df2c1b32b9c97..e3bad31fab4e9110da505621d8ea7444584b33cb 100644 --- a/docs/zh/14-reference/07-tdinsight/assets/tdengine-grafana.json +++ b/docs/zh/14-reference/07-tdinsight/assets/tdengine-grafana.json @@ -186,7 +186,7 @@ }, { "datasource": "TDengine", - "description": "taosd max memery last 10 minutes", + "description": "taosd max memory last 10 minutes", "gridPos": { "h": 6, "w": 8, @@ -253,7 +253,7 @@ ], "timeFrom": null, "timeShift": null, - "title": "taosd memery", + "title": "taosd memory", "type": "gauge" }, { diff --git a/docs/zh/14-reference/12-config/index.md b/docs/zh/14-reference/12-config/index.md index 36c81add0e4832469799b0d4f57f97126a016f2b..4cba66f04f677bdcc9de6a3c79fcc5574e421714 100644 --- a/docs/zh/14-reference/12-config/index.md +++ b/docs/zh/14-reference/12-config/index.md @@ -29,7 +29,7 @@ taos -C taos --dump-config ``` -# 配置参数详细列表 +## 配置参数详细列表 :::note 本节内容覆盖产品的配置参数,适用于服务端的参数按其对产品行为的影响进行分类,这其中有部分参数也同时适用于客户端;但有少量参数仅适用于客户端,这部分参数进行了单独归类。 diff --git a/docs/zh/14-reference/_statsd.mdx b/docs/zh/14-reference/_statsd.mdx index dc4f19b37c6111b394f183fb57ca487828b66e70..21c2e29f64865df9ad421a8219ca7b5cef86380e 100644 --- a/docs/zh/14-reference/_statsd.mdx +++ b/docs/zh/14-reference/_statsd.mdx @@ -31,7 +31,7 @@ deleteTimings = true ### 配置 StatsD -使用 StatsD 需要下载其[源代码](https://github.com/statsd/statsd)。其配置文件请参考其源代码下载到本地的根目录下的示例文件 `exampleConfig.js` 进行修改。其中 填写运行 taosAdapter 的服务器域名或 IP 地址,请填写 taosAdapter 接收 StatsD 数据的端口(默认为 6044)。 +使用 StatsD 需要下载其[源代码](https://github.com/statsd/statsd)。其配置文件请参考其源代码下载到本地的根目录下的示例文件 `exampleConfig.js` 进行修改。其中 填写运行 taosAdapter 的服务器域名或 IP 地址,请填写 taosAdapter 接收 StatsD 数据的端口(默认为 6044)。 ``` backends 部分添加 "./backends/repeater" diff --git a/include/common/ttokendef.h b/include/common/ttokendef.h index ada3fd20e8ce693a7fcd9a331d24b968fe1852c4..d1a81fd9961d5ed5eedfe30472ff067589042e21 100644 --- a/include/common/ttokendef.h +++ b/include/common/ttokendef.h @@ -205,144 +205,145 @@ #define TK_OUTPUTTYPE 187 #define TK_AGGREGATE 188 #define TK_BUFSIZE 189 -#define TK_STREAM 190 -#define TK_INTO 191 -#define TK_TRIGGER 192 -#define TK_AT_ONCE 193 -#define TK_WINDOW_CLOSE 194 -#define TK_IGNORE 195 -#define TK_EXPIRED 196 -#define TK_FILL_HISTORY 197 -#define TK_UPDATE 198 -#define TK_SUBTABLE 199 -#define TK_KILL 200 -#define TK_CONNECTION 201 -#define TK_TRANSACTION 202 -#define TK_BALANCE 203 -#define TK_VGROUP 204 -#define TK_MERGE 205 -#define TK_REDISTRIBUTE 206 -#define TK_SPLIT 207 -#define TK_DELETE 208 -#define TK_INSERT 209 -#define TK_NULL 210 -#define TK_NK_QUESTION 211 -#define TK_NK_ARROW 212 -#define TK_ROWTS 213 -#define TK_QSTART 214 -#define TK_QEND 215 -#define TK_QDURATION 216 -#define TK_WSTART 217 -#define TK_WEND 218 -#define TK_WDURATION 219 -#define TK_IROWTS 220 -#define TK_ISFILLED 221 -#define TK_CAST 222 -#define TK_NOW 223 -#define TK_TODAY 224 -#define TK_TIMEZONE 225 -#define TK_CLIENT_VERSION 226 -#define TK_SERVER_VERSION 227 -#define TK_SERVER_STATUS 228 -#define TK_CURRENT_USER 229 -#define TK_CASE 230 -#define TK_END 231 -#define TK_WHEN 232 -#define TK_THEN 233 -#define TK_ELSE 234 -#define TK_BETWEEN 235 -#define TK_IS 236 -#define TK_NK_LT 237 -#define TK_NK_GT 238 -#define TK_NK_LE 239 -#define TK_NK_GE 240 -#define TK_NK_NE 241 -#define TK_MATCH 242 -#define TK_NMATCH 243 -#define TK_CONTAINS 244 -#define TK_IN 245 -#define TK_JOIN 246 -#define TK_INNER 247 -#define TK_SELECT 248 -#define TK_DISTINCT 249 -#define TK_WHERE 250 -#define TK_PARTITION 251 -#define TK_BY 252 -#define TK_SESSION 253 -#define TK_STATE_WINDOW 254 -#define TK_EVENT_WINDOW 255 -#define TK_START 256 -#define TK_SLIDING 257 -#define TK_FILL 258 -#define TK_VALUE 259 -#define TK_VALUE_F 260 -#define TK_NONE 261 -#define TK_PREV 262 -#define TK_NULL_F 263 -#define TK_LINEAR 264 -#define TK_NEXT 265 -#define TK_HAVING 266 -#define TK_RANGE 267 -#define TK_EVERY 268 -#define TK_ORDER 269 -#define TK_SLIMIT 270 -#define TK_SOFFSET 271 -#define TK_LIMIT 272 -#define TK_OFFSET 273 -#define TK_ASC 274 -#define TK_NULLS 275 -#define TK_ABORT 276 -#define TK_AFTER 277 -#define TK_ATTACH 278 -#define TK_BEFORE 279 -#define TK_BEGIN 280 -#define TK_BITAND 281 -#define TK_BITNOT 282 -#define TK_BITOR 283 -#define TK_BLOCKS 284 -#define TK_CHANGE 285 -#define TK_COMMA 286 -#define TK_CONCAT 287 -#define TK_CONFLICT 288 -#define TK_COPY 289 -#define TK_DEFERRED 290 -#define TK_DELIMITERS 291 -#define TK_DETACH 292 -#define TK_DIVIDE 293 -#define TK_DOT 294 -#define TK_EACH 295 -#define TK_FAIL 296 -#define TK_FILE 297 -#define TK_FOR 298 -#define TK_GLOB 299 -#define TK_ID 300 -#define TK_IMMEDIATE 301 -#define TK_IMPORT 302 -#define TK_INITIALLY 303 -#define TK_INSTEAD 304 -#define TK_ISNULL 305 -#define TK_KEY 306 -#define TK_MODULES 307 -#define TK_NK_BITNOT 308 -#define TK_NK_SEMI 309 -#define TK_NOTNULL 310 -#define TK_OF 311 -#define TK_PLUS 312 -#define TK_PRIVILEGE 313 -#define TK_RAISE 314 -#define TK_REPLACE 315 -#define TK_RESTRICT 316 -#define TK_ROW 317 -#define TK_SEMI 318 -#define TK_STAR 319 -#define TK_STATEMENT 320 -#define TK_STRICT 321 -#define TK_STRING 322 -#define TK_TIMES 323 -#define TK_VALUES 324 -#define TK_VARIABLE 325 -#define TK_VIEW 326 -#define TK_WAL 327 +#define TK_LANGUAGE 190 +#define TK_STREAM 191 +#define TK_INTO 192 +#define TK_TRIGGER 193 +#define TK_AT_ONCE 194 +#define TK_WINDOW_CLOSE 195 +#define TK_IGNORE 196 +#define TK_EXPIRED 197 +#define TK_FILL_HISTORY 198 +#define TK_UPDATE 199 +#define TK_SUBTABLE 200 +#define TK_KILL 201 +#define TK_CONNECTION 202 +#define TK_TRANSACTION 203 +#define TK_BALANCE 204 +#define TK_VGROUP 205 +#define TK_MERGE 206 +#define TK_REDISTRIBUTE 207 +#define TK_SPLIT 208 +#define TK_DELETE 209 +#define TK_INSERT 210 +#define TK_NULL 211 +#define TK_NK_QUESTION 212 +#define TK_NK_ARROW 213 +#define TK_ROWTS 214 +#define TK_QSTART 215 +#define TK_QEND 216 +#define TK_QDURATION 217 +#define TK_WSTART 218 +#define TK_WEND 219 +#define TK_WDURATION 220 +#define TK_IROWTS 221 +#define TK_ISFILLED 222 +#define TK_CAST 223 +#define TK_NOW 224 +#define TK_TODAY 225 +#define TK_TIMEZONE 226 +#define TK_CLIENT_VERSION 227 +#define TK_SERVER_VERSION 228 +#define TK_SERVER_STATUS 229 +#define TK_CURRENT_USER 230 +#define TK_CASE 231 +#define TK_END 232 +#define TK_WHEN 233 +#define TK_THEN 234 +#define TK_ELSE 235 +#define TK_BETWEEN 236 +#define TK_IS 237 +#define TK_NK_LT 238 +#define TK_NK_GT 239 +#define TK_NK_LE 240 +#define TK_NK_GE 241 +#define TK_NK_NE 242 +#define TK_MATCH 243 +#define TK_NMATCH 244 +#define TK_CONTAINS 245 +#define TK_IN 246 +#define TK_JOIN 247 +#define TK_INNER 248 +#define TK_SELECT 249 +#define TK_DISTINCT 250 +#define TK_WHERE 251 +#define TK_PARTITION 252 +#define TK_BY 253 +#define TK_SESSION 254 +#define TK_STATE_WINDOW 255 +#define TK_EVENT_WINDOW 256 +#define TK_START 257 +#define TK_SLIDING 258 +#define TK_FILL 259 +#define TK_VALUE 260 +#define TK_VALUE_F 261 +#define TK_NONE 262 +#define TK_PREV 263 +#define TK_NULL_F 264 +#define TK_LINEAR 265 +#define TK_NEXT 266 +#define TK_HAVING 267 +#define TK_RANGE 268 +#define TK_EVERY 269 +#define TK_ORDER 270 +#define TK_SLIMIT 271 +#define TK_SOFFSET 272 +#define TK_LIMIT 273 +#define TK_OFFSET 274 +#define TK_ASC 275 +#define TK_NULLS 276 +#define TK_ABORT 277 +#define TK_AFTER 278 +#define TK_ATTACH 279 +#define TK_BEFORE 280 +#define TK_BEGIN 281 +#define TK_BITAND 282 +#define TK_BITNOT 283 +#define TK_BITOR 284 +#define TK_BLOCKS 285 +#define TK_CHANGE 286 +#define TK_COMMA 287 +#define TK_CONCAT 288 +#define TK_CONFLICT 289 +#define TK_COPY 290 +#define TK_DEFERRED 291 +#define TK_DELIMITERS 292 +#define TK_DETACH 293 +#define TK_DIVIDE 294 +#define TK_DOT 295 +#define TK_EACH 296 +#define TK_FAIL 297 +#define TK_FILE 298 +#define TK_FOR 299 +#define TK_GLOB 300 +#define TK_ID 301 +#define TK_IMMEDIATE 302 +#define TK_IMPORT 303 +#define TK_INITIALLY 304 +#define TK_INSTEAD 305 +#define TK_ISNULL 306 +#define TK_KEY 307 +#define TK_MODULES 308 +#define TK_NK_BITNOT 309 +#define TK_NK_SEMI 310 +#define TK_NOTNULL 311 +#define TK_OF 312 +#define TK_PLUS 313 +#define TK_PRIVILEGE 314 +#define TK_RAISE 315 +#define TK_REPLACE 316 +#define TK_RESTRICT 317 +#define TK_ROW 318 +#define TK_SEMI 319 +#define TK_STAR 320 +#define TK_STATEMENT 321 +#define TK_STRICT 322 +#define TK_STRING 323 +#define TK_TIMES 324 +#define TK_VALUES 325 +#define TK_VARIABLE 326 +#define TK_VIEW 327 +#define TK_WAL 328 #define TK_NK_SPACE 600 #define TK_NK_COMMENT 601 diff --git a/include/libs/nodes/cmdnodes.h b/include/libs/nodes/cmdnodes.h index 164fbf018cd39e0c7869ca95b9ba877e9488e1e4..e9d6aca1f9bbaa9da6219e05d63f0c9b67c5096a 100644 --- a/include/libs/nodes/cmdnodes.h +++ b/include/libs/nodes/cmdnodes.h @@ -430,6 +430,7 @@ typedef struct SCreateFunctionStmt { char libraryPath[PATH_MAX]; SDataType outputDt; int32_t bufSize; + int8_t language; } SCreateFunctionStmt; typedef struct SDropFunctionStmt { diff --git a/include/util/tdef.h b/include/util/tdef.h index b89fc32bde19f9551de760a3e5514494ec5e51ec..f2da4096d3ed3457adc1bfa9ba733d8daf4e9dc9 100644 --- a/include/util/tdef.h +++ b/include/util/tdef.h @@ -206,7 +206,7 @@ typedef enum ELogicConditionType { #define TSDB_FUNC_TYPE_SCALAR 1 #define TSDB_FUNC_TYPE_AGGREGATE 2 #define TSDB_FUNC_SCRIPT_BIN_LIB 0 -#define TSDB_FUNC_SCRIPT_PYTHON 1 +#define TSDB_FUNC_SCRIPT_PYTHON 1 #define TSDB_FUNC_MAX_RETRIEVE 1024 #define TSDB_INDEX_NAME_LEN 65 // 64 + 1 '\0' diff --git a/packaging/release.bat b/packaging/release.bat index 4c82c5ead538c2152b1047fabb608f096a6e48b0..4b49f364d05a2c49b2bde31c20792bba728cd718 100644 --- a/packaging/release.bat +++ b/packaging/release.bat @@ -46,9 +46,9 @@ rd /s /Q C:\TDengine cmake --install . if not %errorlevel% == 0 ( call :RUNFAILED build x64 failed & exit /b 1) cd %package_dir% -iscc /DMyAppInstallName="%packagServerName_x64%" /DMyAppVersion="%2" /DMyAppExcludeSource="" tools\tdengine.iss /O..\release +iscc /DMyAppInstallName="%packagServerName_x64%" /DMyAppVersion="%2" /DCusName="TDengine" /DCusPrompt="taos" /DMyAppExcludeSource="" tools\tdengine.iss /O..\release if not %errorlevel% == 0 ( call :RUNFAILED package %packagServerName_x64% failed & exit /b 1) -iscc /DMyAppInstallName="%packagClientName_x64%" /DMyAppVersion="%2" /DMyAppExcludeSource="taosd.exe" tools\tdengine.iss /O..\release +iscc /DMyAppInstallName="%packagClientName_x64%" /DMyAppVersion="%2" /DCusName="TDengine" /DCusPrompt="taos" /DMyAppExcludeSource="taosd.exe" tools\tdengine.iss /O..\release if not %errorlevel% == 0 ( call :RUNFAILED package %packagClientName_x64% failed & exit /b 1) goto EXIT0 diff --git a/source/libs/parser/inc/parAst.h b/source/libs/parser/inc/parAst.h index 3b309db1db61b1d1e99918962fe73bd1ffa5cb09..6d36660261fb971704daf0324d59317bb62c6b4e 100644 --- a/source/libs/parser/inc/parAst.h +++ b/source/libs/parser/inc/parAst.h @@ -212,7 +212,7 @@ SNode* createExplainStmt(SAstCreateContext* pCxt, bool analyze, SNode* pOptions, SNode* createDescribeStmt(SAstCreateContext* pCxt, SNode* pRealTable); SNode* createResetQueryCacheStmt(SAstCreateContext* pCxt); SNode* createCreateFunctionStmt(SAstCreateContext* pCxt, bool ignoreExists, bool aggFunc, const SToken* pFuncName, - const SToken* pLibPath, SDataType dataType, int32_t bufSize); + const SToken* pLibPath, SDataType dataType, int32_t bufSize, const SToken* pLanguage); SNode* createDropFunctionStmt(SAstCreateContext* pCxt, bool ignoreNotExists, const SToken* pFuncName); SNode* createStreamOptions(SAstCreateContext* pCxt); SNode* createCreateStreamStmt(SAstCreateContext* pCxt, bool ignoreExists, SToken* pStreamName, SNode* pRealTable, diff --git a/source/libs/parser/inc/sql.y b/source/libs/parser/inc/sql.y index fb6d3bfdd93bcc3ef14ba998ee9985e46c334dac..c1dafef085ba146becfc1fcaa99d471cbb2ea3fd 100644 --- a/source/libs/parser/inc/sql.y +++ b/source/libs/parser/inc/sql.y @@ -531,7 +531,7 @@ explain_options(A) ::= explain_options(B) RATIO NK_FLOAT(C). /************************************************ create/drop function ************************************************/ cmd ::= CREATE agg_func_opt(A) FUNCTION not_exists_opt(F) function_name(B) - AS NK_STRING(C) OUTPUTTYPE type_name(D) bufsize_opt(E). { pCxt->pRootNode = createCreateFunctionStmt(pCxt, F, A, &B, &C, D, E); } + AS NK_STRING(C) OUTPUTTYPE type_name(D) bufsize_opt(E) language_opt(G). { pCxt->pRootNode = createCreateFunctionStmt(pCxt, F, A, &B, &C, D, E, &G); } cmd ::= DROP FUNCTION exists_opt(B) function_name(A). { pCxt->pRootNode = createDropFunctionStmt(pCxt, B, &A); } %type agg_func_opt { bool } @@ -544,6 +544,11 @@ agg_func_opt(A) ::= AGGREGATE. bufsize_opt(A) ::= . { A = 0; } bufsize_opt(A) ::= BUFSIZE NK_INTEGER(B). { A = taosStr2Int32(B.z, NULL, 10); } +%type language_opt { SToken } +%destructor language_opt { } +language_opt(A) ::= . { A = nil_token; } +language_opt(A) ::= LANGUAGE NK_STRING(B). { A = B; } + /************************************************ create/drop stream **************************************************/ cmd ::= CREATE STREAM not_exists_opt(E) stream_name(A) stream_options(B) INTO full_table_name(C) col_list_opt(H) tag_def_or_ref_opt(F) subtable_opt(G) diff --git a/source/libs/parser/src/parAstCreater.c b/source/libs/parser/src/parAstCreater.c index f613b1bd3d78d7ab1b8660a5e642896ffcbb9f43..bb94e94cbace30a451aada5c98370551de55a778 100644 --- a/source/libs/parser/src/parAstCreater.c +++ b/source/libs/parser/src/parAstCreater.c @@ -1779,13 +1779,29 @@ SNode* createResetQueryCacheStmt(SAstCreateContext* pCxt) { return pStmt; } +static int32_t convertUdfLanguageType(SAstCreateContext* pCxt, const SToken* pLanguageToken, int8_t* pLanguage) { + if (TK_NK_NIL == pLanguageToken->type || 0 == strncasecmp(pLanguageToken->z + 1, "c", pLanguageToken->n - 2)) { + *pLanguage = TSDB_FUNC_SCRIPT_BIN_LIB; + } else if (0 == strncasecmp(pLanguageToken->z + 1, "python", pLanguageToken->n - 2)) { + *pLanguage = TSDB_FUNC_SCRIPT_PYTHON; + } else { + pCxt->errCode = generateSyntaxErrMsgExt(&pCxt->msgBuf, TSDB_CODE_PAR_SYNTAX_ERROR, + "udf programming language supports c and python"); + } + return pCxt->errCode; +} + SNode* createCreateFunctionStmt(SAstCreateContext* pCxt, bool ignoreExists, bool aggFunc, const SToken* pFuncName, - const SToken* pLibPath, SDataType dataType, int32_t bufSize) { + const SToken* pLibPath, SDataType dataType, int32_t bufSize, const SToken* pLanguage) { CHECK_PARSER_STATUS(pCxt); if (pLibPath->n <= 2) { pCxt->errCode = TSDB_CODE_PAR_SYNTAX_ERROR; return NULL; } + int8_t language = 0; + if (TSDB_CODE_SUCCESS != convertUdfLanguageType(pCxt, pLanguage, &language)) { + return NULL; + } SCreateFunctionStmt* pStmt = (SCreateFunctionStmt*)nodesMakeNode(QUERY_NODE_CREATE_FUNCTION_STMT); CHECK_OUT_OF_MEM(pStmt); pStmt->ignoreExists = ignoreExists; @@ -1794,6 +1810,7 @@ SNode* createCreateFunctionStmt(SAstCreateContext* pCxt, bool ignoreExists, bool COPY_STRING_FORM_STR_TOKEN(pStmt->libraryPath, pLibPath); pStmt->outputDt = dataType; pStmt->bufSize = bufSize; + pStmt->language = language; return (SNode*)pStmt; } diff --git a/source/libs/parser/src/parTokenizer.c b/source/libs/parser/src/parTokenizer.c index 678dcf34d3a9a1d08bfa8c51e25abe3cd2161daf..366831ee1af056e09ed17f9fec0e5975322c059e 100644 --- a/source/libs/parser/src/parTokenizer.c +++ b/source/libs/parser/src/parTokenizer.c @@ -124,6 +124,7 @@ static SKeyword keywordTable[] = { {"JSON", TK_JSON}, {"KEEP", TK_KEEP}, {"KILL", TK_KILL}, + {"LANGUAGE", TK_LANGUAGE}, {"LAST", TK_LAST}, {"LAST_ROW", TK_LAST_ROW}, {"LICENCES", TK_LICENCES}, diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 2f621ba5c8cf34e982d11be1d5814a7464c27108..c3816fa854edf9017dae1b4eefe67c4ab8c65a38 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -6358,7 +6358,7 @@ static int32_t translateCreateFunction(STranslateContext* pCxt, SCreateFunctionS strcpy(req.name, pStmt->funcName); req.igExists = pStmt->ignoreExists; req.funcType = pStmt->isAgg ? TSDB_FUNC_TYPE_AGGREGATE : TSDB_FUNC_TYPE_SCALAR; - req.scriptType = TSDB_FUNC_SCRIPT_BIN_LIB; + req.scriptType = pStmt->language; req.outputType = pStmt->outputDt.type; req.outputLen = pStmt->outputDt.bytes; req.bufSize = pStmt->bufSize; diff --git a/source/libs/parser/src/sql.c b/source/libs/parser/src/sql.c index b6940f83959260b3caa20cea696b8f83ca74231b..b434ba706fcfc12a322c4d629c1faa4148b155e8 100644 --- a/source/libs/parser/src/sql.c +++ b/source/libs/parser/src/sql.c @@ -104,26 +104,26 @@ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned short int -#define YYNOCODE 469 +#define YYNOCODE 471 #define YYACTIONTYPE unsigned short int #define ParseTOKENTYPE SToken typedef union { int yyinit; ParseTOKENTYPE yy0; - EOperatorType yy2; - SNode* yy42; - bool yy103; - EOrder yy106; - SNodeList* yy110; - SToken yy225; - EFillMode yy410; - SDataType yy448; - SAlterOption yy459; - int32_t yy508; - ENullOrder yy599; - EJoinType yy638; - int64_t yy641; - int8_t yy705; + SNode* yy140; + EFillMode yy174; + int32_t yy214; + SNodeList* yy220; + int64_t yy303; + bool yy587; + SDataType yy682; + ENullOrder yy697; + EOperatorType yy794; + SAlterOption yy809; + EJoinType yy852; + int8_t yy857; + EOrder yy866; + SToken yy881; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -139,17 +139,17 @@ typedef union { #define ParseCTX_FETCH #define ParseCTX_STORE #define YYFALLBACK 1 -#define YYNSTATE 743 -#define YYNRULE 563 -#define YYNTOKEN 328 -#define YY_MAX_SHIFT 742 -#define YY_MIN_SHIFTREDUCE 1102 -#define YY_MAX_SHIFTREDUCE 1664 -#define YY_ERROR_ACTION 1665 -#define YY_ACCEPT_ACTION 1666 -#define YY_NO_ACTION 1667 -#define YY_MIN_REDUCE 1668 -#define YY_MAX_REDUCE 2230 +#define YYNSTATE 745 +#define YYNRULE 565 +#define YYNTOKEN 329 +#define YY_MAX_SHIFT 744 +#define YY_MIN_SHIFTREDUCE 1105 +#define YY_MAX_SHIFTREDUCE 1669 +#define YY_ERROR_ACTION 1670 +#define YY_ACCEPT_ACTION 1671 +#define YY_NO_ACTION 1672 +#define YY_MIN_REDUCE 1673 +#define YY_MAX_REDUCE 2237 /************* End control #defines *******************************************/ #define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0]))) @@ -216,753 +216,821 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (2749) +#define YY_ACTTAB_COUNT (3086) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 1941, 2206, 1798, 607, 482, 2201, 483, 1704, 491, 1811, - /* 10 */ 483, 1704, 45, 43, 1592, 1939, 619, 31, 176, 178, - /* 20 */ 380, 2205, 1441, 38, 37, 2202, 2204, 44, 42, 41, - /* 30 */ 40, 39, 1862, 1522, 139, 1439, 1466, 2042, 1875, 347, - /* 40 */ 1924, 2028, 38, 37, 613, 358, 44, 42, 41, 40, - /* 50 */ 39, 425, 2024, 2206, 1873, 38, 37, 2201, 1517, 44, - /* 60 */ 42, 41, 40, 39, 18, 686, 385, 1469, 2060, 1868, - /* 70 */ 1870, 1447, 1666, 2205, 167, 607, 646, 2202, 2203, 1776, - /* 80 */ 1154, 2010, 1153, 648, 45, 43, 2020, 2026, 361, 570, - /* 90 */ 1135, 330, 380, 2201, 1441, 220, 14, 642, 340, 181, - /* 100 */ 2138, 2139, 550, 137, 2143, 1522, 139, 1439, 2207, 182, - /* 110 */ 602, 1155, 2041, 2202, 596, 548, 2077, 546, 739, 324, - /* 120 */ 2043, 652, 2045, 2046, 647, 645, 642, 633, 2095, 1137, - /* 130 */ 1517, 1140, 1141, 1524, 1525, 631, 18, 481, 393, 1551, - /* 140 */ 486, 1710, 392, 1447, 1691, 1262, 674, 673, 672, 1266, - /* 150 */ 671, 1268, 1269, 670, 1271, 667, 176, 1277, 664, 1279, - /* 160 */ 1280, 661, 658, 1497, 1507, 1941, 607, 617, 14, 1523, - /* 170 */ 1526, 267, 2138, 606, 383, 133, 605, 371, 1925, 2201, - /* 180 */ 1938, 619, 161, 570, 1442, 618, 1440, 2201, 2010, 359, - /* 190 */ 739, 1824, 631, 270, 594, 182, 1552, 139, 1873, 2202, - /* 200 */ 596, 500, 2207, 182, 631, 1524, 1525, 2202, 596, 590, - /* 210 */ 1445, 1446, 247, 1496, 1499, 1500, 1501, 1502, 1503, 1504, - /* 220 */ 1505, 1506, 644, 640, 1515, 1516, 1518, 1519, 1520, 1521, - /* 230 */ 2, 61, 498, 92, 1934, 1497, 1507, 585, 106, 686, - /* 240 */ 122, 1523, 1526, 121, 120, 119, 118, 117, 116, 115, - /* 250 */ 114, 113, 140, 1596, 352, 166, 1442, 1680, 1440, 1466, - /* 260 */ 1814, 609, 180, 2138, 2139, 1465, 137, 2143, 48, 34, - /* 270 */ 378, 1546, 1547, 1548, 1549, 1550, 1554, 1555, 1556, 1557, - /* 280 */ 48, 61, 1445, 1446, 1222, 1496, 1499, 1500, 1501, 1502, - /* 290 */ 1503, 1504, 1505, 1506, 644, 640, 1515, 1516, 1518, 1519, - /* 300 */ 1520, 1521, 2, 2028, 11, 45, 43, 44, 42, 41, - /* 310 */ 40, 39, 1466, 380, 2024, 1441, 353, 742, 351, 350, - /* 320 */ 1224, 523, 591, 586, 579, 525, 1522, 1466, 1439, 490, - /* 330 */ 2042, 295, 486, 1710, 607, 35, 288, 38, 37, 603, - /* 340 */ 412, 44, 42, 41, 40, 39, 175, 524, 2020, 2026, - /* 350 */ 362, 1517, 732, 728, 724, 720, 293, 18, 86, 642, - /* 360 */ 488, 2060, 414, 410, 1447, 139, 484, 559, 417, 649, - /* 370 */ 416, 2145, 349, 1154, 2010, 1153, 648, 45, 43, 1527, - /* 380 */ 1467, 1817, 2206, 185, 11, 380, 9, 1441, 61, 14, - /* 390 */ 279, 280, 65, 107, 415, 278, 286, 2142, 1522, 1468, - /* 400 */ 1439, 634, 1498, 2102, 1155, 2041, 1737, 632, 1690, 2077, - /* 410 */ 632, 739, 168, 2043, 652, 2045, 2046, 647, 1669, 642, - /* 420 */ 185, 132, 678, 1517, 187, 1866, 1524, 1525, 521, 628, - /* 430 */ 183, 2138, 2139, 185, 137, 2143, 1447, 632, 1822, 122, - /* 440 */ 11, 1822, 121, 120, 119, 118, 117, 116, 115, 114, - /* 450 */ 113, 132, 2010, 571, 2167, 194, 1497, 1507, 526, 1875, - /* 460 */ 100, 46, 1523, 1526, 273, 636, 368, 2102, 1822, 272, - /* 470 */ 1360, 1361, 536, 535, 534, 1873, 1654, 1442, 2031, 1440, - /* 480 */ 136, 530, 1815, 739, 61, 529, 1404, 463, 241, 1905, - /* 490 */ 528, 533, 83, 1305, 1306, 82, 527, 237, 1524, 1525, - /* 500 */ 1869, 1870, 1467, 1445, 1446, 1661, 1496, 1499, 1500, 1501, - /* 510 */ 1502, 1503, 1504, 1505, 1506, 644, 640, 1515, 1516, 1518, - /* 520 */ 1519, 1520, 1521, 2, 536, 535, 534, 2033, 1497, 1507, - /* 530 */ 1668, 1875, 136, 530, 1523, 1526, 632, 529, 345, 632, - /* 540 */ 185, 1447, 528, 533, 269, 198, 197, 1873, 527, 1442, - /* 550 */ 54, 1440, 618, 423, 131, 130, 129, 128, 127, 126, - /* 560 */ 125, 124, 123, 1415, 1416, 419, 677, 1822, 462, 418, - /* 570 */ 1822, 41, 40, 39, 2042, 1445, 1446, 618, 1496, 1499, - /* 580 */ 1500, 1501, 1502, 1503, 1504, 1505, 1506, 644, 640, 1515, - /* 590 */ 1516, 1518, 1519, 1520, 1521, 2, 45, 43, 1468, 616, - /* 600 */ 1920, 1934, 86, 1660, 380, 2060, 1441, 632, 595, 632, - /* 610 */ 570, 190, 2201, 649, 2201, 1377, 1378, 1522, 2010, 1439, - /* 620 */ 648, 424, 221, 433, 627, 1818, 1934, 594, 182, 2207, - /* 630 */ 182, 61, 2202, 596, 2202, 596, 185, 171, 1822, 1689, - /* 640 */ 1822, 443, 1517, 517, 513, 509, 505, 218, 632, 2041, - /* 650 */ 442, 1376, 1379, 2077, 1620, 1447, 110, 2043, 652, 2045, - /* 660 */ 2046, 647, 448, 642, 49, 372, 1532, 1688, 45, 43, - /* 670 */ 2130, 2205, 1466, 164, 2129, 2126, 380, 698, 1441, 1822, - /* 680 */ 46, 541, 1824, 2010, 87, 1687, 2145, 216, 1807, 1522, - /* 690 */ 1686, 1439, 141, 38, 37, 2101, 551, 44, 42, 41, - /* 700 */ 40, 39, 739, 582, 581, 1618, 1619, 1621, 1622, 1623, - /* 710 */ 234, 2010, 2141, 1685, 1517, 38, 37, 1524, 1525, 44, - /* 720 */ 42, 41, 40, 39, 236, 544, 33, 1447, 235, 2010, - /* 730 */ 538, 1799, 38, 37, 2010, 233, 44, 42, 41, 40, - /* 740 */ 39, 1684, 595, 269, 1553, 2145, 2201, 1497, 1507, 1875, - /* 750 */ 632, 27, 14, 1523, 1526, 215, 209, 2010, 13, 12, - /* 760 */ 214, 594, 182, 496, 449, 1874, 2202, 596, 1442, 383, - /* 770 */ 1440, 2140, 69, 1589, 739, 68, 2060, 164, 1683, 207, - /* 780 */ 1809, 1822, 1631, 185, 589, 2010, 1824, 89, 335, 1524, - /* 790 */ 1525, 357, 1978, 552, 1445, 1446, 1469, 1496, 1499, 1500, - /* 800 */ 1501, 1502, 1503, 1504, 1505, 1506, 644, 640, 1515, 1516, - /* 810 */ 1518, 1519, 1520, 1521, 2, 1498, 185, 32, 1805, 1497, - /* 820 */ 1507, 333, 2010, 1464, 684, 1523, 1526, 1558, 164, 588, - /* 830 */ 456, 710, 708, 470, 1875, 152, 469, 1825, 238, 684, - /* 840 */ 1442, 373, 1440, 154, 153, 681, 680, 679, 151, 1682, - /* 850 */ 1873, 439, 1679, 471, 1565, 676, 441, 1920, 154, 153, - /* 860 */ 681, 680, 679, 151, 532, 531, 1445, 1446, 192, 1496, - /* 870 */ 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 644, 640, - /* 880 */ 1515, 1516, 1518, 1519, 1520, 1521, 2, 699, 53, 1792, - /* 890 */ 632, 682, 165, 2010, 1866, 1678, 2010, 308, 348, 1734, - /* 900 */ 632, 38, 37, 1797, 499, 44, 42, 41, 40, 39, - /* 910 */ 429, 306, 72, 242, 1819, 71, 1677, 1920, 643, 38, - /* 920 */ 37, 1822, 1875, 44, 42, 41, 40, 39, 196, 384, - /* 930 */ 51, 1822, 3, 203, 478, 476, 473, 598, 1873, 2010, - /* 940 */ 467, 191, 525, 461, 460, 459, 458, 455, 454, 453, - /* 950 */ 452, 451, 447, 446, 445, 444, 332, 436, 435, 434, - /* 960 */ 2010, 431, 430, 346, 524, 716, 715, 714, 713, 390, - /* 970 */ 61, 712, 711, 143, 706, 705, 704, 703, 702, 701, - /* 980 */ 700, 156, 696, 695, 694, 389, 388, 691, 690, 689, - /* 990 */ 688, 687, 632, 632, 1676, 38, 37, 565, 2003, 44, - /* 1000 */ 42, 41, 40, 39, 1441, 632, 239, 566, 1608, 108, - /* 1010 */ 2042, 684, 1996, 632, 632, 632, 1469, 1439, 1588, 629, - /* 1020 */ 8, 1675, 1674, 1822, 1822, 1673, 1672, 630, 611, 615, - /* 1030 */ 154, 153, 681, 680, 679, 151, 1822, 683, 2010, 1466, - /* 1040 */ 1866, 2060, 1671, 570, 1822, 1822, 1822, 2201, 152, 610, - /* 1050 */ 80, 79, 422, 1447, 2010, 189, 648, 632, 163, 2042, - /* 1060 */ 400, 302, 2207, 182, 1852, 2010, 2010, 2202, 596, 2010, - /* 1070 */ 2010, 283, 599, 2028, 331, 1140, 1141, 408, 1450, 406, - /* 1080 */ 402, 398, 395, 415, 2024, 2041, 2010, 1681, 1822, 2077, - /* 1090 */ 2060, 1813, 109, 2043, 652, 2045, 2046, 647, 649, 642, - /* 1100 */ 739, 1410, 2024, 2010, 179, 648, 2130, 1777, 386, 632, - /* 1110 */ 374, 2126, 2150, 1585, 426, 639, 164, 2029, 2020, 2026, - /* 1120 */ 375, 632, 185, 387, 184, 1824, 2042, 427, 2024, 642, - /* 1130 */ 2004, 145, 2156, 134, 2041, 289, 2020, 2026, 2077, 1800, - /* 1140 */ 1822, 109, 2043, 652, 2045, 2046, 647, 642, 642, 52, - /* 1150 */ 152, 142, 1822, 149, 2101, 2130, 569, 2060, 2042, 374, - /* 1160 */ 2126, 246, 2020, 2026, 73, 610, 1442, 1711, 1440, 1724, - /* 1170 */ 2010, 226, 648, 642, 224, 570, 1717, 228, 230, 2201, - /* 1180 */ 227, 229, 1498, 147, 232, 245, 554, 231, 553, 2060, - /* 1190 */ 2170, 537, 1445, 1446, 2207, 182, 1715, 649, 539, 2202, - /* 1200 */ 596, 2041, 2010, 1413, 648, 2077, 1449, 2042, 109, 2043, - /* 1210 */ 652, 2045, 2046, 647, 81, 642, 734, 63, 542, 63, - /* 1220 */ 179, 251, 2130, 1663, 1664, 90, 374, 2126, 1585, 1453, - /* 1230 */ 152, 47, 276, 2041, 70, 13, 12, 2077, 2060, 105, - /* 1240 */ 109, 2043, 652, 2045, 2046, 647, 649, 642, 2157, 102, - /* 1250 */ 264, 2010, 2221, 648, 2130, 583, 150, 557, 374, 2126, - /* 1260 */ 152, 1543, 63, 47, 47, 219, 2042, 258, 2061, 2164, - /* 1270 */ 1617, 656, 1616, 692, 253, 150, 152, 135, 1184, 150, - /* 1280 */ 391, 1929, 2041, 614, 1374, 281, 2077, 624, 1705, 109, - /* 1290 */ 2043, 652, 2045, 2046, 647, 1203, 642, 2060, 693, 600, - /* 1300 */ 2042, 2221, 570, 2130, 1863, 649, 2201, 374, 2126, 285, - /* 1310 */ 2010, 2160, 648, 1255, 1185, 1559, 1508, 301, 2177, 608, - /* 1320 */ 1201, 2207, 182, 263, 1283, 266, 2202, 596, 1287, 1294, - /* 1330 */ 1292, 2060, 155, 1, 399, 4, 394, 296, 344, 649, - /* 1340 */ 1397, 2041, 195, 428, 2010, 2077, 648, 1469, 109, 2043, - /* 1350 */ 652, 2045, 2046, 647, 432, 642, 1930, 1452, 437, 465, - /* 1360 */ 2221, 1464, 2130, 450, 1922, 457, 374, 2126, 464, 466, - /* 1370 */ 472, 474, 200, 2042, 475, 2041, 477, 577, 479, 2077, - /* 1380 */ 1470, 480, 109, 2043, 652, 2045, 2046, 647, 489, 642, - /* 1390 */ 1472, 206, 377, 376, 2221, 492, 2130, 1467, 493, 208, - /* 1400 */ 374, 2126, 1455, 1471, 2060, 494, 1473, 211, 495, 497, - /* 1410 */ 1157, 2195, 649, 1522, 518, 1448, 519, 2010, 213, 648, - /* 1420 */ 84, 85, 2042, 522, 217, 501, 520, 1987, 1812, 223, - /* 1430 */ 1808, 334, 225, 112, 1984, 1983, 556, 558, 1517, 88, - /* 1440 */ 240, 148, 157, 158, 1810, 1806, 297, 560, 2041, 159, - /* 1450 */ 160, 1447, 2077, 2060, 243, 109, 2043, 652, 2045, 2046, - /* 1460 */ 647, 649, 642, 561, 567, 584, 2010, 2221, 648, 2130, - /* 1470 */ 622, 2176, 564, 374, 2126, 2175, 574, 580, 593, 363, - /* 1480 */ 587, 2161, 575, 7, 2149, 2171, 2042, 2152, 573, 249, - /* 1490 */ 172, 257, 259, 252, 260, 572, 261, 2041, 638, 364, - /* 1500 */ 604, 2077, 2224, 1585, 109, 2043, 652, 2045, 2046, 647, - /* 1510 */ 601, 642, 138, 1468, 265, 262, 2105, 2060, 2130, 612, - /* 1520 */ 2200, 2146, 374, 2126, 367, 649, 271, 1474, 95, 1935, - /* 1530 */ 2010, 620, 648, 625, 298, 621, 1949, 1948, 1947, 299, - /* 1540 */ 370, 626, 97, 99, 1823, 60, 2111, 300, 101, 303, - /* 1550 */ 1793, 292, 735, 1867, 2042, 327, 736, 654, 738, 336, - /* 1560 */ 312, 2041, 326, 50, 1456, 2077, 1451, 316, 109, 2043, - /* 1570 */ 652, 2045, 2046, 647, 305, 642, 307, 2002, 2001, 2000, - /* 1580 */ 2103, 77, 2130, 337, 2042, 2060, 374, 2126, 1997, 396, - /* 1590 */ 1459, 1461, 397, 649, 1432, 1433, 188, 401, 2010, 1995, - /* 1600 */ 648, 405, 403, 640, 1515, 1516, 1518, 1519, 1520, 1521, - /* 1610 */ 404, 1994, 407, 1993, 2042, 2060, 409, 1992, 411, 1991, - /* 1620 */ 413, 78, 1400, 649, 1399, 1961, 1960, 1959, 2010, 2041, - /* 1630 */ 648, 420, 421, 2077, 1958, 1957, 109, 2043, 652, 2045, - /* 1640 */ 2046, 647, 1351, 642, 2042, 2060, 1913, 1912, 635, 1910, - /* 1650 */ 2130, 144, 1909, 649, 374, 2126, 1908, 1911, 2010, 2041, - /* 1660 */ 648, 1907, 1906, 2077, 193, 438, 110, 2043, 652, 2045, - /* 1670 */ 2046, 647, 1904, 642, 1903, 2060, 1902, 1901, 2042, 440, - /* 1680 */ 2130, 1915, 1900, 649, 637, 2126, 1899, 1898, 2010, 650, - /* 1690 */ 648, 1897, 1896, 2077, 1895, 1894, 110, 2043, 652, 2045, - /* 1700 */ 2046, 647, 1893, 642, 1892, 2042, 1891, 1890, 1889, 2060, - /* 1710 */ 2130, 1888, 1887, 1886, 339, 2126, 1885, 649, 1884, 2041, - /* 1720 */ 146, 1883, 2010, 2077, 648, 1914, 169, 2043, 652, 2045, - /* 1730 */ 2046, 647, 1882, 642, 1881, 1880, 2060, 1353, 1879, 1878, - /* 1740 */ 468, 1877, 1876, 1740, 649, 1230, 199, 1739, 201, 2010, - /* 1750 */ 1738, 648, 2030, 2041, 2042, 202, 1736, 2077, 1700, 204, - /* 1760 */ 168, 2043, 652, 2045, 2046, 647, 75, 642, 177, 1143, - /* 1770 */ 485, 1142, 1699, 487, 1974, 1968, 205, 1956, 597, 2222, - /* 1780 */ 2041, 212, 1955, 76, 2077, 2060, 1933, 110, 2043, 652, - /* 1790 */ 2045, 2046, 647, 649, 642, 1801, 1177, 1735, 2010, 210, - /* 1800 */ 648, 2130, 2168, 1733, 502, 504, 2127, 503, 1731, 507, - /* 1810 */ 508, 506, 1729, 510, 1727, 511, 2042, 1714, 514, 512, - /* 1820 */ 516, 515, 1713, 1696, 1803, 62, 1299, 1298, 1802, 2041, - /* 1830 */ 1725, 222, 707, 2077, 1221, 1220, 318, 2043, 652, 2045, - /* 1840 */ 2046, 647, 1219, 642, 1218, 1215, 709, 2060, 2042, 1213, - /* 1850 */ 1214, 1212, 1718, 354, 355, 649, 540, 1716, 356, 1695, - /* 1860 */ 2010, 543, 648, 1694, 545, 1693, 549, 111, 547, 1420, - /* 1870 */ 1422, 1973, 1419, 1406, 55, 1967, 562, 1954, 1952, 2060, - /* 1880 */ 592, 1424, 2206, 26, 369, 66, 162, 649, 16, 244, - /* 1890 */ 19, 2041, 2010, 1633, 648, 2077, 576, 2042, 169, 2043, - /* 1900 */ 652, 2045, 2046, 647, 578, 642, 568, 28, 58, 248, - /* 1910 */ 563, 360, 5, 59, 2042, 250, 1615, 170, 255, 256, - /* 1920 */ 6, 254, 20, 2041, 30, 64, 1648, 2077, 2060, 2031, - /* 1930 */ 325, 2043, 652, 2045, 2046, 647, 646, 642, 29, 21, - /* 1940 */ 1607, 2010, 1653, 648, 91, 2060, 2042, 1654, 17, 1647, - /* 1950 */ 379, 2223, 365, 649, 1652, 1651, 366, 1582, 2010, 1581, - /* 1960 */ 648, 1953, 57, 268, 1951, 56, 1950, 1932, 94, 93, - /* 1970 */ 173, 2042, 2041, 274, 1931, 96, 2077, 2060, 287, 324, - /* 1980 */ 2043, 652, 2045, 2046, 647, 649, 642, 275, 2096, 2041, - /* 1990 */ 2010, 1613, 648, 2077, 102, 2042, 325, 2043, 652, 2045, - /* 2000 */ 2046, 647, 2060, 642, 22, 277, 282, 381, 623, 67, - /* 2010 */ 649, 12, 23, 1457, 1544, 2010, 1534, 648, 174, 284, - /* 2020 */ 2042, 555, 1512, 98, 1533, 2077, 2060, 10, 320, 2043, - /* 2030 */ 652, 2045, 2046, 647, 649, 642, 2080, 641, 36, 2010, - /* 2040 */ 1510, 648, 1509, 1481, 15, 24, 2041, 186, 1489, 25, - /* 2050 */ 2077, 2060, 655, 325, 2043, 652, 2045, 2046, 647, 649, - /* 2060 */ 642, 651, 653, 382, 2010, 657, 648, 1284, 659, 660, - /* 2070 */ 2041, 662, 1281, 1278, 2077, 663, 665, 309, 2043, 652, - /* 2080 */ 2045, 2046, 647, 2042, 642, 1272, 666, 668, 1261, 1270, - /* 2090 */ 669, 675, 290, 103, 104, 2041, 1293, 1276, 1275, 2077, - /* 2100 */ 1274, 1273, 310, 2043, 652, 2045, 2046, 647, 74, 642, - /* 2110 */ 2042, 1289, 1175, 685, 2060, 1209, 1208, 1207, 1206, 291, - /* 2120 */ 1205, 1204, 649, 1202, 1228, 1200, 1199, 2010, 1198, 648, - /* 2130 */ 697, 1196, 2042, 1195, 1194, 1193, 1192, 1191, 1190, 1225, - /* 2140 */ 1223, 2060, 1187, 1186, 1183, 1182, 1181, 1180, 1732, 649, - /* 2150 */ 717, 1730, 718, 719, 2010, 721, 648, 723, 2041, 1728, - /* 2160 */ 725, 727, 2077, 2060, 722, 311, 2043, 652, 2045, 2046, - /* 2170 */ 647, 649, 642, 1726, 726, 729, 2010, 730, 648, 1712, - /* 2180 */ 731, 733, 1132, 1692, 294, 2041, 737, 741, 1443, 2077, - /* 2190 */ 304, 740, 317, 2043, 652, 2045, 2046, 647, 1667, 642, - /* 2200 */ 1667, 1667, 1667, 1667, 1667, 1667, 1667, 2041, 1667, 1667, - /* 2210 */ 1667, 2077, 2042, 1667, 321, 2043, 652, 2045, 2046, 647, - /* 2220 */ 1667, 642, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 2042, - /* 2230 */ 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, - /* 2240 */ 1667, 1667, 1667, 2060, 1667, 1667, 2042, 1667, 1667, 1667, - /* 2250 */ 1667, 649, 1667, 1667, 1667, 1667, 2010, 1667, 648, 1667, - /* 2260 */ 2060, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 649, 1667, - /* 2270 */ 1667, 1667, 1667, 2010, 1667, 648, 1667, 2060, 2042, 1667, - /* 2280 */ 1667, 1667, 1667, 1667, 1667, 649, 1667, 2041, 1667, 1667, - /* 2290 */ 2010, 2077, 648, 1667, 313, 2043, 652, 2045, 2046, 647, - /* 2300 */ 1667, 642, 1667, 2042, 2041, 1667, 1667, 1667, 2077, 2060, - /* 2310 */ 1667, 322, 2043, 652, 2045, 2046, 647, 649, 642, 1667, - /* 2320 */ 1667, 2041, 2010, 1667, 648, 2077, 1667, 2042, 314, 2043, - /* 2330 */ 652, 2045, 2046, 647, 2060, 642, 1667, 1667, 1667, 1667, - /* 2340 */ 1667, 1667, 649, 1667, 1667, 1667, 1667, 2010, 1667, 648, - /* 2350 */ 1667, 1667, 2042, 2041, 1667, 1667, 1667, 2077, 2060, 1667, - /* 2360 */ 323, 2043, 652, 2045, 2046, 647, 649, 642, 1667, 1667, - /* 2370 */ 1667, 2010, 1667, 648, 1667, 1667, 1667, 1667, 2041, 1667, - /* 2380 */ 1667, 1667, 2077, 2060, 1667, 315, 2043, 652, 2045, 2046, - /* 2390 */ 647, 649, 642, 1667, 1667, 1667, 2010, 1667, 648, 1667, - /* 2400 */ 1667, 1667, 2041, 1667, 1667, 1667, 2077, 1667, 1667, 328, - /* 2410 */ 2043, 652, 2045, 2046, 647, 2042, 642, 1667, 1667, 1667, - /* 2420 */ 1667, 1667, 1667, 1667, 1667, 1667, 1667, 2041, 1667, 1667, - /* 2430 */ 1667, 2077, 1667, 1667, 329, 2043, 652, 2045, 2046, 647, - /* 2440 */ 1667, 642, 2042, 1667, 1667, 1667, 2060, 1667, 1667, 1667, - /* 2450 */ 1667, 1667, 1667, 1667, 649, 1667, 1667, 1667, 1667, 2010, - /* 2460 */ 1667, 648, 1667, 1667, 2042, 1667, 1667, 1667, 1667, 1667, - /* 2470 */ 1667, 1667, 1667, 2060, 1667, 1667, 1667, 1667, 1667, 1667, - /* 2480 */ 1667, 649, 1667, 1667, 1667, 1667, 2010, 1667, 648, 1667, - /* 2490 */ 2041, 1667, 1667, 1667, 2077, 2060, 1667, 2054, 2043, 652, - /* 2500 */ 2045, 2046, 647, 649, 642, 1667, 1667, 1667, 2010, 1667, - /* 2510 */ 648, 1667, 1667, 1667, 1667, 1667, 1667, 2041, 1667, 1667, - /* 2520 */ 1667, 2077, 1667, 1667, 2053, 2043, 652, 2045, 2046, 647, - /* 2530 */ 1667, 642, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 2041, - /* 2540 */ 1667, 1667, 1667, 2077, 2042, 1667, 2052, 2043, 652, 2045, - /* 2550 */ 2046, 647, 1667, 642, 1667, 1667, 1667, 1667, 1667, 1667, - /* 2560 */ 1667, 2042, 1667, 1667, 1667, 1667, 1667, 1667, 1667, 1667, - /* 2570 */ 1667, 1667, 1667, 1667, 1667, 2060, 1667, 1667, 2042, 1667, - /* 2580 */ 1667, 1667, 1667, 649, 1667, 1667, 1667, 1667, 2010, 1667, - /* 2590 */ 648, 1667, 2060, 1667, 1667, 1667, 1667, 1667, 1667, 1667, - /* 2600 */ 649, 1667, 1667, 1667, 1667, 2010, 1667, 648, 1667, 2060, - /* 2610 */ 2042, 1667, 1667, 1667, 1667, 1667, 1667, 649, 1667, 2041, - /* 2620 */ 1667, 1667, 2010, 2077, 648, 1667, 341, 2043, 652, 2045, - /* 2630 */ 2046, 647, 1667, 642, 1667, 2042, 2041, 1667, 1667, 1667, - /* 2640 */ 2077, 2060, 1667, 342, 2043, 652, 2045, 2046, 647, 649, - /* 2650 */ 642, 1667, 1667, 2041, 2010, 1667, 648, 2077, 1667, 2042, - /* 2660 */ 338, 2043, 652, 2045, 2046, 647, 2060, 642, 1667, 1667, - /* 2670 */ 1667, 1667, 1667, 1667, 649, 1667, 1667, 1667, 1667, 2010, - /* 2680 */ 1667, 648, 1667, 1667, 1667, 2041, 1667, 1667, 1667, 2077, - /* 2690 */ 2060, 1667, 343, 2043, 652, 2045, 2046, 647, 649, 642, - /* 2700 */ 1667, 1667, 1667, 2010, 1667, 648, 1667, 1667, 1667, 1667, - /* 2710 */ 650, 1667, 1667, 1667, 2077, 1667, 1667, 320, 2043, 652, - /* 2720 */ 2045, 2046, 647, 1667, 642, 1667, 1667, 1667, 1667, 1667, - /* 2730 */ 1667, 1667, 1667, 1667, 2041, 1667, 1667, 1667, 2077, 1667, - /* 2740 */ 1667, 319, 2043, 652, 2045, 2046, 647, 1667, 642, + /* 0 */ 483, 384, 484, 1709, 1925, 492, 1818, 484, 1709, 161, + /* 10 */ 35, 289, 45, 43, 1597, 190, 360, 2031, 1829, 178, + /* 20 */ 381, 633, 1446, 38, 37, 1878, 2049, 44, 42, 41, + /* 30 */ 40, 39, 1867, 1527, 386, 1444, 2213, 1873, 1875, 1471, + /* 40 */ 2208, 482, 38, 37, 487, 1715, 44, 42, 41, 40, + /* 50 */ 39, 1673, 2027, 2033, 615, 609, 2212, 2067, 1522, 27, + /* 60 */ 2209, 2211, 489, 644, 18, 612, 65, 2152, 485, 176, + /* 70 */ 2017, 1452, 650, 1946, 633, 131, 130, 129, 128, 127, + /* 80 */ 126, 125, 124, 123, 45, 43, 139, 1472, 1944, 621, + /* 90 */ 348, 1929, 381, 2149, 1446, 194, 14, 48, 341, 619, + /* 100 */ 572, 1880, 2048, 501, 2208, 1527, 2084, 1444, 346, 109, + /* 110 */ 2050, 654, 2052, 2053, 649, 106, 644, 1878, 741, 2214, + /* 120 */ 182, 179, 426, 2137, 2209, 598, 633, 375, 2133, 140, + /* 130 */ 1522, 2036, 83, 1529, 1530, 82, 18, 1819, 1471, 1556, + /* 140 */ 1473, 184, 2031, 1452, 44, 42, 41, 40, 39, 2163, + /* 150 */ 167, 464, 268, 2145, 608, 1781, 133, 607, 61, 1446, + /* 160 */ 2208, 1471, 331, 1502, 1512, 373, 609, 2213, 14, 1528, + /* 170 */ 1531, 2208, 1444, 164, 1803, 596, 182, 2027, 2033, 597, + /* 180 */ 2209, 598, 1829, 2208, 1447, 2067, 1445, 2212, 644, 1910, + /* 190 */ 741, 2209, 2210, 591, 1874, 1875, 1557, 139, 596, 182, + /* 200 */ 1308, 1309, 48, 2209, 598, 1529, 1530, 1601, 1452, 198, + /* 210 */ 197, 1450, 1451, 1471, 1501, 1504, 1505, 1506, 1507, 1508, + /* 220 */ 1509, 1510, 1511, 646, 642, 1520, 1521, 1523, 1524, 1525, + /* 230 */ 1526, 2, 463, 533, 532, 1502, 1512, 688, 634, 590, + /* 240 */ 122, 1528, 1531, 121, 120, 119, 118, 117, 116, 115, + /* 250 */ 114, 113, 132, 712, 710, 741, 1447, 491, 1445, 522, + /* 260 */ 487, 1715, 611, 180, 2145, 2146, 620, 137, 2150, 1827, + /* 270 */ 34, 379, 1551, 1552, 1553, 1554, 1555, 1559, 1560, 1561, + /* 280 */ 1562, 1363, 1364, 1450, 1451, 270, 1501, 1504, 1505, 1506, + /* 290 */ 1507, 1508, 1509, 1510, 1511, 646, 642, 1520, 1521, 1523, + /* 300 */ 1524, 1525, 1526, 2, 1503, 11, 45, 43, 1742, 1471, + /* 310 */ 1946, 185, 1880, 499, 381, 1939, 1446, 1696, 1625, 359, + /* 320 */ 2049, 1447, 372, 1445, 592, 1943, 621, 1527, 1878, 1444, + /* 330 */ 1265, 676, 675, 674, 1269, 673, 1271, 1272, 672, 1274, + /* 340 */ 669, 444, 1280, 666, 1282, 1283, 663, 660, 1450, 1451, + /* 350 */ 443, 2067, 1522, 1695, 1472, 185, 1503, 1470, 18, 651, + /* 360 */ 1157, 2017, 1156, 634, 2017, 1452, 650, 584, 583, 1623, + /* 370 */ 1624, 1626, 1627, 1628, 537, 536, 535, 132, 45, 43, + /* 380 */ 1532, 688, 136, 531, 527, 61, 381, 530, 1446, 1985, + /* 390 */ 14, 1158, 529, 534, 1827, 587, 2048, 2017, 528, 1527, + /* 400 */ 2084, 1444, 1880, 109, 2050, 654, 2052, 2053, 649, 369, + /* 410 */ 644, 1138, 741, 142, 1674, 149, 2108, 2137, 1878, 31, + /* 420 */ 634, 375, 2133, 61, 1522, 38, 37, 1529, 1530, 44, + /* 430 */ 42, 41, 40, 39, 187, 122, 238, 1452, 121, 120, + /* 440 */ 119, 118, 117, 116, 115, 114, 113, 537, 536, 535, + /* 450 */ 1140, 1827, 1143, 1144, 1452, 136, 531, 1502, 1512, 1558, + /* 460 */ 530, 1225, 46, 1528, 1531, 529, 534, 1380, 1381, 38, + /* 470 */ 37, 528, 560, 44, 42, 41, 40, 39, 1447, 86, + /* 480 */ 1445, 593, 588, 581, 741, 38, 37, 246, 271, 44, + /* 490 */ 42, 41, 40, 39, 420, 49, 2010, 1227, 419, 1529, + /* 500 */ 1530, 1537, 1823, 1379, 1382, 1450, 1451, 1471, 1501, 1504, + /* 510 */ 1505, 1506, 1507, 1508, 1509, 1510, 1511, 646, 642, 1520, + /* 520 */ 1521, 1523, 1524, 1525, 1526, 2, 61, 90, 92, 1502, + /* 530 */ 1512, 413, 604, 32, 744, 1528, 1531, 236, 185, 2213, + /* 540 */ 572, 235, 572, 1563, 2208, 1804, 2208, 166, 296, 1685, + /* 550 */ 1447, 679, 1445, 176, 415, 411, 1473, 100, 1636, 2214, + /* 560 */ 182, 2214, 182, 175, 2209, 598, 2209, 598, 620, 734, + /* 570 */ 730, 726, 722, 294, 1613, 1930, 185, 1450, 1451, 1820, + /* 580 */ 1501, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 646, + /* 590 */ 642, 1520, 1521, 1523, 1524, 1525, 1526, 2, 45, 43, + /* 600 */ 620, 89, 336, 221, 1880, 358, 381, 553, 1446, 86, + /* 610 */ 107, 374, 2049, 287, 1157, 618, 1156, 1939, 171, 1527, + /* 620 */ 1878, 1444, 11, 350, 518, 514, 510, 506, 218, 220, + /* 630 */ 38, 37, 1822, 1659, 44, 42, 41, 40, 39, 700, + /* 640 */ 542, 1694, 1474, 2067, 1522, 1158, 630, 629, 185, 1939, + /* 650 */ 1503, 612, 634, 686, 427, 552, 2017, 1452, 650, 280, + /* 660 */ 281, 41, 40, 39, 279, 87, 54, 428, 216, 234, + /* 670 */ 45, 43, 154, 153, 683, 682, 681, 151, 381, 185, + /* 680 */ 1446, 274, 46, 1827, 545, 2017, 273, 609, 2048, 539, + /* 690 */ 1816, 1527, 2084, 1444, 233, 109, 2050, 654, 2052, 2053, + /* 700 */ 649, 270, 644, 1407, 741, 1812, 241, 179, 634, 2137, + /* 710 */ 1814, 634, 634, 375, 2133, 11, 1522, 9, 139, 1529, + /* 720 */ 1530, 636, 424, 2109, 1880, 425, 434, 1925, 597, 1452, + /* 730 */ 567, 69, 2208, 1693, 68, 2164, 215, 209, 192, 1827, + /* 740 */ 1879, 214, 1827, 1827, 497, 1686, 1925, 596, 182, 1502, + /* 750 */ 1512, 237, 2209, 598, 14, 1528, 1531, 196, 551, 38, + /* 760 */ 37, 207, 605, 44, 42, 41, 40, 39, 33, 353, + /* 770 */ 1447, 549, 1445, 547, 38, 37, 741, 2017, 44, 42, + /* 780 */ 41, 40, 39, 1880, 181, 2145, 2146, 248, 137, 2150, + /* 790 */ 385, 1529, 1530, 1671, 2152, 2011, 1810, 1450, 1451, 1878, + /* 800 */ 1501, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 646, + /* 810 */ 642, 1520, 1521, 1523, 1524, 1525, 1526, 2, 1420, 1421, + /* 820 */ 2148, 1502, 1512, 334, 2152, 1469, 680, 1528, 1531, 1871, + /* 830 */ 678, 354, 457, 352, 351, 471, 524, 634, 470, 384, + /* 840 */ 526, 572, 1447, 141, 1445, 2208, 2108, 164, 1692, 1691, + /* 850 */ 2147, 449, 61, 440, 684, 472, 1829, 1871, 442, 394, + /* 860 */ 2214, 182, 525, 393, 685, 2209, 598, 1871, 1827, 1450, + /* 870 */ 1451, 1690, 1501, 1504, 1505, 1506, 1507, 1508, 1509, 1510, + /* 880 */ 1511, 646, 642, 1520, 1521, 1523, 1524, 1525, 1526, 2, + /* 890 */ 387, 152, 2017, 2017, 165, 2003, 1689, 634, 164, 309, + /* 900 */ 349, 1739, 1802, 2212, 638, 572, 2109, 1829, 641, 2208, + /* 910 */ 164, 450, 430, 307, 72, 2017, 1594, 71, 303, 1830, + /* 920 */ 701, 1857, 1797, 243, 2214, 182, 8, 1666, 1827, 2209, + /* 930 */ 598, 13, 12, 1143, 1144, 203, 479, 477, 474, 418, + /* 940 */ 2017, 417, 468, 401, 53, 462, 461, 460, 459, 456, + /* 950 */ 455, 454, 453, 452, 448, 447, 446, 445, 333, 437, + /* 960 */ 436, 435, 1688, 432, 431, 347, 416, 718, 717, 716, + /* 970 */ 715, 391, 61, 714, 713, 143, 708, 707, 706, 705, + /* 980 */ 704, 703, 702, 156, 698, 697, 696, 390, 389, 693, + /* 990 */ 692, 691, 690, 689, 38, 37, 1782, 609, 44, 42, + /* 1000 */ 41, 40, 39, 1474, 645, 185, 2017, 1687, 38, 37, + /* 1010 */ 686, 108, 44, 42, 41, 40, 39, 2177, 686, 1684, + /* 1020 */ 73, 1683, 558, 601, 526, 2049, 1665, 1570, 139, 154, + /* 1030 */ 153, 683, 682, 681, 151, 634, 634, 154, 153, 683, + /* 1040 */ 682, 681, 151, 265, 634, 634, 525, 634, 634, 500, + /* 1050 */ 1824, 2017, 80, 79, 423, 1548, 2067, 189, 239, 568, + /* 1060 */ 634, 613, 617, 2017, 651, 2017, 1827, 1827, 572, 2017, + /* 1070 */ 81, 650, 2208, 585, 284, 1827, 1827, 332, 1827, 1827, + /* 1080 */ 409, 219, 407, 403, 399, 396, 416, 2214, 182, 259, + /* 1090 */ 634, 1827, 2209, 598, 183, 2145, 2146, 1682, 137, 2150, + /* 1100 */ 634, 2048, 634, 2049, 631, 2084, 1681, 2035, 109, 2050, + /* 1110 */ 654, 2052, 2053, 649, 632, 644, 290, 1474, 2031, 1680, + /* 1120 */ 2228, 1827, 2137, 1729, 1679, 185, 375, 2133, 392, 634, + /* 1130 */ 1678, 1827, 1677, 1827, 2067, 1590, 2049, 2171, 2157, 1590, + /* 1140 */ 1676, 2017, 651, 388, 51, 538, 3, 2017, 191, 650, + /* 1150 */ 2017, 163, 1805, 2027, 2033, 362, 145, 555, 134, 554, + /* 1160 */ 1827, 2035, 1593, 2017, 644, 1455, 226, 2067, 2017, 224, + /* 1170 */ 600, 1934, 2031, 1454, 2017, 651, 2017, 1722, 228, 2048, + /* 1180 */ 2017, 227, 650, 2084, 2017, 2068, 109, 2050, 654, 2052, + /* 1190 */ 2053, 649, 230, 644, 232, 229, 147, 231, 2228, 540, + /* 1200 */ 2137, 1710, 152, 2049, 375, 2133, 2035, 2027, 2033, 363, + /* 1210 */ 1720, 152, 2048, 63, 63, 2184, 2084, 2031, 644, 109, + /* 1220 */ 2050, 654, 2052, 2053, 649, 252, 644, 152, 1668, 1669, + /* 1230 */ 1868, 2228, 543, 2137, 2067, 378, 377, 375, 2133, 47, + /* 1240 */ 13, 12, 651, 2167, 277, 1460, 610, 2017, 579, 650, + /* 1250 */ 52, 602, 2027, 2033, 376, 1415, 1527, 571, 1453, 2038, + /* 1260 */ 70, 105, 247, 644, 1418, 150, 1622, 1621, 2049, 152, + /* 1270 */ 63, 102, 47, 47, 658, 267, 150, 152, 254, 2048, + /* 1280 */ 616, 1522, 135, 2084, 150, 1187, 109, 2050, 654, 2052, + /* 1290 */ 2053, 649, 1377, 644, 1452, 694, 264, 282, 2228, 2067, + /* 1300 */ 2137, 2049, 1, 4, 375, 2133, 695, 651, 2040, 395, + /* 1310 */ 400, 1400, 2017, 626, 650, 2202, 1458, 1206, 286, 1716, + /* 1320 */ 345, 1188, 1258, 1564, 1457, 1513, 302, 1286, 1204, 1290, + /* 1330 */ 1297, 297, 2067, 195, 429, 1295, 1935, 155, 1474, 433, + /* 1340 */ 651, 640, 466, 438, 2048, 2017, 1469, 650, 2084, 451, + /* 1350 */ 1927, 109, 2050, 654, 2052, 2053, 649, 458, 644, 465, + /* 1360 */ 473, 467, 475, 2228, 476, 2137, 200, 478, 736, 375, + /* 1370 */ 2133, 480, 1475, 481, 490, 1477, 493, 2048, 206, 1472, + /* 1380 */ 2156, 2084, 494, 208, 109, 2050, 654, 2052, 2053, 649, + /* 1390 */ 1476, 644, 495, 1478, 496, 211, 2112, 2049, 2137, 498, + /* 1400 */ 213, 84, 375, 2133, 502, 85, 217, 1461, 1160, 1456, + /* 1410 */ 519, 520, 112, 521, 335, 557, 523, 1994, 1991, 1817, + /* 1420 */ 223, 1990, 559, 88, 1813, 225, 157, 148, 2067, 569, + /* 1430 */ 240, 298, 158, 1815, 1464, 1466, 651, 1811, 159, 160, + /* 1440 */ 563, 2017, 562, 650, 561, 242, 586, 642, 1520, 1521, + /* 1450 */ 1523, 1524, 1525, 1526, 244, 566, 2183, 2168, 2049, 2178, + /* 1460 */ 576, 624, 2182, 582, 364, 7, 589, 2159, 260, 595, + /* 1470 */ 258, 577, 250, 2048, 253, 172, 575, 2084, 261, 574, + /* 1480 */ 109, 2050, 654, 2052, 2053, 649, 606, 644, 603, 2067, + /* 1490 */ 365, 262, 2110, 2231, 2137, 1590, 266, 651, 375, 2133, + /* 1500 */ 2207, 263, 2017, 138, 650, 1473, 614, 2153, 2049, 368, + /* 1510 */ 1940, 1479, 622, 299, 627, 272, 95, 623, 1954, 1953, + /* 1520 */ 1952, 371, 300, 628, 1828, 1872, 97, 60, 99, 101, + /* 1530 */ 2118, 2049, 301, 304, 2048, 293, 737, 50, 2084, 2067, + /* 1540 */ 738, 109, 2050, 654, 2052, 2053, 649, 651, 644, 1798, + /* 1550 */ 328, 337, 2017, 637, 650, 2137, 656, 2009, 740, 375, + /* 1560 */ 2133, 313, 2067, 327, 317, 306, 338, 308, 2008, 2007, + /* 1570 */ 651, 77, 2004, 397, 398, 2017, 1437, 650, 1438, 188, + /* 1580 */ 402, 2049, 2002, 404, 2048, 405, 406, 2001, 2084, 408, + /* 1590 */ 2000, 110, 2050, 654, 2052, 2053, 649, 410, 644, 1999, + /* 1600 */ 412, 1998, 414, 78, 1403, 2137, 1402, 2048, 1966, 2136, + /* 1610 */ 2133, 2084, 2067, 1965, 110, 2050, 654, 2052, 2053, 649, + /* 1620 */ 651, 644, 1964, 421, 422, 2017, 1963, 650, 2137, 1962, + /* 1630 */ 1354, 2049, 639, 2133, 1918, 1917, 1915, 144, 1914, 1913, + /* 1640 */ 1916, 1912, 1911, 1909, 1908, 1907, 193, 439, 2049, 1906, + /* 1650 */ 441, 1920, 1905, 1904, 1903, 1902, 1901, 652, 1900, 1899, + /* 1660 */ 1898, 2084, 2067, 1897, 110, 2050, 654, 2052, 2053, 649, + /* 1670 */ 648, 644, 1896, 1895, 1894, 2017, 1893, 650, 2137, 2067, + /* 1680 */ 1892, 1891, 340, 2133, 1890, 1889, 1888, 651, 146, 1919, + /* 1690 */ 1887, 1886, 2017, 1356, 650, 469, 1882, 1881, 2049, 1885, + /* 1700 */ 1884, 1883, 1745, 1233, 1744, 199, 201, 2048, 1743, 1741, + /* 1710 */ 1705, 2084, 204, 177, 325, 2050, 654, 2052, 2053, 649, + /* 1720 */ 647, 644, 635, 2102, 2048, 202, 75, 1146, 2084, 2067, + /* 1730 */ 2037, 168, 2050, 654, 2052, 2053, 649, 651, 644, 486, + /* 1740 */ 1145, 488, 2017, 1704, 650, 205, 76, 1981, 1973, 1961, + /* 1750 */ 210, 212, 1960, 1938, 1806, 1740, 1738, 503, 1180, 505, + /* 1760 */ 1736, 2049, 504, 507, 508, 1734, 509, 511, 513, 512, + /* 1770 */ 1732, 515, 573, 2174, 2048, 1719, 517, 1718, 2084, 516, + /* 1780 */ 1701, 169, 2050, 654, 2052, 2053, 649, 1808, 644, 1301, + /* 1790 */ 1807, 1730, 2067, 62, 1302, 709, 1224, 1223, 1222, 1221, + /* 1800 */ 651, 222, 711, 1218, 1217, 2017, 1216, 650, 1215, 1723, + /* 1810 */ 355, 356, 1721, 544, 357, 1700, 541, 546, 1699, 1698, + /* 1820 */ 548, 550, 2049, 111, 1980, 1972, 55, 1411, 564, 1425, + /* 1830 */ 1427, 1424, 1429, 599, 2229, 26, 66, 2048, 1959, 1409, + /* 1840 */ 565, 2084, 1957, 361, 110, 2050, 654, 2052, 2053, 649, + /* 1850 */ 570, 644, 162, 2067, 2213, 19, 16, 578, 2137, 580, + /* 1860 */ 58, 651, 20, 2134, 59, 256, 2017, 28, 650, 1638, + /* 1870 */ 245, 251, 2049, 1620, 257, 249, 2038, 170, 5, 255, + /* 1880 */ 30, 64, 29, 21, 17, 1653, 1958, 6, 2049, 57, + /* 1890 */ 1652, 366, 1657, 1656, 1612, 1658, 91, 367, 2048, 1659, + /* 1900 */ 269, 1956, 2084, 2067, 1587, 168, 2050, 654, 2052, 2053, + /* 1910 */ 649, 651, 644, 56, 1586, 173, 2017, 1955, 650, 2067, + /* 1920 */ 1937, 94, 93, 275, 22, 625, 278, 651, 276, 1618, + /* 1930 */ 283, 67, 2017, 1936, 650, 96, 98, 288, 23, 102, + /* 1940 */ 12, 1462, 2087, 643, 1549, 1517, 1515, 2175, 2048, 2049, + /* 1950 */ 1539, 10, 2084, 174, 186, 319, 2050, 654, 2052, 2053, + /* 1960 */ 649, 36, 644, 1514, 2048, 2049, 1538, 285, 2084, 15, + /* 1970 */ 24, 169, 2050, 654, 2052, 2053, 649, 1486, 644, 1494, + /* 1980 */ 2067, 25, 655, 657, 1287, 370, 383, 659, 651, 1284, + /* 1990 */ 661, 662, 1279, 2017, 1281, 650, 2067, 664, 665, 594, + /* 2000 */ 1275, 667, 1273, 670, 648, 668, 671, 1264, 1278, 2017, + /* 2010 */ 103, 650, 677, 1277, 291, 1296, 1292, 104, 1276, 74, + /* 2020 */ 687, 653, 1212, 1178, 2230, 2048, 1211, 2049, 1210, 2084, + /* 2030 */ 1209, 1208, 326, 2050, 654, 2052, 2053, 649, 1207, 644, + /* 2040 */ 1231, 2048, 1205, 1203, 2049, 2084, 1202, 1201, 325, 2050, + /* 2050 */ 654, 2052, 2053, 649, 699, 644, 1199, 2103, 2067, 292, + /* 2060 */ 1198, 1197, 2049, 380, 1196, 1195, 651, 1194, 1193, 1228, + /* 2070 */ 1226, 2017, 1190, 650, 1189, 2067, 1186, 1184, 1185, 1183, + /* 2080 */ 382, 1737, 719, 651, 720, 721, 1735, 723, 2017, 725, + /* 2090 */ 650, 1733, 727, 2067, 1731, 729, 724, 728, 733, 731, + /* 2100 */ 1717, 651, 732, 2048, 735, 1135, 2017, 2084, 650, 1697, + /* 2110 */ 326, 2050, 654, 2052, 2053, 649, 739, 644, 295, 1448, + /* 2120 */ 2048, 305, 742, 743, 2084, 2049, 1672, 326, 2050, 654, + /* 2130 */ 2052, 2053, 649, 1672, 644, 1672, 1672, 1672, 556, 1672, + /* 2140 */ 1672, 1672, 2084, 1672, 1672, 321, 2050, 654, 2052, 2053, + /* 2150 */ 649, 1672, 644, 1672, 1672, 1672, 2067, 1672, 1672, 1672, + /* 2160 */ 1672, 1672, 1672, 1672, 651, 1672, 1672, 1672, 1672, 2017, + /* 2170 */ 1672, 650, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2180 */ 1672, 1672, 1672, 1672, 1672, 1672, 2049, 1672, 1672, 1672, + /* 2190 */ 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2200 */ 1672, 2048, 1672, 1672, 1672, 2084, 1672, 1672, 310, 2050, + /* 2210 */ 654, 2052, 2053, 649, 1672, 644, 1672, 2067, 1672, 1672, + /* 2220 */ 1672, 2049, 1672, 1672, 1672, 651, 1672, 1672, 1672, 1672, + /* 2230 */ 2017, 1672, 650, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2240 */ 1672, 1672, 1672, 1672, 2049, 1672, 1672, 1672, 1672, 1672, + /* 2250 */ 1672, 1672, 2067, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2260 */ 651, 1672, 2048, 1672, 1672, 2017, 2084, 650, 1672, 311, + /* 2270 */ 2050, 654, 2052, 2053, 649, 2067, 644, 1672, 1672, 1672, + /* 2280 */ 1672, 1672, 1672, 651, 1672, 1672, 1672, 1672, 2017, 1672, + /* 2290 */ 650, 1672, 1672, 1672, 1672, 1672, 1672, 2048, 1672, 1672, + /* 2300 */ 1672, 2084, 1672, 1672, 312, 2050, 654, 2052, 2053, 649, + /* 2310 */ 1672, 644, 1672, 2049, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2320 */ 2048, 1672, 1672, 1672, 2084, 1672, 1672, 318, 2050, 654, + /* 2330 */ 2052, 2053, 649, 1672, 644, 1672, 1672, 2049, 1672, 1672, + /* 2340 */ 1672, 1672, 1672, 1672, 2067, 1672, 1672, 1672, 1672, 1672, + /* 2350 */ 1672, 1672, 651, 1672, 1672, 1672, 1672, 2017, 1672, 650, + /* 2360 */ 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 2067, 1672, + /* 2370 */ 1672, 1672, 1672, 1672, 1672, 1672, 651, 1672, 1672, 1672, + /* 2380 */ 1672, 2017, 1672, 650, 1672, 1672, 1672, 1672, 1672, 2048, + /* 2390 */ 1672, 1672, 1672, 2084, 1672, 2049, 322, 2050, 654, 2052, + /* 2400 */ 2053, 649, 1672, 644, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2410 */ 1672, 1672, 1672, 2048, 1672, 1672, 2049, 2084, 1672, 1672, + /* 2420 */ 314, 2050, 654, 2052, 2053, 649, 2067, 644, 1672, 1672, + /* 2430 */ 1672, 1672, 1672, 1672, 651, 1672, 1672, 1672, 1672, 2017, + /* 2440 */ 1672, 650, 1672, 1672, 1672, 2049, 1672, 2067, 1672, 1672, + /* 2450 */ 1672, 1672, 1672, 1672, 1672, 651, 1672, 1672, 1672, 1672, + /* 2460 */ 2017, 1672, 650, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2470 */ 1672, 2048, 1672, 1672, 1672, 2084, 2067, 1672, 323, 2050, + /* 2480 */ 654, 2052, 2053, 649, 651, 644, 1672, 1672, 1672, 2017, + /* 2490 */ 1672, 650, 2048, 1672, 1672, 1672, 2084, 1672, 1672, 315, + /* 2500 */ 2050, 654, 2052, 2053, 649, 1672, 644, 1672, 1672, 1672, + /* 2510 */ 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 2049, + /* 2520 */ 1672, 2048, 1672, 1672, 1672, 2084, 1672, 1672, 324, 2050, + /* 2530 */ 654, 2052, 2053, 649, 1672, 644, 1672, 1672, 2049, 1672, + /* 2540 */ 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2550 */ 2067, 1672, 1672, 1672, 2049, 1672, 1672, 1672, 651, 1672, + /* 2560 */ 1672, 1672, 1672, 2017, 1672, 650, 1672, 1672, 1672, 2067, + /* 2570 */ 1672, 1672, 1672, 1672, 1672, 1672, 1672, 651, 1672, 1672, + /* 2580 */ 1672, 1672, 2017, 1672, 650, 2067, 1672, 1672, 1672, 1672, + /* 2590 */ 1672, 1672, 1672, 651, 1672, 2048, 1672, 1672, 2017, 2084, + /* 2600 */ 650, 1672, 316, 2050, 654, 2052, 2053, 649, 1672, 644, + /* 2610 */ 1672, 1672, 1672, 1672, 2048, 1672, 2049, 1672, 2084, 1672, + /* 2620 */ 1672, 329, 2050, 654, 2052, 2053, 649, 1672, 644, 1672, + /* 2630 */ 2048, 1672, 1672, 1672, 2084, 1672, 1672, 330, 2050, 654, + /* 2640 */ 2052, 2053, 649, 1672, 644, 1672, 1672, 2067, 1672, 1672, + /* 2650 */ 1672, 1672, 1672, 1672, 1672, 651, 1672, 1672, 1672, 1672, + /* 2660 */ 2017, 1672, 650, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2670 */ 1672, 1672, 1672, 1672, 1672, 1672, 1672, 2049, 1672, 1672, + /* 2680 */ 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2690 */ 1672, 1672, 2048, 1672, 1672, 1672, 2084, 1672, 1672, 2061, + /* 2700 */ 2050, 654, 2052, 2053, 649, 1672, 644, 1672, 2067, 1672, + /* 2710 */ 1672, 1672, 1672, 1672, 1672, 1672, 651, 1672, 1672, 1672, + /* 2720 */ 1672, 2017, 1672, 650, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2730 */ 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2740 */ 1672, 1672, 1672, 1672, 1672, 1672, 2049, 1672, 1672, 1672, + /* 2750 */ 1672, 1672, 1672, 2048, 1672, 1672, 1672, 2084, 1672, 1672, + /* 2760 */ 2060, 2050, 654, 2052, 2053, 649, 1672, 644, 1672, 1672, + /* 2770 */ 1672, 1672, 2049, 1672, 1672, 1672, 1672, 2067, 1672, 1672, + /* 2780 */ 1672, 1672, 1672, 1672, 1672, 651, 1672, 1672, 1672, 1672, + /* 2790 */ 2017, 1672, 650, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2800 */ 1672, 1672, 1672, 2067, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2810 */ 1672, 651, 1672, 1672, 1672, 1672, 2017, 1672, 650, 1672, + /* 2820 */ 1672, 1672, 2048, 1672, 1672, 1672, 2084, 1672, 1672, 2059, + /* 2830 */ 2050, 654, 2052, 2053, 649, 2049, 644, 1672, 1672, 1672, + /* 2840 */ 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 2048, 1672, + /* 2850 */ 1672, 1672, 2084, 1672, 2049, 342, 2050, 654, 2052, 2053, + /* 2860 */ 649, 1672, 644, 1672, 1672, 1672, 2067, 1672, 1672, 1672, + /* 2870 */ 1672, 1672, 1672, 1672, 651, 1672, 1672, 1672, 1672, 2017, + /* 2880 */ 1672, 650, 1672, 1672, 1672, 2067, 1672, 1672, 1672, 1672, + /* 2890 */ 1672, 1672, 1672, 651, 1672, 1672, 1672, 1672, 2017, 1672, + /* 2900 */ 650, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2910 */ 1672, 2048, 1672, 1672, 1672, 2084, 1672, 2049, 343, 2050, + /* 2920 */ 654, 2052, 2053, 649, 1672, 644, 1672, 1672, 1672, 1672, + /* 2930 */ 2048, 1672, 1672, 2049, 2084, 1672, 1672, 339, 2050, 654, + /* 2940 */ 2052, 2053, 649, 1672, 644, 1672, 1672, 1672, 2067, 1672, + /* 2950 */ 1672, 1672, 1672, 1672, 1672, 1672, 651, 1672, 1672, 1672, + /* 2960 */ 1672, 2017, 1672, 650, 2067, 1672, 1672, 1672, 1672, 1672, + /* 2970 */ 1672, 1672, 651, 1672, 1672, 1672, 1672, 2017, 1672, 650, + /* 2980 */ 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 2990 */ 1672, 1672, 1672, 2048, 1672, 2049, 1672, 2084, 1672, 1672, + /* 3000 */ 344, 2050, 654, 2052, 2053, 649, 1672, 644, 1672, 652, + /* 3010 */ 1672, 1672, 1672, 2084, 1672, 1672, 321, 2050, 654, 2052, + /* 3020 */ 2053, 649, 1672, 644, 1672, 1672, 2067, 1672, 1672, 1672, + /* 3030 */ 1672, 1672, 1672, 1672, 651, 1672, 1672, 1672, 1672, 2017, + /* 3040 */ 1672, 650, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 3050 */ 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 3060 */ 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, 1672, + /* 3070 */ 1672, 2048, 1672, 1672, 1672, 2084, 1672, 1672, 320, 2050, + /* 3080 */ 654, 2052, 2053, 649, 1672, 644, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 377, 439, 0, 339, 335, 443, 337, 338, 335, 363, - /* 10 */ 337, 338, 12, 13, 14, 392, 393, 2, 362, 361, - /* 20 */ 20, 459, 22, 8, 9, 463, 464, 12, 13, 14, - /* 30 */ 15, 16, 374, 33, 370, 35, 20, 331, 362, 383, - /* 40 */ 384, 364, 8, 9, 394, 369, 12, 13, 14, 15, - /* 50 */ 16, 339, 375, 439, 378, 8, 9, 443, 58, 12, - /* 60 */ 13, 14, 15, 16, 64, 63, 373, 20, 362, 376, - /* 70 */ 377, 71, 328, 459, 346, 339, 370, 463, 464, 351, - /* 80 */ 20, 375, 22, 377, 12, 13, 409, 410, 411, 439, - /* 90 */ 4, 379, 20, 443, 22, 35, 96, 420, 64, 435, - /* 100 */ 436, 437, 21, 439, 440, 33, 370, 35, 458, 459, - /* 110 */ 44, 51, 406, 463, 464, 34, 410, 36, 118, 413, - /* 120 */ 414, 415, 416, 417, 418, 419, 420, 421, 422, 43, - /* 130 */ 58, 45, 46, 133, 134, 20, 64, 336, 394, 105, - /* 140 */ 339, 340, 398, 71, 331, 109, 110, 111, 112, 113, - /* 150 */ 114, 115, 116, 117, 118, 119, 362, 121, 122, 123, - /* 160 */ 124, 125, 126, 163, 164, 377, 339, 20, 96, 169, - /* 170 */ 170, 435, 436, 437, 354, 439, 440, 389, 384, 443, - /* 180 */ 392, 393, 362, 439, 184, 339, 186, 443, 375, 369, - /* 190 */ 118, 371, 20, 58, 458, 459, 162, 370, 378, 463, - /* 200 */ 464, 63, 458, 459, 20, 133, 134, 463, 464, 20, - /* 210 */ 210, 211, 165, 213, 214, 215, 216, 217, 218, 219, + /* 0 */ 336, 355, 338, 339, 371, 336, 365, 338, 339, 363, + /* 10 */ 430, 431, 12, 13, 14, 382, 370, 376, 372, 362, + /* 20 */ 20, 20, 22, 8, 9, 379, 332, 12, 13, 14, + /* 30 */ 15, 16, 375, 33, 374, 35, 441, 377, 378, 20, + /* 40 */ 445, 337, 8, 9, 340, 341, 12, 13, 14, 15, + /* 50 */ 16, 0, 411, 412, 395, 340, 461, 363, 58, 44, + /* 60 */ 465, 466, 14, 422, 64, 371, 4, 414, 20, 363, + /* 70 */ 376, 71, 378, 378, 20, 24, 25, 26, 27, 28, + /* 80 */ 29, 30, 31, 32, 12, 13, 371, 20, 393, 394, + /* 90 */ 384, 385, 20, 440, 22, 58, 96, 96, 64, 20, + /* 100 */ 441, 363, 408, 63, 445, 33, 412, 35, 370, 415, + /* 110 */ 416, 417, 418, 419, 420, 344, 422, 379, 118, 460, + /* 120 */ 461, 427, 340, 429, 465, 466, 20, 433, 434, 358, + /* 130 */ 58, 365, 95, 133, 134, 98, 64, 366, 20, 105, + /* 140 */ 20, 447, 376, 71, 12, 13, 14, 15, 16, 455, + /* 150 */ 347, 80, 437, 438, 439, 352, 441, 442, 96, 22, + /* 160 */ 445, 20, 380, 163, 164, 355, 340, 441, 96, 169, + /* 170 */ 170, 445, 35, 363, 0, 460, 461, 411, 412, 441, + /* 180 */ 465, 466, 372, 445, 184, 363, 186, 461, 422, 0, + /* 190 */ 118, 465, 466, 371, 377, 378, 162, 371, 460, 461, + /* 200 */ 133, 134, 96, 465, 466, 133, 134, 14, 71, 138, + /* 210 */ 139, 211, 212, 20, 214, 215, 216, 217, 218, 219, /* 220 */ 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, - /* 230 */ 230, 96, 386, 98, 388, 163, 164, 168, 343, 63, + /* 230 */ 230, 231, 161, 349, 350, 163, 164, 63, 340, 417, /* 240 */ 21, 169, 170, 24, 25, 26, 27, 28, 29, 30, - /* 250 */ 31, 32, 357, 14, 37, 330, 184, 332, 186, 20, - /* 260 */ 365, 434, 435, 436, 437, 20, 439, 440, 96, 235, + /* 250 */ 31, 32, 354, 349, 350, 118, 184, 337, 186, 361, + /* 260 */ 340, 341, 436, 437, 438, 439, 340, 441, 442, 371, /* 270 */ 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - /* 280 */ 96, 96, 210, 211, 35, 213, 214, 215, 216, 217, + /* 280 */ 246, 163, 164, 211, 212, 165, 214, 215, 216, 217, /* 290 */ 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - /* 300 */ 228, 229, 230, 364, 232, 12, 13, 12, 13, 14, - /* 310 */ 15, 16, 20, 20, 375, 22, 99, 19, 101, 102, - /* 320 */ 71, 104, 253, 254, 255, 108, 33, 20, 35, 336, - /* 330 */ 331, 33, 339, 340, 339, 428, 429, 8, 9, 273, - /* 340 */ 179, 12, 13, 14, 15, 16, 48, 130, 409, 410, - /* 350 */ 411, 58, 54, 55, 56, 57, 58, 64, 345, 420, - /* 360 */ 14, 362, 201, 202, 71, 370, 20, 107, 183, 370, - /* 370 */ 185, 412, 359, 20, 375, 22, 377, 12, 13, 14, - /* 380 */ 20, 368, 3, 248, 232, 20, 234, 22, 96, 96, - /* 390 */ 127, 128, 4, 95, 209, 132, 98, 438, 33, 20, - /* 400 */ 35, 424, 163, 426, 51, 406, 0, 339, 331, 410, - /* 410 */ 339, 118, 413, 414, 415, 416, 417, 418, 0, 420, - /* 420 */ 248, 353, 372, 58, 353, 375, 133, 134, 360, 131, - /* 430 */ 435, 436, 437, 248, 439, 440, 71, 339, 370, 21, - /* 440 */ 232, 370, 24, 25, 26, 27, 28, 29, 30, 31, - /* 450 */ 32, 353, 375, 454, 455, 58, 163, 164, 360, 362, - /* 460 */ 343, 96, 169, 170, 166, 424, 369, 426, 370, 171, - /* 470 */ 163, 164, 66, 67, 68, 378, 97, 184, 47, 186, - /* 480 */ 74, 75, 365, 118, 96, 79, 188, 80, 190, 0, - /* 490 */ 84, 85, 95, 133, 134, 98, 90, 127, 133, 134, - /* 500 */ 376, 377, 20, 210, 211, 176, 213, 214, 215, 216, - /* 510 */ 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, - /* 520 */ 227, 228, 229, 230, 66, 67, 68, 96, 163, 164, - /* 530 */ 0, 362, 74, 75, 169, 170, 339, 79, 369, 339, - /* 540 */ 248, 71, 84, 85, 165, 138, 139, 378, 90, 184, - /* 550 */ 353, 186, 339, 353, 24, 25, 26, 27, 28, 29, - /* 560 */ 30, 31, 32, 193, 194, 394, 107, 370, 161, 398, - /* 570 */ 370, 14, 15, 16, 331, 210, 211, 339, 213, 214, - /* 580 */ 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - /* 590 */ 225, 226, 227, 228, 229, 230, 12, 13, 20, 386, - /* 600 */ 370, 388, 345, 274, 20, 362, 22, 339, 439, 339, - /* 610 */ 439, 381, 443, 370, 443, 133, 134, 33, 375, 35, - /* 620 */ 377, 353, 33, 353, 386, 368, 388, 458, 459, 458, - /* 630 */ 459, 96, 463, 464, 463, 464, 248, 48, 370, 331, - /* 640 */ 370, 152, 58, 54, 55, 56, 57, 58, 339, 406, - /* 650 */ 161, 169, 170, 410, 210, 71, 413, 414, 415, 416, - /* 660 */ 417, 418, 353, 420, 96, 354, 14, 331, 12, 13, - /* 670 */ 427, 3, 20, 362, 431, 432, 20, 71, 22, 370, - /* 680 */ 96, 4, 371, 375, 95, 331, 412, 98, 363, 33, - /* 690 */ 331, 35, 423, 8, 9, 426, 19, 12, 13, 14, - /* 700 */ 15, 16, 118, 259, 260, 261, 262, 263, 264, 265, - /* 710 */ 33, 375, 438, 331, 58, 8, 9, 133, 134, 12, - /* 720 */ 13, 14, 15, 16, 128, 48, 2, 71, 132, 375, - /* 730 */ 53, 0, 8, 9, 375, 58, 12, 13, 14, 15, - /* 740 */ 16, 331, 439, 165, 162, 412, 443, 163, 164, 362, - /* 750 */ 339, 44, 96, 169, 170, 166, 167, 375, 1, 2, - /* 760 */ 171, 458, 459, 174, 353, 378, 463, 464, 184, 354, - /* 770 */ 186, 438, 95, 4, 118, 98, 362, 362, 331, 190, - /* 780 */ 363, 370, 97, 248, 370, 375, 371, 191, 192, 133, - /* 790 */ 134, 195, 358, 197, 210, 211, 20, 213, 214, 215, - /* 800 */ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - /* 810 */ 226, 227, 228, 229, 230, 163, 248, 235, 363, 163, - /* 820 */ 164, 18, 375, 20, 108, 169, 170, 245, 362, 415, - /* 830 */ 27, 348, 349, 30, 362, 44, 33, 371, 404, 108, - /* 840 */ 184, 369, 186, 127, 128, 129, 130, 131, 132, 331, - /* 850 */ 378, 48, 331, 50, 97, 363, 53, 370, 127, 128, - /* 860 */ 129, 130, 131, 132, 348, 349, 210, 211, 381, 213, - /* 870 */ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, - /* 880 */ 224, 225, 226, 227, 228, 229, 230, 350, 97, 352, - /* 890 */ 339, 372, 18, 375, 375, 331, 375, 23, 95, 0, - /* 900 */ 339, 8, 9, 0, 353, 12, 13, 14, 15, 16, - /* 910 */ 107, 37, 38, 363, 353, 41, 331, 370, 363, 8, - /* 920 */ 9, 370, 362, 12, 13, 14, 15, 16, 381, 369, - /* 930 */ 42, 370, 44, 59, 60, 61, 62, 269, 378, 375, - /* 940 */ 137, 165, 108, 140, 141, 142, 143, 144, 145, 146, - /* 950 */ 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, - /* 960 */ 375, 158, 159, 160, 130, 66, 67, 68, 69, 70, - /* 970 */ 96, 72, 73, 74, 75, 76, 77, 78, 79, 80, - /* 980 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - /* 990 */ 91, 92, 339, 339, 331, 8, 9, 399, 394, 12, - /* 1000 */ 13, 14, 15, 16, 22, 339, 353, 353, 97, 135, - /* 1010 */ 331, 108, 0, 339, 339, 339, 20, 35, 249, 353, - /* 1020 */ 39, 331, 331, 370, 370, 331, 331, 353, 353, 353, - /* 1030 */ 127, 128, 129, 130, 131, 132, 370, 372, 375, 20, - /* 1040 */ 375, 362, 331, 439, 370, 370, 370, 443, 44, 370, - /* 1050 */ 176, 177, 178, 71, 375, 181, 377, 339, 165, 331, - /* 1060 */ 48, 355, 458, 459, 358, 375, 375, 463, 464, 375, - /* 1070 */ 375, 353, 44, 364, 200, 45, 46, 203, 35, 205, - /* 1080 */ 206, 207, 208, 209, 375, 406, 375, 332, 370, 410, - /* 1090 */ 362, 364, 413, 414, 415, 416, 417, 418, 370, 420, - /* 1100 */ 118, 97, 375, 375, 425, 377, 427, 351, 354, 339, - /* 1110 */ 431, 432, 246, 247, 22, 64, 362, 364, 409, 410, - /* 1120 */ 411, 339, 248, 353, 445, 371, 331, 35, 375, 420, - /* 1130 */ 394, 42, 453, 44, 406, 353, 409, 410, 410, 0, - /* 1140 */ 370, 413, 414, 415, 416, 417, 418, 420, 420, 165, - /* 1150 */ 44, 423, 370, 425, 426, 427, 172, 362, 331, 431, - /* 1160 */ 432, 165, 409, 410, 107, 370, 184, 0, 186, 0, - /* 1170 */ 375, 100, 377, 420, 103, 439, 0, 100, 100, 443, - /* 1180 */ 103, 103, 163, 44, 100, 58, 196, 103, 198, 362, - /* 1190 */ 385, 22, 210, 211, 458, 459, 0, 370, 22, 463, - /* 1200 */ 464, 406, 375, 97, 377, 410, 35, 331, 413, 414, - /* 1210 */ 415, 416, 417, 418, 157, 420, 49, 44, 22, 44, - /* 1220 */ 425, 44, 427, 133, 134, 98, 431, 432, 247, 186, - /* 1230 */ 44, 44, 44, 406, 44, 1, 2, 410, 362, 96, - /* 1240 */ 413, 414, 415, 416, 417, 418, 370, 420, 453, 106, - /* 1250 */ 467, 375, 425, 377, 427, 456, 44, 394, 431, 432, - /* 1260 */ 44, 210, 44, 44, 44, 341, 331, 450, 362, 442, - /* 1270 */ 97, 44, 97, 13, 97, 44, 44, 44, 35, 44, - /* 1280 */ 341, 385, 406, 97, 97, 97, 410, 97, 338, 413, - /* 1290 */ 414, 415, 416, 417, 418, 35, 420, 362, 13, 271, - /* 1300 */ 331, 425, 439, 427, 374, 370, 443, 431, 432, 97, - /* 1310 */ 375, 385, 377, 97, 71, 97, 97, 97, 442, 441, - /* 1320 */ 35, 458, 459, 433, 97, 460, 463, 464, 97, 97, - /* 1330 */ 97, 362, 97, 444, 48, 250, 408, 396, 407, 370, - /* 1340 */ 182, 406, 42, 382, 375, 410, 377, 20, 413, 414, - /* 1350 */ 415, 416, 417, 418, 382, 420, 385, 186, 380, 162, - /* 1360 */ 425, 20, 427, 339, 339, 382, 431, 432, 380, 380, - /* 1370 */ 339, 94, 339, 331, 347, 406, 339, 442, 339, 410, - /* 1380 */ 20, 333, 413, 414, 415, 416, 417, 418, 333, 420, - /* 1390 */ 20, 345, 12, 13, 425, 401, 427, 20, 377, 345, - /* 1400 */ 431, 432, 22, 20, 362, 340, 20, 345, 395, 340, - /* 1410 */ 52, 442, 370, 33, 342, 35, 342, 375, 345, 377, - /* 1420 */ 345, 345, 331, 362, 345, 339, 333, 375, 362, 362, - /* 1430 */ 362, 333, 362, 339, 375, 375, 199, 405, 58, 96, - /* 1440 */ 343, 403, 362, 362, 362, 362, 401, 189, 406, 362, - /* 1450 */ 362, 71, 410, 362, 343, 413, 414, 415, 416, 417, - /* 1460 */ 418, 370, 420, 400, 339, 258, 375, 425, 377, 427, - /* 1470 */ 257, 449, 377, 431, 432, 449, 375, 375, 175, 375, - /* 1480 */ 375, 385, 268, 266, 442, 385, 331, 452, 267, 390, - /* 1490 */ 449, 451, 448, 390, 447, 251, 446, 406, 118, 275, - /* 1500 */ 272, 410, 468, 247, 413, 414, 415, 416, 417, 418, - /* 1510 */ 270, 420, 370, 20, 461, 408, 425, 362, 427, 339, - /* 1520 */ 462, 412, 431, 432, 340, 370, 343, 20, 343, 388, - /* 1530 */ 375, 375, 377, 167, 390, 375, 375, 375, 375, 390, - /* 1540 */ 375, 387, 343, 343, 370, 96, 430, 358, 96, 339, - /* 1550 */ 352, 343, 36, 375, 331, 402, 334, 366, 333, 391, - /* 1560 */ 356, 406, 356, 397, 184, 410, 186, 356, 413, 414, - /* 1570 */ 415, 416, 417, 418, 344, 420, 329, 0, 0, 0, - /* 1580 */ 425, 42, 427, 391, 331, 362, 431, 432, 0, 35, - /* 1590 */ 210, 211, 204, 370, 35, 35, 35, 204, 375, 0, - /* 1600 */ 377, 204, 35, 223, 224, 225, 226, 227, 228, 229, - /* 1610 */ 35, 0, 204, 0, 331, 362, 35, 0, 22, 0, - /* 1620 */ 35, 191, 186, 370, 184, 0, 0, 0, 375, 406, - /* 1630 */ 377, 180, 179, 410, 0, 0, 413, 414, 415, 416, - /* 1640 */ 417, 418, 47, 420, 331, 362, 0, 0, 425, 0, - /* 1650 */ 427, 42, 0, 370, 431, 432, 0, 0, 375, 406, - /* 1660 */ 377, 0, 0, 410, 152, 35, 413, 414, 415, 416, - /* 1670 */ 417, 418, 0, 420, 0, 362, 0, 0, 331, 152, - /* 1680 */ 427, 0, 0, 370, 431, 432, 0, 0, 375, 406, - /* 1690 */ 377, 0, 0, 410, 0, 0, 413, 414, 415, 416, - /* 1700 */ 417, 418, 0, 420, 0, 331, 0, 0, 0, 362, - /* 1710 */ 427, 0, 0, 0, 431, 432, 0, 370, 0, 406, - /* 1720 */ 42, 0, 375, 410, 377, 0, 413, 414, 415, 416, - /* 1730 */ 417, 418, 0, 420, 0, 0, 362, 22, 0, 0, - /* 1740 */ 136, 0, 0, 0, 370, 35, 58, 0, 58, 375, - /* 1750 */ 0, 377, 47, 406, 331, 58, 0, 410, 0, 42, - /* 1760 */ 413, 414, 415, 416, 417, 418, 39, 420, 44, 14, - /* 1770 */ 47, 14, 0, 47, 0, 0, 40, 0, 465, 466, - /* 1780 */ 406, 175, 0, 39, 410, 362, 0, 413, 414, 415, - /* 1790 */ 416, 417, 418, 370, 420, 0, 65, 0, 375, 39, - /* 1800 */ 377, 427, 455, 0, 35, 39, 432, 48, 0, 48, - /* 1810 */ 39, 35, 0, 35, 0, 48, 331, 0, 35, 39, - /* 1820 */ 39, 48, 0, 0, 0, 105, 35, 22, 0, 406, - /* 1830 */ 0, 103, 44, 410, 35, 35, 413, 414, 415, 416, - /* 1840 */ 417, 418, 35, 420, 35, 35, 44, 362, 331, 22, - /* 1850 */ 35, 35, 0, 22, 22, 370, 50, 0, 22, 0, - /* 1860 */ 375, 35, 377, 0, 35, 0, 22, 20, 35, 35, - /* 1870 */ 35, 0, 35, 35, 165, 0, 22, 0, 0, 362, - /* 1880 */ 457, 97, 3, 96, 367, 96, 187, 370, 252, 167, - /* 1890 */ 44, 406, 375, 97, 377, 410, 231, 331, 413, 414, - /* 1900 */ 415, 416, 417, 418, 256, 420, 173, 96, 44, 96, - /* 1910 */ 165, 165, 172, 44, 331, 97, 97, 96, 44, 47, - /* 1920 */ 172, 96, 252, 406, 44, 3, 35, 410, 362, 47, - /* 1930 */ 413, 414, 415, 416, 417, 418, 370, 420, 96, 44, - /* 1940 */ 97, 375, 97, 377, 96, 362, 331, 97, 252, 35, - /* 1950 */ 367, 466, 35, 370, 35, 35, 35, 97, 375, 97, - /* 1960 */ 377, 0, 44, 47, 0, 246, 0, 0, 39, 96, - /* 1970 */ 47, 331, 406, 47, 0, 39, 410, 362, 47, 413, - /* 1980 */ 414, 415, 416, 417, 418, 370, 420, 97, 422, 406, - /* 1990 */ 375, 97, 377, 410, 106, 331, 413, 414, 415, 416, - /* 2000 */ 417, 418, 362, 420, 96, 96, 96, 367, 168, 96, - /* 2010 */ 370, 2, 44, 22, 210, 375, 231, 377, 47, 166, - /* 2020 */ 331, 406, 97, 96, 231, 410, 362, 233, 413, 414, - /* 2030 */ 415, 416, 417, 418, 370, 420, 96, 96, 96, 375, - /* 2040 */ 97, 377, 97, 97, 96, 96, 406, 47, 22, 96, - /* 2050 */ 410, 362, 35, 413, 414, 415, 416, 417, 418, 370, - /* 2060 */ 420, 212, 107, 35, 375, 96, 377, 97, 35, 96, - /* 2070 */ 406, 35, 97, 97, 410, 96, 35, 413, 414, 415, - /* 2080 */ 416, 417, 418, 331, 420, 97, 96, 35, 22, 97, - /* 2090 */ 96, 108, 44, 96, 96, 406, 35, 120, 120, 410, - /* 2100 */ 120, 120, 413, 414, 415, 416, 417, 418, 96, 420, - /* 2110 */ 331, 22, 65, 64, 362, 35, 35, 35, 35, 44, - /* 2120 */ 35, 35, 370, 35, 71, 35, 35, 375, 35, 377, - /* 2130 */ 93, 35, 331, 35, 35, 22, 35, 35, 35, 71, - /* 2140 */ 35, 362, 35, 35, 35, 35, 22, 35, 0, 370, - /* 2150 */ 35, 0, 48, 39, 375, 35, 377, 39, 406, 0, - /* 2160 */ 35, 39, 410, 362, 48, 413, 414, 415, 416, 417, - /* 2170 */ 418, 370, 420, 0, 48, 35, 375, 48, 377, 0, - /* 2180 */ 39, 35, 35, 0, 22, 406, 21, 20, 22, 410, - /* 2190 */ 22, 21, 413, 414, 415, 416, 417, 418, 469, 420, - /* 2200 */ 469, 469, 469, 469, 469, 469, 469, 406, 469, 469, - /* 2210 */ 469, 410, 331, 469, 413, 414, 415, 416, 417, 418, - /* 2220 */ 469, 420, 469, 469, 469, 469, 469, 469, 469, 331, - /* 2230 */ 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, - /* 2240 */ 469, 469, 469, 362, 469, 469, 331, 469, 469, 469, - /* 2250 */ 469, 370, 469, 469, 469, 469, 375, 469, 377, 469, - /* 2260 */ 362, 469, 469, 469, 469, 469, 469, 469, 370, 469, - /* 2270 */ 469, 469, 469, 375, 469, 377, 469, 362, 331, 469, - /* 2280 */ 469, 469, 469, 469, 469, 370, 469, 406, 469, 469, - /* 2290 */ 375, 410, 377, 469, 413, 414, 415, 416, 417, 418, - /* 2300 */ 469, 420, 469, 331, 406, 469, 469, 469, 410, 362, - /* 2310 */ 469, 413, 414, 415, 416, 417, 418, 370, 420, 469, - /* 2320 */ 469, 406, 375, 469, 377, 410, 469, 331, 413, 414, - /* 2330 */ 415, 416, 417, 418, 362, 420, 469, 469, 469, 469, - /* 2340 */ 469, 469, 370, 469, 469, 469, 469, 375, 469, 377, - /* 2350 */ 469, 469, 331, 406, 469, 469, 469, 410, 362, 469, - /* 2360 */ 413, 414, 415, 416, 417, 418, 370, 420, 469, 469, - /* 2370 */ 469, 375, 469, 377, 469, 469, 469, 469, 406, 469, - /* 2380 */ 469, 469, 410, 362, 469, 413, 414, 415, 416, 417, - /* 2390 */ 418, 370, 420, 469, 469, 469, 375, 469, 377, 469, - /* 2400 */ 469, 469, 406, 469, 469, 469, 410, 469, 469, 413, - /* 2410 */ 414, 415, 416, 417, 418, 331, 420, 469, 469, 469, - /* 2420 */ 469, 469, 469, 469, 469, 469, 469, 406, 469, 469, - /* 2430 */ 469, 410, 469, 469, 413, 414, 415, 416, 417, 418, - /* 2440 */ 469, 420, 331, 469, 469, 469, 362, 469, 469, 469, - /* 2450 */ 469, 469, 469, 469, 370, 469, 469, 469, 469, 375, - /* 2460 */ 469, 377, 469, 469, 331, 469, 469, 469, 469, 469, - /* 2470 */ 469, 469, 469, 362, 469, 469, 469, 469, 469, 469, - /* 2480 */ 469, 370, 469, 469, 469, 469, 375, 469, 377, 469, - /* 2490 */ 406, 469, 469, 469, 410, 362, 469, 413, 414, 415, - /* 2500 */ 416, 417, 418, 370, 420, 469, 469, 469, 375, 469, - /* 2510 */ 377, 469, 469, 469, 469, 469, 469, 406, 469, 469, - /* 2520 */ 469, 410, 469, 469, 413, 414, 415, 416, 417, 418, - /* 2530 */ 469, 420, 469, 469, 469, 469, 469, 469, 469, 406, - /* 2540 */ 469, 469, 469, 410, 331, 469, 413, 414, 415, 416, - /* 2550 */ 417, 418, 469, 420, 469, 469, 469, 469, 469, 469, - /* 2560 */ 469, 331, 469, 469, 469, 469, 469, 469, 469, 469, - /* 2570 */ 469, 469, 469, 469, 469, 362, 469, 469, 331, 469, - /* 2580 */ 469, 469, 469, 370, 469, 469, 469, 469, 375, 469, - /* 2590 */ 377, 469, 362, 469, 469, 469, 469, 469, 469, 469, - /* 2600 */ 370, 469, 469, 469, 469, 375, 469, 377, 469, 362, - /* 2610 */ 331, 469, 469, 469, 469, 469, 469, 370, 469, 406, - /* 2620 */ 469, 469, 375, 410, 377, 469, 413, 414, 415, 416, - /* 2630 */ 417, 418, 469, 420, 469, 331, 406, 469, 469, 469, - /* 2640 */ 410, 362, 469, 413, 414, 415, 416, 417, 418, 370, - /* 2650 */ 420, 469, 469, 406, 375, 469, 377, 410, 469, 331, - /* 2660 */ 413, 414, 415, 416, 417, 418, 362, 420, 469, 469, - /* 2670 */ 469, 469, 469, 469, 370, 469, 469, 469, 469, 375, - /* 2680 */ 469, 377, 469, 469, 469, 406, 469, 469, 469, 410, - /* 2690 */ 362, 469, 413, 414, 415, 416, 417, 418, 370, 420, - /* 2700 */ 469, 469, 469, 375, 469, 377, 469, 469, 469, 469, - /* 2710 */ 406, 469, 469, 469, 410, 469, 469, 413, 414, 415, - /* 2720 */ 416, 417, 418, 469, 420, 469, 469, 469, 469, 469, - /* 2730 */ 469, 469, 469, 469, 406, 469, 469, 469, 410, 469, - /* 2740 */ 469, 413, 414, 415, 416, 417, 418, 469, 420, + /* 300 */ 228, 229, 230, 231, 163, 233, 12, 13, 0, 20, + /* 310 */ 378, 249, 363, 387, 20, 389, 22, 332, 211, 370, + /* 320 */ 332, 184, 390, 186, 20, 393, 394, 33, 379, 35, + /* 330 */ 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, + /* 340 */ 119, 152, 121, 122, 123, 124, 125, 126, 211, 212, + /* 350 */ 161, 363, 58, 332, 20, 249, 163, 20, 64, 371, + /* 360 */ 20, 376, 22, 340, 376, 71, 378, 260, 261, 262, + /* 370 */ 263, 264, 265, 266, 66, 67, 68, 354, 12, 13, + /* 380 */ 14, 63, 74, 75, 361, 96, 20, 79, 22, 359, + /* 390 */ 96, 51, 84, 85, 371, 168, 408, 376, 90, 33, + /* 400 */ 412, 35, 363, 415, 416, 417, 418, 419, 420, 370, + /* 410 */ 422, 4, 118, 425, 0, 427, 428, 429, 379, 2, + /* 420 */ 340, 433, 434, 96, 58, 8, 9, 133, 134, 12, + /* 430 */ 13, 14, 15, 16, 354, 21, 406, 71, 24, 25, + /* 440 */ 26, 27, 28, 29, 30, 31, 32, 66, 67, 68, + /* 450 */ 43, 371, 45, 46, 71, 74, 75, 163, 164, 162, + /* 460 */ 79, 35, 96, 169, 170, 84, 85, 133, 134, 8, + /* 470 */ 9, 90, 107, 12, 13, 14, 15, 16, 184, 346, + /* 480 */ 186, 254, 255, 256, 118, 8, 9, 58, 58, 12, + /* 490 */ 13, 14, 15, 16, 395, 96, 395, 71, 399, 133, + /* 500 */ 134, 14, 369, 169, 170, 211, 212, 20, 214, 215, + /* 510 */ 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + /* 520 */ 226, 227, 228, 229, 230, 231, 96, 98, 98, 163, + /* 530 */ 164, 179, 44, 236, 19, 169, 170, 128, 249, 3, + /* 540 */ 441, 132, 441, 246, 445, 0, 445, 331, 33, 333, + /* 550 */ 184, 107, 186, 363, 202, 203, 20, 344, 97, 460, + /* 560 */ 461, 460, 461, 48, 465, 466, 465, 466, 340, 54, + /* 570 */ 55, 56, 57, 58, 97, 385, 249, 211, 212, 366, + /* 580 */ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + /* 590 */ 224, 225, 226, 227, 228, 229, 230, 231, 12, 13, + /* 600 */ 340, 192, 193, 33, 363, 196, 20, 198, 22, 346, + /* 610 */ 95, 370, 332, 98, 20, 387, 22, 389, 48, 33, + /* 620 */ 379, 35, 233, 360, 54, 55, 56, 57, 58, 35, + /* 630 */ 8, 9, 369, 97, 12, 13, 14, 15, 16, 71, + /* 640 */ 4, 332, 20, 363, 58, 51, 131, 387, 249, 389, + /* 650 */ 163, 371, 340, 108, 22, 19, 376, 71, 378, 127, + /* 660 */ 128, 14, 15, 16, 132, 95, 354, 35, 98, 33, + /* 670 */ 12, 13, 127, 128, 129, 130, 131, 132, 20, 249, + /* 680 */ 22, 166, 96, 371, 48, 376, 171, 340, 408, 53, + /* 690 */ 364, 33, 412, 35, 58, 415, 416, 417, 418, 419, + /* 700 */ 420, 165, 422, 188, 118, 364, 191, 427, 340, 429, + /* 710 */ 364, 340, 340, 433, 434, 233, 58, 235, 371, 133, + /* 720 */ 134, 426, 354, 428, 363, 354, 354, 371, 441, 71, + /* 730 */ 400, 95, 445, 332, 98, 455, 166, 167, 382, 371, + /* 740 */ 379, 171, 371, 371, 174, 333, 371, 460, 461, 163, + /* 750 */ 164, 127, 465, 466, 96, 169, 170, 382, 21, 8, + /* 760 */ 9, 191, 274, 12, 13, 14, 15, 16, 2, 37, + /* 770 */ 184, 34, 186, 36, 8, 9, 118, 376, 12, 13, + /* 780 */ 14, 15, 16, 363, 437, 438, 439, 165, 441, 442, + /* 790 */ 370, 133, 134, 329, 414, 395, 364, 211, 212, 379, + /* 800 */ 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, + /* 810 */ 224, 225, 226, 227, 228, 229, 230, 231, 194, 195, + /* 820 */ 440, 163, 164, 18, 414, 20, 373, 169, 170, 376, + /* 830 */ 364, 99, 27, 101, 102, 30, 104, 340, 33, 355, + /* 840 */ 108, 441, 184, 425, 186, 445, 428, 363, 332, 332, + /* 850 */ 440, 354, 96, 48, 373, 50, 372, 376, 53, 395, + /* 860 */ 460, 461, 130, 399, 373, 465, 466, 376, 371, 211, + /* 870 */ 212, 332, 214, 215, 216, 217, 218, 219, 220, 221, + /* 880 */ 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, + /* 890 */ 355, 44, 376, 376, 18, 0, 332, 340, 363, 23, + /* 900 */ 95, 0, 0, 3, 426, 441, 428, 372, 64, 445, + /* 910 */ 363, 354, 107, 37, 38, 376, 4, 41, 356, 372, + /* 920 */ 351, 359, 353, 364, 460, 461, 39, 176, 371, 465, + /* 930 */ 466, 1, 2, 45, 46, 59, 60, 61, 62, 183, + /* 940 */ 376, 185, 137, 48, 97, 140, 141, 142, 143, 144, + /* 950 */ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, + /* 960 */ 155, 156, 332, 158, 159, 160, 210, 66, 67, 68, + /* 970 */ 69, 70, 96, 72, 73, 74, 75, 76, 77, 78, + /* 980 */ 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, + /* 990 */ 89, 90, 91, 92, 8, 9, 352, 340, 12, 13, + /* 1000 */ 14, 15, 16, 20, 364, 249, 376, 332, 8, 9, + /* 1010 */ 108, 135, 12, 13, 14, 15, 16, 386, 108, 332, + /* 1020 */ 107, 332, 395, 44, 108, 332, 275, 97, 371, 127, + /* 1030 */ 128, 129, 130, 131, 132, 340, 340, 127, 128, 129, + /* 1040 */ 130, 131, 132, 469, 340, 340, 130, 340, 340, 354, + /* 1050 */ 354, 376, 176, 177, 178, 211, 363, 181, 354, 354, + /* 1060 */ 340, 354, 354, 376, 371, 376, 371, 371, 441, 376, + /* 1070 */ 157, 378, 445, 458, 354, 371, 371, 201, 371, 371, + /* 1080 */ 204, 342, 206, 207, 208, 209, 210, 460, 461, 452, + /* 1090 */ 340, 371, 465, 466, 437, 438, 439, 332, 441, 442, + /* 1100 */ 340, 408, 340, 332, 354, 412, 332, 365, 415, 416, + /* 1110 */ 417, 418, 419, 420, 354, 422, 354, 20, 376, 332, + /* 1120 */ 427, 371, 429, 0, 332, 249, 433, 434, 342, 340, + /* 1130 */ 332, 371, 332, 371, 363, 248, 332, 444, 247, 248, + /* 1140 */ 332, 376, 371, 354, 42, 22, 44, 376, 165, 378, + /* 1150 */ 376, 165, 0, 411, 412, 413, 42, 197, 44, 199, + /* 1160 */ 371, 365, 250, 376, 422, 35, 100, 363, 376, 103, + /* 1170 */ 270, 386, 376, 35, 376, 371, 376, 0, 100, 408, + /* 1180 */ 376, 103, 378, 412, 376, 363, 415, 416, 417, 418, + /* 1190 */ 419, 420, 100, 422, 100, 103, 44, 103, 427, 22, + /* 1200 */ 429, 339, 44, 332, 433, 434, 365, 411, 412, 413, + /* 1210 */ 0, 44, 408, 44, 44, 444, 412, 376, 422, 415, + /* 1220 */ 416, 417, 418, 419, 420, 44, 422, 44, 133, 134, + /* 1230 */ 375, 427, 22, 429, 363, 12, 13, 433, 434, 44, + /* 1240 */ 1, 2, 371, 386, 44, 22, 443, 376, 444, 378, + /* 1250 */ 165, 272, 411, 412, 413, 97, 33, 172, 35, 47, + /* 1260 */ 44, 96, 165, 422, 97, 44, 97, 97, 332, 44, + /* 1270 */ 44, 106, 44, 44, 44, 462, 44, 44, 97, 408, + /* 1280 */ 97, 58, 44, 412, 44, 35, 415, 416, 417, 418, + /* 1290 */ 419, 420, 97, 422, 71, 13, 435, 97, 427, 363, + /* 1300 */ 429, 332, 446, 251, 433, 434, 13, 371, 96, 410, + /* 1310 */ 48, 182, 376, 97, 378, 444, 186, 35, 97, 0, + /* 1320 */ 409, 71, 97, 97, 186, 97, 97, 97, 35, 97, + /* 1330 */ 97, 397, 363, 42, 383, 97, 386, 97, 20, 383, + /* 1340 */ 371, 118, 162, 381, 408, 376, 20, 378, 412, 340, + /* 1350 */ 340, 415, 416, 417, 418, 419, 420, 383, 422, 381, + /* 1360 */ 340, 381, 94, 427, 348, 429, 340, 340, 49, 433, + /* 1370 */ 434, 340, 20, 334, 334, 20, 403, 408, 346, 20, + /* 1380 */ 444, 412, 378, 346, 415, 416, 417, 418, 419, 420, + /* 1390 */ 20, 422, 341, 20, 396, 346, 427, 332, 429, 341, + /* 1400 */ 346, 346, 433, 434, 340, 346, 346, 184, 52, 186, + /* 1410 */ 343, 343, 340, 334, 334, 200, 363, 376, 376, 363, + /* 1420 */ 363, 376, 407, 96, 363, 363, 363, 405, 363, 340, + /* 1430 */ 344, 403, 363, 363, 211, 212, 371, 363, 363, 363, + /* 1440 */ 402, 376, 190, 378, 189, 401, 259, 224, 225, 226, + /* 1450 */ 227, 228, 229, 230, 344, 378, 451, 386, 332, 386, + /* 1460 */ 376, 258, 451, 376, 376, 267, 376, 454, 450, 175, + /* 1470 */ 453, 269, 391, 408, 391, 451, 268, 412, 449, 252, + /* 1480 */ 415, 416, 417, 418, 419, 420, 273, 422, 271, 363, + /* 1490 */ 276, 448, 427, 470, 429, 248, 463, 371, 433, 434, + /* 1500 */ 464, 410, 376, 371, 378, 20, 340, 414, 332, 341, + /* 1510 */ 389, 20, 376, 391, 167, 344, 344, 376, 376, 376, + /* 1520 */ 376, 376, 391, 388, 371, 376, 344, 96, 344, 96, + /* 1530 */ 432, 332, 359, 340, 408, 344, 36, 398, 412, 363, + /* 1540 */ 335, 415, 416, 417, 418, 419, 420, 371, 422, 353, + /* 1550 */ 404, 392, 376, 427, 378, 429, 367, 0, 334, 433, + /* 1560 */ 434, 357, 363, 357, 357, 345, 392, 330, 0, 0, + /* 1570 */ 371, 42, 0, 35, 205, 376, 35, 378, 35, 35, + /* 1580 */ 205, 332, 0, 35, 408, 35, 205, 0, 412, 205, + /* 1590 */ 0, 415, 416, 417, 418, 419, 420, 35, 422, 0, + /* 1600 */ 22, 0, 35, 192, 186, 429, 184, 408, 0, 433, + /* 1610 */ 434, 412, 363, 0, 415, 416, 417, 418, 419, 420, + /* 1620 */ 371, 422, 0, 180, 179, 376, 0, 378, 429, 0, + /* 1630 */ 47, 332, 433, 434, 0, 0, 0, 42, 0, 0, + /* 1640 */ 0, 0, 0, 0, 0, 0, 152, 35, 332, 0, + /* 1650 */ 152, 0, 0, 0, 0, 0, 0, 408, 0, 0, + /* 1660 */ 0, 412, 363, 0, 415, 416, 417, 418, 419, 420, + /* 1670 */ 371, 422, 0, 0, 0, 376, 0, 378, 429, 363, + /* 1680 */ 0, 0, 433, 434, 0, 0, 0, 371, 42, 0, + /* 1690 */ 0, 0, 376, 22, 378, 136, 0, 0, 332, 0, + /* 1700 */ 0, 0, 0, 35, 0, 58, 58, 408, 0, 0, + /* 1710 */ 0, 412, 42, 44, 415, 416, 417, 418, 419, 420, + /* 1720 */ 421, 422, 423, 424, 408, 58, 39, 14, 412, 363, + /* 1730 */ 47, 415, 416, 417, 418, 419, 420, 371, 422, 47, + /* 1740 */ 14, 47, 376, 0, 378, 40, 39, 0, 0, 0, + /* 1750 */ 39, 175, 0, 0, 0, 0, 0, 35, 65, 39, + /* 1760 */ 0, 332, 48, 35, 48, 0, 39, 35, 39, 48, + /* 1770 */ 0, 35, 456, 457, 408, 0, 39, 0, 412, 48, + /* 1780 */ 0, 415, 416, 417, 418, 419, 420, 0, 422, 22, + /* 1790 */ 0, 0, 363, 105, 35, 44, 35, 35, 35, 35, + /* 1800 */ 371, 103, 44, 35, 35, 376, 22, 378, 35, 0, + /* 1810 */ 22, 22, 0, 35, 22, 0, 50, 35, 0, 0, + /* 1820 */ 35, 22, 332, 20, 0, 0, 165, 22, 22, 35, + /* 1830 */ 35, 35, 97, 467, 468, 96, 96, 408, 0, 35, + /* 1840 */ 165, 412, 0, 165, 415, 416, 417, 418, 419, 420, + /* 1850 */ 173, 422, 187, 363, 3, 44, 253, 232, 429, 257, + /* 1860 */ 44, 371, 253, 434, 44, 44, 376, 96, 378, 97, + /* 1870 */ 167, 97, 332, 97, 47, 96, 47, 96, 172, 96, + /* 1880 */ 44, 3, 96, 44, 253, 35, 0, 172, 332, 44, + /* 1890 */ 35, 35, 35, 35, 97, 97, 96, 35, 408, 97, + /* 1900 */ 47, 0, 412, 363, 97, 415, 416, 417, 418, 419, + /* 1910 */ 420, 371, 422, 247, 97, 47, 376, 0, 378, 363, + /* 1920 */ 0, 39, 96, 47, 96, 168, 96, 371, 97, 97, + /* 1930 */ 96, 96, 376, 0, 378, 39, 96, 47, 44, 106, + /* 1940 */ 2, 22, 96, 96, 211, 97, 97, 457, 408, 332, + /* 1950 */ 232, 234, 412, 47, 47, 415, 416, 417, 418, 419, + /* 1960 */ 420, 96, 422, 97, 408, 332, 232, 166, 412, 96, + /* 1970 */ 96, 415, 416, 417, 418, 419, 420, 97, 422, 22, + /* 1980 */ 363, 96, 107, 35, 97, 368, 35, 96, 371, 97, + /* 1990 */ 35, 96, 120, 376, 97, 378, 363, 35, 96, 459, + /* 2000 */ 97, 35, 97, 35, 371, 96, 96, 22, 120, 376, + /* 2010 */ 96, 378, 108, 120, 44, 35, 22, 96, 120, 96, + /* 2020 */ 64, 213, 35, 65, 468, 408, 35, 332, 35, 412, + /* 2030 */ 35, 35, 415, 416, 417, 418, 419, 420, 35, 422, + /* 2040 */ 71, 408, 35, 35, 332, 412, 35, 35, 415, 416, + /* 2050 */ 417, 418, 419, 420, 93, 422, 35, 424, 363, 44, + /* 2060 */ 35, 35, 332, 368, 22, 35, 371, 35, 35, 71, + /* 2070 */ 35, 376, 35, 378, 35, 363, 35, 22, 35, 35, + /* 2080 */ 368, 0, 35, 371, 48, 39, 0, 35, 376, 39, + /* 2090 */ 378, 0, 35, 363, 0, 39, 48, 48, 39, 35, + /* 2100 */ 0, 371, 48, 408, 35, 35, 376, 412, 378, 0, + /* 2110 */ 415, 416, 417, 418, 419, 420, 21, 422, 22, 22, + /* 2120 */ 408, 22, 21, 20, 412, 332, 471, 415, 416, 417, + /* 2130 */ 418, 419, 420, 471, 422, 471, 471, 471, 408, 471, + /* 2140 */ 471, 471, 412, 471, 471, 415, 416, 417, 418, 419, + /* 2150 */ 420, 471, 422, 471, 471, 471, 363, 471, 471, 471, + /* 2160 */ 471, 471, 471, 471, 371, 471, 471, 471, 471, 376, + /* 2170 */ 471, 378, 471, 471, 471, 471, 471, 471, 471, 471, + /* 2180 */ 471, 471, 471, 471, 471, 471, 332, 471, 471, 471, + /* 2190 */ 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, + /* 2200 */ 471, 408, 471, 471, 471, 412, 471, 471, 415, 416, + /* 2210 */ 417, 418, 419, 420, 471, 422, 471, 363, 471, 471, + /* 2220 */ 471, 332, 471, 471, 471, 371, 471, 471, 471, 471, + /* 2230 */ 376, 471, 378, 471, 471, 471, 471, 471, 471, 471, + /* 2240 */ 471, 471, 471, 471, 332, 471, 471, 471, 471, 471, + /* 2250 */ 471, 471, 363, 471, 471, 471, 471, 471, 471, 471, + /* 2260 */ 371, 471, 408, 471, 471, 376, 412, 378, 471, 415, + /* 2270 */ 416, 417, 418, 419, 420, 363, 422, 471, 471, 471, + /* 2280 */ 471, 471, 471, 371, 471, 471, 471, 471, 376, 471, + /* 2290 */ 378, 471, 471, 471, 471, 471, 471, 408, 471, 471, + /* 2300 */ 471, 412, 471, 471, 415, 416, 417, 418, 419, 420, + /* 2310 */ 471, 422, 471, 332, 471, 471, 471, 471, 471, 471, + /* 2320 */ 408, 471, 471, 471, 412, 471, 471, 415, 416, 417, + /* 2330 */ 418, 419, 420, 471, 422, 471, 471, 332, 471, 471, + /* 2340 */ 471, 471, 471, 471, 363, 471, 471, 471, 471, 471, + /* 2350 */ 471, 471, 371, 471, 471, 471, 471, 376, 471, 378, + /* 2360 */ 471, 471, 471, 471, 471, 471, 471, 471, 363, 471, + /* 2370 */ 471, 471, 471, 471, 471, 471, 371, 471, 471, 471, + /* 2380 */ 471, 376, 471, 378, 471, 471, 471, 471, 471, 408, + /* 2390 */ 471, 471, 471, 412, 471, 332, 415, 416, 417, 418, + /* 2400 */ 419, 420, 471, 422, 471, 471, 471, 471, 471, 471, + /* 2410 */ 471, 471, 471, 408, 471, 471, 332, 412, 471, 471, + /* 2420 */ 415, 416, 417, 418, 419, 420, 363, 422, 471, 471, + /* 2430 */ 471, 471, 471, 471, 371, 471, 471, 471, 471, 376, + /* 2440 */ 471, 378, 471, 471, 471, 332, 471, 363, 471, 471, + /* 2450 */ 471, 471, 471, 471, 471, 371, 471, 471, 471, 471, + /* 2460 */ 376, 471, 378, 471, 471, 471, 471, 471, 471, 471, + /* 2470 */ 471, 408, 471, 471, 471, 412, 363, 471, 415, 416, + /* 2480 */ 417, 418, 419, 420, 371, 422, 471, 471, 471, 376, + /* 2490 */ 471, 378, 408, 471, 471, 471, 412, 471, 471, 415, + /* 2500 */ 416, 417, 418, 419, 420, 471, 422, 471, 471, 471, + /* 2510 */ 471, 471, 471, 471, 471, 471, 471, 471, 471, 332, + /* 2520 */ 471, 408, 471, 471, 471, 412, 471, 471, 415, 416, + /* 2530 */ 417, 418, 419, 420, 471, 422, 471, 471, 332, 471, + /* 2540 */ 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, + /* 2550 */ 363, 471, 471, 471, 332, 471, 471, 471, 371, 471, + /* 2560 */ 471, 471, 471, 376, 471, 378, 471, 471, 471, 363, + /* 2570 */ 471, 471, 471, 471, 471, 471, 471, 371, 471, 471, + /* 2580 */ 471, 471, 376, 471, 378, 363, 471, 471, 471, 471, + /* 2590 */ 471, 471, 471, 371, 471, 408, 471, 471, 376, 412, + /* 2600 */ 378, 471, 415, 416, 417, 418, 419, 420, 471, 422, + /* 2610 */ 471, 471, 471, 471, 408, 471, 332, 471, 412, 471, + /* 2620 */ 471, 415, 416, 417, 418, 419, 420, 471, 422, 471, + /* 2630 */ 408, 471, 471, 471, 412, 471, 471, 415, 416, 417, + /* 2640 */ 418, 419, 420, 471, 422, 471, 471, 363, 471, 471, + /* 2650 */ 471, 471, 471, 471, 471, 371, 471, 471, 471, 471, + /* 2660 */ 376, 471, 378, 471, 471, 471, 471, 471, 471, 471, + /* 2670 */ 471, 471, 471, 471, 471, 471, 471, 332, 471, 471, + /* 2680 */ 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, + /* 2690 */ 471, 471, 408, 471, 471, 471, 412, 471, 471, 415, + /* 2700 */ 416, 417, 418, 419, 420, 471, 422, 471, 363, 471, + /* 2710 */ 471, 471, 471, 471, 471, 471, 371, 471, 471, 471, + /* 2720 */ 471, 376, 471, 378, 471, 471, 471, 471, 471, 471, + /* 2730 */ 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, + /* 2740 */ 471, 471, 471, 471, 471, 471, 332, 471, 471, 471, + /* 2750 */ 471, 471, 471, 408, 471, 471, 471, 412, 471, 471, + /* 2760 */ 415, 416, 417, 418, 419, 420, 471, 422, 471, 471, + /* 2770 */ 471, 471, 332, 471, 471, 471, 471, 363, 471, 471, + /* 2780 */ 471, 471, 471, 471, 471, 371, 471, 471, 471, 471, + /* 2790 */ 376, 471, 378, 471, 471, 471, 471, 471, 471, 471, + /* 2800 */ 471, 471, 471, 363, 471, 471, 471, 471, 471, 471, + /* 2810 */ 471, 371, 471, 471, 471, 471, 376, 471, 378, 471, + /* 2820 */ 471, 471, 408, 471, 471, 471, 412, 471, 471, 415, + /* 2830 */ 416, 417, 418, 419, 420, 332, 422, 471, 471, 471, + /* 2840 */ 471, 471, 471, 471, 471, 471, 471, 471, 408, 471, + /* 2850 */ 471, 471, 412, 471, 332, 415, 416, 417, 418, 419, + /* 2860 */ 420, 471, 422, 471, 471, 471, 363, 471, 471, 471, + /* 2870 */ 471, 471, 471, 471, 371, 471, 471, 471, 471, 376, + /* 2880 */ 471, 378, 471, 471, 471, 363, 471, 471, 471, 471, + /* 2890 */ 471, 471, 471, 371, 471, 471, 471, 471, 376, 471, + /* 2900 */ 378, 471, 471, 471, 471, 471, 471, 471, 471, 471, + /* 2910 */ 471, 408, 471, 471, 471, 412, 471, 332, 415, 416, + /* 2920 */ 417, 418, 419, 420, 471, 422, 471, 471, 471, 471, + /* 2930 */ 408, 471, 471, 332, 412, 471, 471, 415, 416, 417, + /* 2940 */ 418, 419, 420, 471, 422, 471, 471, 471, 363, 471, + /* 2950 */ 471, 471, 471, 471, 471, 471, 371, 471, 471, 471, + /* 2960 */ 471, 376, 471, 378, 363, 471, 471, 471, 471, 471, + /* 2970 */ 471, 471, 371, 471, 471, 471, 471, 376, 471, 378, + /* 2980 */ 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, + /* 2990 */ 471, 471, 471, 408, 471, 332, 471, 412, 471, 471, + /* 3000 */ 415, 416, 417, 418, 419, 420, 471, 422, 471, 408, + /* 3010 */ 471, 471, 471, 412, 471, 471, 415, 416, 417, 418, + /* 3020 */ 419, 420, 471, 422, 471, 471, 363, 471, 471, 471, + /* 3030 */ 471, 471, 471, 471, 371, 471, 471, 471, 471, 376, + /* 3040 */ 471, 378, 471, 471, 471, 471, 471, 471, 471, 471, + /* 3050 */ 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, + /* 3060 */ 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, + /* 3070 */ 471, 408, 471, 471, 471, 412, 471, 471, 415, 416, + /* 3080 */ 417, 418, 419, 420, 471, 422, }; -#define YY_SHIFT_COUNT (742) +#define YY_SHIFT_COUNT (744) #define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (2183) +#define YY_SHIFT_MAX (2109) static const unsigned short int yy_shift_ofst[] = { - /* 0 */ 874, 0, 72, 0, 293, 293, 293, 293, 293, 293, - /* 10 */ 293, 293, 293, 293, 293, 365, 584, 584, 656, 584, - /* 20 */ 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, - /* 30 */ 584, 584, 584, 584, 584, 584, 584, 584, 584, 584, - /* 40 */ 584, 584, 584, 584, 584, 584, 584, 584, 172, 292, - /* 50 */ 185, 184, 135, 535, 568, 535, 184, 184, 1380, 1380, - /* 60 */ 1380, 535, 1380, 1380, 388, 535, 16, 482, 115, 115, - /* 70 */ 482, 86, 86, 307, 360, 346, 346, 115, 115, 115, - /* 80 */ 115, 115, 115, 115, 147, 115, 115, 138, 16, 115, - /* 90 */ 115, 189, 115, 16, 115, 147, 115, 147, 16, 115, - /* 100 */ 115, 16, 115, 16, 16, 16, 115, 176, 803, 34, - /* 110 */ 34, 219, 458, 982, 982, 982, 982, 982, 982, 982, - /* 120 */ 982, 982, 982, 982, 982, 982, 982, 982, 982, 982, - /* 130 */ 982, 982, 217, 379, 307, 360, 249, 578, 578, 578, - /* 140 */ 2, 152, 152, 249, 245, 245, 245, 138, 260, 208, - /* 150 */ 16, 470, 16, 470, 470, 459, 606, 36, 36, 36, - /* 160 */ 36, 36, 36, 36, 36, 298, 418, 406, 47, 329, - /* 170 */ 444, 60, 69, 239, 652, 353, 776, 1030, 834, 996, - /* 180 */ 866, 981, 668, 866, 888, 769, 1019, 1085, 1286, 1158, - /* 190 */ 1300, 1327, 1300, 1197, 1341, 1341, 1300, 1197, 1197, 1341, - /* 200 */ 1277, 1341, 1341, 1341, 1360, 1360, 1370, 138, 1377, 138, - /* 210 */ 1383, 1386, 138, 1383, 138, 138, 138, 1341, 138, 1358, - /* 220 */ 1358, 1360, 16, 16, 16, 16, 16, 16, 16, 16, - /* 230 */ 16, 16, 16, 1341, 1360, 470, 470, 470, 1237, 1343, - /* 240 */ 1370, 176, 1258, 1377, 176, 1341, 1327, 1327, 470, 1207, - /* 250 */ 1213, 470, 1207, 1213, 470, 470, 16, 1217, 1303, 1207, - /* 260 */ 1214, 1221, 1244, 1085, 1224, 1228, 1240, 1256, 245, 1493, - /* 270 */ 1341, 1383, 176, 176, 1507, 1213, 470, 470, 470, 470, - /* 280 */ 470, 1213, 470, 1366, 176, 459, 176, 245, 1449, 1452, - /* 290 */ 470, 606, 1341, 176, 1516, 1360, 2749, 2749, 2749, 2749, - /* 300 */ 2749, 2749, 2749, 2749, 2749, 899, 589, 530, 677, 685, - /* 310 */ 707, 911, 731, 15, 724, 893, 903, 987, 987, 987, - /* 320 */ 987, 987, 987, 987, 987, 987, 716, 596, 295, 295, - /* 330 */ 407, 161, 489, 397, 81, 370, 263, 263, 557, 757, - /* 340 */ 582, 557, 557, 557, 1012, 791, 1092, 1089, 1057, 1139, - /* 350 */ 1071, 1077, 1078, 1084, 1169, 1176, 1196, 990, 1004, 1106, - /* 360 */ 1127, 1173, 1175, 1177, 1090, 1028, 66, 984, 1186, 1187, - /* 370 */ 1188, 1190, 1212, 1216, 1234, 1218, 1043, 1171, 1051, 1219, - /* 380 */ 431, 1220, 1227, 1231, 1232, 1233, 1235, 1143, 1260, 1285, - /* 390 */ 1243, 1167, 1577, 1578, 1579, 1539, 1588, 1554, 1388, 1559, - /* 400 */ 1560, 1561, 1393, 1599, 1567, 1575, 1397, 1611, 1408, 1613, - /* 410 */ 1581, 1617, 1596, 1619, 1585, 1430, 1436, 1440, 1625, 1626, - /* 420 */ 1627, 1451, 1453, 1634, 1635, 1595, 1646, 1647, 1649, 1609, - /* 430 */ 1652, 1656, 1657, 1661, 1662, 1672, 1674, 1676, 1512, 1630, - /* 440 */ 1677, 1527, 1681, 1682, 1686, 1687, 1691, 1692, 1694, 1695, - /* 450 */ 1702, 1704, 1706, 1707, 1708, 1711, 1712, 1713, 1678, 1716, - /* 460 */ 1718, 1721, 1725, 1732, 1734, 1715, 1735, 1738, 1739, 1604, - /* 470 */ 1741, 1742, 1743, 1688, 1710, 1747, 1690, 1750, 1697, 1756, - /* 480 */ 1758, 1717, 1727, 1724, 1705, 1755, 1723, 1757, 1726, 1772, - /* 490 */ 1736, 1744, 1774, 1775, 1777, 1760, 1606, 1782, 1786, 1795, - /* 500 */ 1731, 1797, 1803, 1769, 1759, 1766, 1808, 1776, 1761, 1771, - /* 510 */ 1812, 1778, 1767, 1780, 1814, 1783, 1773, 1781, 1817, 1822, - /* 520 */ 1823, 1824, 1720, 1728, 1791, 1805, 1828, 1799, 1800, 1807, - /* 530 */ 1809, 1788, 1802, 1810, 1815, 1827, 1816, 1830, 1831, 1852, - /* 540 */ 1832, 1806, 1857, 1836, 1826, 1859, 1829, 1863, 1833, 1865, - /* 550 */ 1844, 1847, 1834, 1835, 1837, 1784, 1787, 1871, 1709, 1789, - /* 560 */ 1838, 1875, 1699, 1854, 1745, 1722, 1877, 1878, 1746, 1733, - /* 570 */ 1879, 1846, 1636, 1811, 1796, 1813, 1740, 1665, 1748, 1648, - /* 580 */ 1818, 1864, 1869, 1819, 1821, 1825, 1842, 1843, 1874, 1872, - /* 590 */ 1882, 1848, 1880, 1670, 1845, 1850, 1922, 1895, 1696, 1891, - /* 600 */ 1914, 1917, 1919, 1920, 1921, 1860, 1862, 1916, 1719, 1918, - /* 610 */ 1923, 1961, 1964, 1966, 1967, 1873, 1929, 1705, 1926, 1908, - /* 620 */ 1890, 1894, 1909, 1910, 1840, 1913, 1974, 1936, 1853, 1927, - /* 630 */ 1888, 1705, 1931, 1968, 1785, 1794, 1793, 2009, 1991, 1804, - /* 640 */ 1940, 1925, 1941, 1943, 1942, 1945, 1971, 1948, 1949, 2000, - /* 650 */ 1946, 2026, 1849, 1953, 1955, 1970, 2017, 2028, 1969, 1975, - /* 660 */ 2033, 1973, 1976, 2036, 1979, 1988, 2041, 1990, 1992, 2052, - /* 670 */ 1994, 1977, 1978, 1980, 1981, 2066, 1983, 1997, 2048, 1998, - /* 680 */ 2061, 2012, 2048, 2048, 2089, 2047, 2049, 2080, 2081, 2082, - /* 690 */ 2083, 2085, 2086, 2088, 2090, 2091, 2093, 2053, 2037, 2075, - /* 700 */ 2096, 2098, 2099, 2113, 2101, 2102, 2103, 2068, 1788, 2105, - /* 710 */ 1802, 2107, 2108, 2109, 2110, 2124, 2112, 2148, 2115, 2104, - /* 720 */ 2114, 2151, 2120, 2116, 2118, 2159, 2125, 2126, 2122, 2173, - /* 730 */ 2140, 2129, 2141, 2179, 2146, 2147, 2183, 2162, 2165, 2166, - /* 740 */ 2168, 2170, 2167, + /* 0 */ 876, 0, 72, 0, 294, 294, 294, 294, 294, 294, + /* 10 */ 294, 294, 294, 294, 294, 366, 586, 586, 658, 586, + /* 20 */ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, + /* 30 */ 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, + /* 40 */ 586, 586, 586, 586, 586, 586, 586, 586, 106, 289, + /* 50 */ 756, 1, 430, 327, 399, 327, 1, 1, 1223, 1223, + /* 60 */ 1223, 327, 1223, 1223, 62, 327, 19, 334, 54, 54, + /* 70 */ 334, 407, 407, 118, 67, 48, 48, 54, 54, 54, + /* 80 */ 54, 54, 54, 54, 79, 54, 54, 40, 19, 54, + /* 90 */ 54, 304, 54, 19, 54, 79, 54, 79, 19, 54, + /* 100 */ 54, 19, 54, 19, 19, 19, 54, 318, 805, 34, + /* 110 */ 34, 219, 381, 137, 137, 137, 137, 137, 137, 137, + /* 120 */ 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, + /* 130 */ 137, 137, 732, 536, 118, 67, 426, 120, 120, 120, + /* 140 */ 174, 482, 482, 426, 337, 337, 337, 40, 365, 389, + /* 150 */ 19, 383, 19, 383, 383, 444, 568, 221, 221, 221, + /* 160 */ 221, 221, 221, 221, 221, 515, 414, 308, 622, 751, + /* 170 */ 107, 594, 227, 193, 487, 340, 983, 888, 916, 1097, + /* 180 */ 891, 887, 900, 891, 1102, 912, 141, 1052, 1262, 1129, + /* 190 */ 1291, 1318, 1291, 1180, 1326, 1326, 1291, 1180, 1180, 1326, + /* 200 */ 1268, 1326, 1326, 1326, 1352, 1352, 1355, 40, 1359, 40, + /* 210 */ 1370, 1373, 40, 1370, 40, 40, 40, 1326, 40, 1356, + /* 220 */ 1356, 1352, 19, 19, 19, 19, 19, 19, 19, 19, + /* 230 */ 19, 19, 19, 1326, 1352, 383, 383, 383, 1215, 1327, + /* 240 */ 1355, 318, 1252, 1255, 1359, 318, 1326, 1318, 1318, 383, + /* 250 */ 1187, 1203, 383, 1187, 1203, 383, 383, 19, 1198, 1294, + /* 260 */ 1187, 1202, 1208, 1227, 1052, 1214, 1213, 1217, 1247, 337, + /* 270 */ 1485, 1326, 1370, 318, 318, 1491, 1203, 383, 383, 383, + /* 280 */ 383, 383, 1203, 383, 1347, 318, 444, 318, 337, 1431, + /* 290 */ 1433, 383, 568, 1326, 318, 1500, 1352, 3086, 3086, 3086, + /* 300 */ 3086, 3086, 3086, 3086, 3086, 3086, 901, 570, 51, 636, + /* 310 */ 461, 15, 477, 545, 417, 766, 986, 902, 1000, 1000, + /* 320 */ 1000, 1000, 1000, 1000, 1000, 1000, 1000, 910, 409, 132, + /* 330 */ 132, 71, 352, 189, 37, 737, 624, 532, 532, 647, + /* 340 */ 930, 297, 647, 647, 647, 895, 847, 632, 1114, 913, + /* 350 */ 1152, 1066, 1078, 1092, 1094, 1123, 1177, 1210, 960, 1158, + /* 360 */ 1167, 429, 1169, 1170, 1181, 1095, 979, 488, 1085, 1183, + /* 370 */ 1195, 1200, 1216, 1221, 1225, 1239, 1226, 1130, 1138, 844, + /* 380 */ 1228, 1212, 1229, 1230, 1232, 1233, 1238, 1240, 1165, 1282, + /* 390 */ 1293, 1250, 1319, 1557, 1568, 1569, 1529, 1572, 1538, 1369, + /* 400 */ 1541, 1543, 1544, 1375, 1582, 1548, 1550, 1381, 1587, 1384, + /* 410 */ 1590, 1562, 1599, 1578, 1601, 1567, 1411, 1418, 1422, 1608, + /* 420 */ 1613, 1622, 1443, 1445, 1626, 1629, 1583, 1634, 1635, 1636, + /* 430 */ 1595, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1494, + /* 440 */ 1612, 1649, 1498, 1651, 1652, 1653, 1654, 1655, 1656, 1658, + /* 450 */ 1659, 1660, 1663, 1672, 1673, 1674, 1676, 1680, 1681, 1646, + /* 460 */ 1684, 1685, 1686, 1689, 1690, 1691, 1671, 1699, 1700, 1701, + /* 470 */ 1559, 1696, 1697, 1702, 1647, 1668, 1704, 1648, 1708, 1667, + /* 480 */ 1709, 1710, 1670, 1687, 1669, 1683, 1713, 1692, 1726, 1694, + /* 490 */ 1743, 1705, 1707, 1747, 1748, 1749, 1711, 1576, 1752, 1753, + /* 500 */ 1754, 1693, 1755, 1756, 1722, 1714, 1720, 1760, 1728, 1716, + /* 510 */ 1727, 1765, 1732, 1721, 1729, 1770, 1736, 1731, 1737, 1775, + /* 520 */ 1777, 1780, 1787, 1688, 1698, 1759, 1767, 1790, 1761, 1762, + /* 530 */ 1763, 1764, 1751, 1758, 1768, 1769, 1784, 1773, 1791, 1788, + /* 540 */ 1809, 1789, 1766, 1812, 1792, 1778, 1815, 1782, 1818, 1785, + /* 550 */ 1819, 1799, 1803, 1794, 1795, 1796, 1735, 1739, 1824, 1661, + /* 560 */ 1740, 1804, 1805, 1825, 1665, 1806, 1675, 1703, 1838, 1842, + /* 570 */ 1678, 1677, 1851, 1811, 1603, 1771, 1772, 1779, 1706, 1625, + /* 580 */ 1715, 1602, 1774, 1816, 1820, 1776, 1781, 1783, 1786, 1797, + /* 590 */ 1821, 1827, 1829, 1800, 1836, 1609, 1798, 1802, 1878, 1839, + /* 600 */ 1631, 1850, 1855, 1856, 1857, 1858, 1862, 1807, 1817, 1853, + /* 610 */ 1666, 1845, 1868, 1886, 1901, 1917, 1920, 1826, 1882, 1683, + /* 620 */ 1876, 1828, 1831, 1832, 1830, 1834, 1757, 1835, 1933, 1896, + /* 630 */ 1801, 1840, 1833, 1683, 1890, 1894, 1718, 1717, 1734, 1938, + /* 640 */ 1919, 1733, 1846, 1848, 1847, 1849, 1865, 1866, 1906, 1873, + /* 650 */ 1874, 1907, 1880, 1957, 1808, 1885, 1875, 1887, 1948, 1951, + /* 660 */ 1891, 1892, 1955, 1895, 1897, 1962, 1902, 1903, 1966, 1909, + /* 670 */ 1905, 1968, 1910, 1872, 1888, 1893, 1898, 1985, 1904, 1914, + /* 680 */ 1970, 1921, 1980, 1923, 1970, 1970, 1994, 1958, 1956, 1987, + /* 690 */ 1991, 1993, 1995, 1996, 2003, 2007, 2008, 2011, 2012, 1969, + /* 700 */ 1961, 2015, 2021, 2025, 2026, 2042, 2030, 2032, 2033, 1998, + /* 710 */ 1751, 2035, 1758, 2037, 2039, 2041, 2043, 2055, 2044, 2081, + /* 720 */ 2047, 2036, 2046, 2086, 2052, 2048, 2050, 2091, 2057, 2049, + /* 730 */ 2056, 2094, 2064, 2054, 2059, 2100, 2069, 2070, 2109, 2096, + /* 740 */ 2095, 2097, 2099, 2101, 2103, }; -#define YY_REDUCE_COUNT (304) -#define YY_REDUCE_MIN (-438) -#define YY_REDUCE_MAX (2328) +#define YY_REDUCE_COUNT (305) +#define YY_REDUCE_MIN (-420) +#define YY_REDUCE_MAX (2663) static const short yy_reduce_ofst[] = { - /* 0 */ -256, 679, 728, 795, 827, 876, 935, 969, 1042, 1091, - /* 10 */ 1155, 1223, 243, 1253, 1283, -294, -1, 1313, 1374, 1347, - /* 20 */ 1423, 1485, 1517, 1566, 1583, 1640, 1615, 1664, 1689, 1752, - /* 30 */ 1779, 1801, 1881, 1898, 1915, 1947, 1972, 1996, 2021, 2084, - /* 40 */ 2111, 2133, 2213, 2230, 2247, 2279, 2304, 2328, -264, 169, - /* 50 */ 171, -173, -350, 604, 736, 863, -336, -5, -323, -61, - /* 60 */ 709, 303, 727, 753, -438, -386, -180, -212, 68, 98, - /* 70 */ -377, -331, -327, -344, -307, -199, -7, 71, 197, 200, - /* 80 */ 268, 270, 309, 411, -154, 551, 561, 13, -324, 653, - /* 90 */ 654, 414, 675, 97, 676, 213, 718, 238, 311, 666, - /* 100 */ 674, 472, 782, 415, 560, 754, 770, -105, -288, -93, - /* 110 */ -93, -75, -272, -187, 77, 308, 336, 354, 359, 382, - /* 120 */ 410, 447, 518, 521, 564, 585, 663, 690, 691, 694, - /* 130 */ 695, 711, -342, -41, -206, 124, 516, -41, 274, 333, - /* 140 */ 117, -23, 41, 483, 230, 487, 547, 257, 434, 269, - /* 150 */ 466, 50, 387, 519, 665, 706, 537, -354, 325, 417, - /* 160 */ 455, 492, 550, 555, 492, 598, 755, 756, 805, 783, - /* 170 */ 799, 924, 817, 906, 906, 939, 896, 950, 930, 926, - /* 180 */ 878, 878, 865, 878, 890, 889, 906, 928, 931, 941, - /* 190 */ 961, 971, 972, 978, 1024, 1025, 983, 988, 989, 1031, - /* 200 */ 1027, 1033, 1037, 1039, 1048, 1055, 994, 1046, 1021, 1054, - /* 210 */ 1065, 1013, 1062, 1069, 1073, 1075, 1076, 1086, 1079, 1072, - /* 220 */ 1074, 1093, 1061, 1066, 1067, 1068, 1070, 1080, 1081, 1082, - /* 230 */ 1083, 1087, 1088, 1094, 1098, 1052, 1059, 1060, 1032, 1038, - /* 240 */ 1045, 1097, 1063, 1095, 1111, 1125, 1096, 1100, 1101, 1022, - /* 250 */ 1099, 1102, 1026, 1103, 1104, 1105, 906, 1035, 1040, 1041, - /* 260 */ 1044, 1047, 1050, 1107, 1034, 1058, 1053, 878, 1142, 1109, - /* 270 */ 1180, 1184, 1183, 1185, 1141, 1144, 1156, 1160, 1161, 1162, - /* 280 */ 1163, 1149, 1165, 1154, 1199, 1189, 1200, 1174, 1116, 1191, - /* 290 */ 1178, 1198, 1210, 1208, 1222, 1225, 1166, 1153, 1168, 1192, - /* 300 */ 1204, 1206, 1211, 1230, 1247, + /* 0 */ 464, -306, -12, 280, 693, 771, 804, 871, 936, 969, + /* 10 */ 1065, 1126, 1176, 1199, 1249, 1299, 1316, 1366, 1429, 1490, + /* 20 */ 1540, 1556, 1617, 1633, 1695, 1712, 1730, 1793, 1854, 1889, + /* 30 */ 1912, 1981, 2005, 2063, 2084, 2113, 2187, 2206, 2222, 2284, + /* 40 */ 2345, 2414, 2440, 2503, 2522, 2585, 2601, 2663, -285, -262, + /* 50 */ 99, -174, -341, 101, 400, 627, 347, 657, 742, 796, + /* 60 */ 841, 287, -359, -234, -405, -274, -354, -68, -102, 23, + /* 70 */ -305, -336, -331, -294, -340, -296, -80, 80, 312, 368, + /* 80 */ 371, 372, 497, 557, -74, 695, 696, 263, -51, 704, + /* 90 */ 705, -178, 707, 39, 708, 228, 720, 260, -190, 750, + /* 100 */ 760, 241, 762, 484, 420, 535, 789, -229, -218, -420, + /* 110 */ -420, 216, -197, -15, 21, 309, 401, 516, 517, 539, + /* 120 */ 564, 630, 675, 687, 689, 765, 774, 787, 792, 798, + /* 130 */ 800, 808, -343, -347, 190, -183, -116, -347, 380, 410, + /* 140 */ 213, 295, 478, -96, -367, 356, 375, 133, 30, 418, + /* 150 */ 547, 453, 361, 481, 491, 562, 569, 326, 341, 346, + /* 160 */ 432, 466, 559, 640, 466, 330, 412, 644, 631, 574, + /* 170 */ 615, 739, 637, 822, 822, 786, 785, 862, 855, 857, + /* 180 */ 803, 803, 813, 803, 861, 856, 822, 899, 911, 934, + /* 190 */ 951, 950, 956, 962, 1009, 1010, 974, 978, 980, 1020, + /* 200 */ 1016, 1026, 1027, 1031, 1039, 1040, 973, 1032, 1004, 1037, + /* 210 */ 1051, 998, 1049, 1058, 1054, 1055, 1059, 1064, 1060, 1067, + /* 220 */ 1068, 1079, 1053, 1056, 1057, 1061, 1062, 1063, 1069, 1070, + /* 230 */ 1074, 1075, 1076, 1072, 1080, 1041, 1042, 1045, 1015, 1022, + /* 240 */ 1028, 1086, 1038, 1044, 1077, 1110, 1089, 1071, 1073, 1084, + /* 250 */ 1005, 1081, 1087, 1011, 1083, 1088, 1090, 822, 1013, 1017, + /* 260 */ 1024, 1018, 1029, 1043, 1091, 1023, 1036, 1033, 803, 1132, + /* 270 */ 1093, 1166, 1168, 1171, 1172, 1121, 1122, 1136, 1141, 1142, + /* 280 */ 1143, 1144, 1131, 1145, 1135, 1182, 1173, 1184, 1153, 1098, + /* 290 */ 1189, 1149, 1196, 1193, 1191, 1205, 1224, 1139, 1146, 1159, + /* 300 */ 1174, 1204, 1206, 1207, 1220, 1237, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 10 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 20 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 30 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 40 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 50 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 60 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 70 */ 1665, 1665, 1665, 1923, 1665, 1665, 1665, 1665, 1665, 1665, - /* 80 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1744, 1665, 1665, - /* 90 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 100 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1742, 1916, 2132, - /* 110 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 120 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 130 */ 1665, 1665, 1665, 2144, 1665, 1665, 1665, 2144, 2144, 2144, - /* 140 */ 1742, 2104, 2104, 1665, 1665, 1665, 1665, 1744, 1977, 1665, - /* 150 */ 1665, 1665, 1665, 1665, 1665, 1851, 1665, 1665, 1665, 1665, - /* 160 */ 1665, 1875, 1665, 1665, 1665, 1969, 1665, 1665, 2169, 2225, - /* 170 */ 1665, 1665, 2172, 1665, 1665, 1665, 1928, 1665, 1804, 2159, - /* 180 */ 2136, 2150, 2209, 2137, 2134, 2153, 1665, 2163, 1665, 1962, - /* 190 */ 1921, 1665, 1921, 1918, 1665, 1665, 1921, 1918, 1918, 1665, - /* 200 */ 1795, 1665, 1665, 1665, 1665, 1665, 1665, 1744, 1665, 1744, - /* 210 */ 1665, 1665, 1744, 1665, 1744, 1744, 1744, 1665, 1744, 1722, - /* 220 */ 1722, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 230 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1989, 1975, - /* 240 */ 1665, 1742, 1971, 1665, 1742, 1665, 1665, 1665, 1665, 2180, - /* 250 */ 2178, 1665, 2180, 2178, 1665, 1665, 1665, 2194, 2190, 2180, - /* 260 */ 2198, 2196, 2165, 2163, 2228, 2215, 2211, 2150, 1665, 1665, - /* 270 */ 1665, 1665, 1742, 1742, 1665, 2178, 1665, 1665, 1665, 1665, - /* 280 */ 1665, 2178, 1665, 1665, 1742, 1665, 1742, 1665, 1665, 1820, - /* 290 */ 1665, 1665, 1665, 1742, 1697, 1665, 1964, 1980, 1946, 1946, - /* 300 */ 1854, 1854, 1854, 1745, 1670, 1665, 1665, 1665, 1665, 1665, - /* 310 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 2193, 2192, 2059, - /* 320 */ 1665, 2108, 2107, 2106, 2097, 2058, 1816, 1665, 2057, 2056, - /* 330 */ 1665, 1665, 1665, 1665, 1665, 1665, 1937, 1936, 2050, 1665, - /* 340 */ 1665, 2051, 2049, 2048, 1665, 1665, 1665, 1665, 1665, 1665, - /* 350 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 360 */ 1665, 1665, 1665, 1665, 1665, 2212, 2216, 1665, 1665, 1665, - /* 370 */ 1665, 1665, 1665, 1665, 2133, 1665, 1665, 1665, 1665, 1665, - /* 380 */ 2032, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 390 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 400 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 410 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 420 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 430 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 440 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 450 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 460 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 470 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 480 */ 1665, 1665, 1665, 1702, 2037, 1665, 1665, 1665, 1665, 1665, - /* 490 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 500 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 510 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 520 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 530 */ 1665, 1783, 1782, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 540 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 550 */ 1665, 1665, 1665, 1665, 1665, 2041, 1665, 1665, 1665, 1665, - /* 560 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 570 */ 2208, 2166, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 580 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 590 */ 2032, 1665, 2191, 1665, 1665, 2206, 1665, 2210, 1665, 1665, - /* 600 */ 1665, 1665, 1665, 1665, 1665, 2143, 2139, 1665, 1665, 2135, - /* 610 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 2040, 1665, 1665, - /* 620 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 630 */ 1665, 2031, 1665, 2094, 1665, 1665, 1665, 2128, 1665, 1665, - /* 640 */ 2079, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 650 */ 2041, 1665, 2044, 1665, 1665, 1665, 1665, 1665, 1848, 1665, - /* 660 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 670 */ 1665, 1833, 1831, 1830, 1829, 1665, 1826, 1665, 1861, 1665, - /* 680 */ 1665, 1665, 1857, 1856, 1665, 1665, 1665, 1665, 1665, 1665, - /* 690 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1763, - /* 700 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1755, 1665, - /* 710 */ 1754, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 720 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 730 */ 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, 1665, - /* 740 */ 1665, 1665, 1665, + /* 0 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 10 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 20 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 30 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 40 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 50 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 60 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 70 */ 1670, 1670, 1670, 1928, 1670, 1670, 1670, 1670, 1670, 1670, + /* 80 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1749, 1670, 1670, + /* 90 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 100 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1747, 1921, 2139, + /* 110 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 120 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 130 */ 1670, 1670, 1670, 2151, 1670, 1670, 1670, 2151, 2151, 2151, + /* 140 */ 1747, 2111, 2111, 1670, 1670, 1670, 1670, 1749, 1984, 1670, + /* 150 */ 1670, 1670, 1670, 1670, 1670, 1856, 1670, 1670, 1670, 1670, + /* 160 */ 1670, 1880, 1670, 1670, 1670, 1974, 1670, 1670, 2176, 2232, + /* 170 */ 1670, 1670, 2179, 1670, 1670, 1670, 1933, 1670, 1809, 2166, + /* 180 */ 2143, 2157, 2216, 2144, 2141, 2160, 1670, 2170, 1670, 1967, + /* 190 */ 1926, 1670, 1926, 1923, 1670, 1670, 1926, 1923, 1923, 1670, + /* 200 */ 1800, 1670, 1670, 1670, 1670, 1670, 1670, 1749, 1670, 1749, + /* 210 */ 1670, 1670, 1749, 1670, 1749, 1749, 1749, 1670, 1749, 1727, + /* 220 */ 1727, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 230 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1996, 1982, + /* 240 */ 1670, 1747, 1978, 1976, 1670, 1747, 1670, 1670, 1670, 1670, + /* 250 */ 2187, 2185, 1670, 2187, 2185, 1670, 1670, 1670, 2201, 2197, + /* 260 */ 2187, 2205, 2203, 2172, 2170, 2235, 2222, 2218, 2157, 1670, + /* 270 */ 1670, 1670, 1670, 1747, 1747, 1670, 2185, 1670, 1670, 1670, + /* 280 */ 1670, 1670, 2185, 1670, 1670, 1747, 1670, 1747, 1670, 1670, + /* 290 */ 1825, 1670, 1670, 1670, 1747, 1702, 1670, 1969, 1987, 1951, + /* 300 */ 1951, 1859, 1859, 1859, 1750, 1675, 1670, 1670, 1670, 1670, + /* 310 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 2200, 2199, + /* 320 */ 2066, 1670, 2115, 2114, 2113, 2104, 2065, 1821, 1670, 2064, + /* 330 */ 2063, 1670, 1670, 1670, 1670, 1670, 1670, 1942, 1941, 2057, + /* 340 */ 1670, 1670, 2058, 2056, 2055, 1670, 1670, 1670, 1670, 1670, + /* 350 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 360 */ 1670, 1670, 1670, 1670, 1670, 1670, 2219, 2223, 1670, 1670, + /* 370 */ 1670, 1670, 1670, 1670, 1670, 2140, 1670, 1670, 1670, 1670, + /* 380 */ 1670, 2039, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 390 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 400 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 410 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 420 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 430 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 440 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 450 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 460 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 470 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 480 */ 1670, 1670, 1670, 1670, 1707, 2044, 1670, 1670, 1670, 1670, + /* 490 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 500 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 510 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 520 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 530 */ 1670, 1670, 1788, 1787, 1670, 1670, 1670, 1670, 1670, 1670, + /* 540 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 550 */ 1670, 1670, 1670, 1670, 1670, 1670, 2048, 1670, 1670, 1670, + /* 560 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 570 */ 1670, 1670, 2215, 2173, 1670, 1670, 1670, 1670, 1670, 1670, + /* 580 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 590 */ 1670, 1670, 2039, 1670, 2198, 1670, 1670, 2213, 1670, 2217, + /* 600 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 2150, 2146, 1670, + /* 610 */ 1670, 2142, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 2047, + /* 620 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 630 */ 1670, 1670, 1670, 2038, 1670, 2101, 1670, 1670, 1670, 2135, + /* 640 */ 1670, 1670, 2086, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 650 */ 1670, 1670, 2048, 1670, 2051, 1670, 1670, 1670, 1670, 1670, + /* 660 */ 1853, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 670 */ 1670, 1670, 1670, 1838, 1836, 1835, 1834, 1670, 1831, 1670, + /* 680 */ 1866, 1670, 1670, 1670, 1862, 1861, 1670, 1670, 1670, 1670, + /* 690 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 700 */ 1670, 1768, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 710 */ 1760, 1670, 1759, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 720 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 730 */ 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, 1670, + /* 740 */ 1670, 1670, 1670, 1670, 1670, }; /********** End of lemon-generated parsing tables *****************************/ @@ -1172,6 +1240,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* OUTPUTTYPE => nothing */ 0, /* AGGREGATE => nothing */ 0, /* BUFSIZE => nothing */ + 0, /* LANGUAGE => nothing */ 0, /* STREAM => nothing */ 0, /* INTO => nothing */ 0, /* TRIGGER => nothing */ @@ -1213,7 +1282,7 @@ static const YYCODETYPE yyFallback[] = { 0, /* SERVER_STATUS => nothing */ 0, /* CURRENT_USER => nothing */ 0, /* CASE => nothing */ - 276, /* END => ABORT */ + 277, /* END => ABORT */ 0, /* WHEN => nothing */ 0, /* THEN => nothing */ 0, /* ELSE => nothing */ @@ -1259,57 +1328,57 @@ static const YYCODETYPE yyFallback[] = { 0, /* ASC => nothing */ 0, /* NULLS => nothing */ 0, /* ABORT => nothing */ - 276, /* AFTER => ABORT */ - 276, /* ATTACH => ABORT */ - 276, /* BEFORE => ABORT */ - 276, /* BEGIN => ABORT */ - 276, /* BITAND => ABORT */ - 276, /* BITNOT => ABORT */ - 276, /* BITOR => ABORT */ - 276, /* BLOCKS => ABORT */ - 276, /* CHANGE => ABORT */ - 276, /* COMMA => ABORT */ - 276, /* CONCAT => ABORT */ - 276, /* CONFLICT => ABORT */ - 276, /* COPY => ABORT */ - 276, /* DEFERRED => ABORT */ - 276, /* DELIMITERS => ABORT */ - 276, /* DETACH => ABORT */ - 276, /* DIVIDE => ABORT */ - 276, /* DOT => ABORT */ - 276, /* EACH => ABORT */ - 276, /* FAIL => ABORT */ - 276, /* FILE => ABORT */ - 276, /* FOR => ABORT */ - 276, /* GLOB => ABORT */ - 276, /* ID => ABORT */ - 276, /* IMMEDIATE => ABORT */ - 276, /* IMPORT => ABORT */ - 276, /* INITIALLY => ABORT */ - 276, /* INSTEAD => ABORT */ - 276, /* ISNULL => ABORT */ - 276, /* KEY => ABORT */ - 276, /* MODULES => ABORT */ - 276, /* NK_BITNOT => ABORT */ - 276, /* NK_SEMI => ABORT */ - 276, /* NOTNULL => ABORT */ - 276, /* OF => ABORT */ - 276, /* PLUS => ABORT */ - 276, /* PRIVILEGE => ABORT */ - 276, /* RAISE => ABORT */ - 276, /* REPLACE => ABORT */ - 276, /* RESTRICT => ABORT */ - 276, /* ROW => ABORT */ - 276, /* SEMI => ABORT */ - 276, /* STAR => ABORT */ - 276, /* STATEMENT => ABORT */ - 276, /* STRICT => ABORT */ - 276, /* STRING => ABORT */ - 276, /* TIMES => ABORT */ - 276, /* VALUES => ABORT */ - 276, /* VARIABLE => ABORT */ - 276, /* VIEW => ABORT */ - 276, /* WAL => ABORT */ + 277, /* AFTER => ABORT */ + 277, /* ATTACH => ABORT */ + 277, /* BEFORE => ABORT */ + 277, /* BEGIN => ABORT */ + 277, /* BITAND => ABORT */ + 277, /* BITNOT => ABORT */ + 277, /* BITOR => ABORT */ + 277, /* BLOCKS => ABORT */ + 277, /* CHANGE => ABORT */ + 277, /* COMMA => ABORT */ + 277, /* CONCAT => ABORT */ + 277, /* CONFLICT => ABORT */ + 277, /* COPY => ABORT */ + 277, /* DEFERRED => ABORT */ + 277, /* DELIMITERS => ABORT */ + 277, /* DETACH => ABORT */ + 277, /* DIVIDE => ABORT */ + 277, /* DOT => ABORT */ + 277, /* EACH => ABORT */ + 277, /* FAIL => ABORT */ + 277, /* FILE => ABORT */ + 277, /* FOR => ABORT */ + 277, /* GLOB => ABORT */ + 277, /* ID => ABORT */ + 277, /* IMMEDIATE => ABORT */ + 277, /* IMPORT => ABORT */ + 277, /* INITIALLY => ABORT */ + 277, /* INSTEAD => ABORT */ + 277, /* ISNULL => ABORT */ + 277, /* KEY => ABORT */ + 277, /* MODULES => ABORT */ + 277, /* NK_BITNOT => ABORT */ + 277, /* NK_SEMI => ABORT */ + 277, /* NOTNULL => ABORT */ + 277, /* OF => ABORT */ + 277, /* PLUS => ABORT */ + 277, /* PRIVILEGE => ABORT */ + 277, /* RAISE => ABORT */ + 277, /* REPLACE => ABORT */ + 277, /* RESTRICT => ABORT */ + 277, /* ROW => ABORT */ + 277, /* SEMI => ABORT */ + 277, /* STAR => ABORT */ + 277, /* STATEMENT => ABORT */ + 277, /* STRICT => ABORT */ + 277, /* STRING => ABORT */ + 277, /* TIMES => ABORT */ + 277, /* VALUES => ABORT */ + 277, /* VARIABLE => ABORT */ + 277, /* VIEW => ABORT */ + 277, /* WAL => ABORT */ }; #endif /* YYFALLBACK */ @@ -1587,285 +1656,287 @@ static const char *const yyTokenName[] = { /* 187 */ "OUTPUTTYPE", /* 188 */ "AGGREGATE", /* 189 */ "BUFSIZE", - /* 190 */ "STREAM", - /* 191 */ "INTO", - /* 192 */ "TRIGGER", - /* 193 */ "AT_ONCE", - /* 194 */ "WINDOW_CLOSE", - /* 195 */ "IGNORE", - /* 196 */ "EXPIRED", - /* 197 */ "FILL_HISTORY", - /* 198 */ "UPDATE", - /* 199 */ "SUBTABLE", - /* 200 */ "KILL", - /* 201 */ "CONNECTION", - /* 202 */ "TRANSACTION", - /* 203 */ "BALANCE", - /* 204 */ "VGROUP", - /* 205 */ "MERGE", - /* 206 */ "REDISTRIBUTE", - /* 207 */ "SPLIT", - /* 208 */ "DELETE", - /* 209 */ "INSERT", - /* 210 */ "NULL", - /* 211 */ "NK_QUESTION", - /* 212 */ "NK_ARROW", - /* 213 */ "ROWTS", - /* 214 */ "QSTART", - /* 215 */ "QEND", - /* 216 */ "QDURATION", - /* 217 */ "WSTART", - /* 218 */ "WEND", - /* 219 */ "WDURATION", - /* 220 */ "IROWTS", - /* 221 */ "ISFILLED", - /* 222 */ "CAST", - /* 223 */ "NOW", - /* 224 */ "TODAY", - /* 225 */ "TIMEZONE", - /* 226 */ "CLIENT_VERSION", - /* 227 */ "SERVER_VERSION", - /* 228 */ "SERVER_STATUS", - /* 229 */ "CURRENT_USER", - /* 230 */ "CASE", - /* 231 */ "END", - /* 232 */ "WHEN", - /* 233 */ "THEN", - /* 234 */ "ELSE", - /* 235 */ "BETWEEN", - /* 236 */ "IS", - /* 237 */ "NK_LT", - /* 238 */ "NK_GT", - /* 239 */ "NK_LE", - /* 240 */ "NK_GE", - /* 241 */ "NK_NE", - /* 242 */ "MATCH", - /* 243 */ "NMATCH", - /* 244 */ "CONTAINS", - /* 245 */ "IN", - /* 246 */ "JOIN", - /* 247 */ "INNER", - /* 248 */ "SELECT", - /* 249 */ "DISTINCT", - /* 250 */ "WHERE", - /* 251 */ "PARTITION", - /* 252 */ "BY", - /* 253 */ "SESSION", - /* 254 */ "STATE_WINDOW", - /* 255 */ "EVENT_WINDOW", - /* 256 */ "START", - /* 257 */ "SLIDING", - /* 258 */ "FILL", - /* 259 */ "VALUE", - /* 260 */ "VALUE_F", - /* 261 */ "NONE", - /* 262 */ "PREV", - /* 263 */ "NULL_F", - /* 264 */ "LINEAR", - /* 265 */ "NEXT", - /* 266 */ "HAVING", - /* 267 */ "RANGE", - /* 268 */ "EVERY", - /* 269 */ "ORDER", - /* 270 */ "SLIMIT", - /* 271 */ "SOFFSET", - /* 272 */ "LIMIT", - /* 273 */ "OFFSET", - /* 274 */ "ASC", - /* 275 */ "NULLS", - /* 276 */ "ABORT", - /* 277 */ "AFTER", - /* 278 */ "ATTACH", - /* 279 */ "BEFORE", - /* 280 */ "BEGIN", - /* 281 */ "BITAND", - /* 282 */ "BITNOT", - /* 283 */ "BITOR", - /* 284 */ "BLOCKS", - /* 285 */ "CHANGE", - /* 286 */ "COMMA", - /* 287 */ "CONCAT", - /* 288 */ "CONFLICT", - /* 289 */ "COPY", - /* 290 */ "DEFERRED", - /* 291 */ "DELIMITERS", - /* 292 */ "DETACH", - /* 293 */ "DIVIDE", - /* 294 */ "DOT", - /* 295 */ "EACH", - /* 296 */ "FAIL", - /* 297 */ "FILE", - /* 298 */ "FOR", - /* 299 */ "GLOB", - /* 300 */ "ID", - /* 301 */ "IMMEDIATE", - /* 302 */ "IMPORT", - /* 303 */ "INITIALLY", - /* 304 */ "INSTEAD", - /* 305 */ "ISNULL", - /* 306 */ "KEY", - /* 307 */ "MODULES", - /* 308 */ "NK_BITNOT", - /* 309 */ "NK_SEMI", - /* 310 */ "NOTNULL", - /* 311 */ "OF", - /* 312 */ "PLUS", - /* 313 */ "PRIVILEGE", - /* 314 */ "RAISE", - /* 315 */ "REPLACE", - /* 316 */ "RESTRICT", - /* 317 */ "ROW", - /* 318 */ "SEMI", - /* 319 */ "STAR", - /* 320 */ "STATEMENT", - /* 321 */ "STRICT", - /* 322 */ "STRING", - /* 323 */ "TIMES", - /* 324 */ "VALUES", - /* 325 */ "VARIABLE", - /* 326 */ "VIEW", - /* 327 */ "WAL", - /* 328 */ "cmd", - /* 329 */ "account_options", - /* 330 */ "alter_account_options", - /* 331 */ "literal", - /* 332 */ "alter_account_option", - /* 333 */ "user_name", - /* 334 */ "sysinfo_opt", - /* 335 */ "privileges", - /* 336 */ "priv_level", - /* 337 */ "priv_type_list", - /* 338 */ "priv_type", - /* 339 */ "db_name", - /* 340 */ "topic_name", - /* 341 */ "dnode_endpoint", - /* 342 */ "force_opt", - /* 343 */ "not_exists_opt", - /* 344 */ "db_options", - /* 345 */ "exists_opt", - /* 346 */ "alter_db_options", - /* 347 */ "speed_opt", - /* 348 */ "integer_list", - /* 349 */ "variable_list", - /* 350 */ "retention_list", - /* 351 */ "alter_db_option", - /* 352 */ "retention", - /* 353 */ "full_table_name", - /* 354 */ "column_def_list", - /* 355 */ "tags_def_opt", - /* 356 */ "table_options", - /* 357 */ "multi_create_clause", - /* 358 */ "tags_def", - /* 359 */ "multi_drop_clause", - /* 360 */ "alter_table_clause", - /* 361 */ "alter_table_options", - /* 362 */ "column_name", - /* 363 */ "type_name", - /* 364 */ "signed_literal", - /* 365 */ "create_subtable_clause", - /* 366 */ "specific_cols_opt", - /* 367 */ "expression_list", - /* 368 */ "drop_table_clause", - /* 369 */ "col_name_list", - /* 370 */ "table_name", - /* 371 */ "column_def", - /* 372 */ "duration_list", - /* 373 */ "rollup_func_list", - /* 374 */ "alter_table_option", - /* 375 */ "duration_literal", - /* 376 */ "rollup_func_name", - /* 377 */ "function_name", - /* 378 */ "col_name", - /* 379 */ "db_name_cond_opt", - /* 380 */ "like_pattern_opt", - /* 381 */ "table_name_cond", - /* 382 */ "from_db_opt", - /* 383 */ "tag_list_opt", - /* 384 */ "tag_item", - /* 385 */ "column_alias", - /* 386 */ "full_index_name", - /* 387 */ "index_options", - /* 388 */ "index_name", - /* 389 */ "func_list", - /* 390 */ "sliding_opt", - /* 391 */ "sma_stream_opt", - /* 392 */ "func", - /* 393 */ "sma_func_name", - /* 394 */ "query_or_subquery", - /* 395 */ "cgroup_name", - /* 396 */ "analyze_opt", - /* 397 */ "explain_options", - /* 398 */ "insert_query", - /* 399 */ "agg_func_opt", - /* 400 */ "bufsize_opt", - /* 401 */ "stream_name", - /* 402 */ "stream_options", - /* 403 */ "col_list_opt", - /* 404 */ "tag_def_or_ref_opt", - /* 405 */ "subtable_opt", - /* 406 */ "expression", - /* 407 */ "dnode_list", - /* 408 */ "where_clause_opt", - /* 409 */ "signed", - /* 410 */ "literal_func", - /* 411 */ "literal_list", - /* 412 */ "table_alias", - /* 413 */ "expr_or_subquery", - /* 414 */ "pseudo_column", - /* 415 */ "column_reference", - /* 416 */ "function_expression", - /* 417 */ "case_when_expression", - /* 418 */ "star_func", - /* 419 */ "star_func_para_list", - /* 420 */ "noarg_func", - /* 421 */ "other_para_list", - /* 422 */ "star_func_para", - /* 423 */ "when_then_list", - /* 424 */ "case_when_else_opt", - /* 425 */ "common_expression", - /* 426 */ "when_then_expr", - /* 427 */ "predicate", - /* 428 */ "compare_op", - /* 429 */ "in_op", - /* 430 */ "in_predicate_value", - /* 431 */ "boolean_value_expression", - /* 432 */ "boolean_primary", - /* 433 */ "from_clause_opt", - /* 434 */ "table_reference_list", - /* 435 */ "table_reference", - /* 436 */ "table_primary", - /* 437 */ "joined_table", - /* 438 */ "alias_opt", - /* 439 */ "subquery", - /* 440 */ "parenthesized_joined_table", - /* 441 */ "join_type", - /* 442 */ "search_condition", - /* 443 */ "query_specification", - /* 444 */ "set_quantifier_opt", - /* 445 */ "select_list", - /* 446 */ "partition_by_clause_opt", - /* 447 */ "range_opt", - /* 448 */ "every_opt", - /* 449 */ "fill_opt", - /* 450 */ "twindow_clause_opt", - /* 451 */ "group_by_clause_opt", - /* 452 */ "having_clause_opt", - /* 453 */ "select_item", - /* 454 */ "partition_list", - /* 455 */ "partition_item", - /* 456 */ "fill_mode", - /* 457 */ "group_by_list", - /* 458 */ "query_expression", - /* 459 */ "query_simple", - /* 460 */ "order_by_clause_opt", - /* 461 */ "slimit_clause_opt", - /* 462 */ "limit_clause_opt", - /* 463 */ "union_query_expression", - /* 464 */ "query_simple_or_subquery", - /* 465 */ "sort_specification_list", - /* 466 */ "sort_specification", - /* 467 */ "ordering_specification_opt", - /* 468 */ "null_ordering_opt", + /* 190 */ "LANGUAGE", + /* 191 */ "STREAM", + /* 192 */ "INTO", + /* 193 */ "TRIGGER", + /* 194 */ "AT_ONCE", + /* 195 */ "WINDOW_CLOSE", + /* 196 */ "IGNORE", + /* 197 */ "EXPIRED", + /* 198 */ "FILL_HISTORY", + /* 199 */ "UPDATE", + /* 200 */ "SUBTABLE", + /* 201 */ "KILL", + /* 202 */ "CONNECTION", + /* 203 */ "TRANSACTION", + /* 204 */ "BALANCE", + /* 205 */ "VGROUP", + /* 206 */ "MERGE", + /* 207 */ "REDISTRIBUTE", + /* 208 */ "SPLIT", + /* 209 */ "DELETE", + /* 210 */ "INSERT", + /* 211 */ "NULL", + /* 212 */ "NK_QUESTION", + /* 213 */ "NK_ARROW", + /* 214 */ "ROWTS", + /* 215 */ "QSTART", + /* 216 */ "QEND", + /* 217 */ "QDURATION", + /* 218 */ "WSTART", + /* 219 */ "WEND", + /* 220 */ "WDURATION", + /* 221 */ "IROWTS", + /* 222 */ "ISFILLED", + /* 223 */ "CAST", + /* 224 */ "NOW", + /* 225 */ "TODAY", + /* 226 */ "TIMEZONE", + /* 227 */ "CLIENT_VERSION", + /* 228 */ "SERVER_VERSION", + /* 229 */ "SERVER_STATUS", + /* 230 */ "CURRENT_USER", + /* 231 */ "CASE", + /* 232 */ "END", + /* 233 */ "WHEN", + /* 234 */ "THEN", + /* 235 */ "ELSE", + /* 236 */ "BETWEEN", + /* 237 */ "IS", + /* 238 */ "NK_LT", + /* 239 */ "NK_GT", + /* 240 */ "NK_LE", + /* 241 */ "NK_GE", + /* 242 */ "NK_NE", + /* 243 */ "MATCH", + /* 244 */ "NMATCH", + /* 245 */ "CONTAINS", + /* 246 */ "IN", + /* 247 */ "JOIN", + /* 248 */ "INNER", + /* 249 */ "SELECT", + /* 250 */ "DISTINCT", + /* 251 */ "WHERE", + /* 252 */ "PARTITION", + /* 253 */ "BY", + /* 254 */ "SESSION", + /* 255 */ "STATE_WINDOW", + /* 256 */ "EVENT_WINDOW", + /* 257 */ "START", + /* 258 */ "SLIDING", + /* 259 */ "FILL", + /* 260 */ "VALUE", + /* 261 */ "VALUE_F", + /* 262 */ "NONE", + /* 263 */ "PREV", + /* 264 */ "NULL_F", + /* 265 */ "LINEAR", + /* 266 */ "NEXT", + /* 267 */ "HAVING", + /* 268 */ "RANGE", + /* 269 */ "EVERY", + /* 270 */ "ORDER", + /* 271 */ "SLIMIT", + /* 272 */ "SOFFSET", + /* 273 */ "LIMIT", + /* 274 */ "OFFSET", + /* 275 */ "ASC", + /* 276 */ "NULLS", + /* 277 */ "ABORT", + /* 278 */ "AFTER", + /* 279 */ "ATTACH", + /* 280 */ "BEFORE", + /* 281 */ "BEGIN", + /* 282 */ "BITAND", + /* 283 */ "BITNOT", + /* 284 */ "BITOR", + /* 285 */ "BLOCKS", + /* 286 */ "CHANGE", + /* 287 */ "COMMA", + /* 288 */ "CONCAT", + /* 289 */ "CONFLICT", + /* 290 */ "COPY", + /* 291 */ "DEFERRED", + /* 292 */ "DELIMITERS", + /* 293 */ "DETACH", + /* 294 */ "DIVIDE", + /* 295 */ "DOT", + /* 296 */ "EACH", + /* 297 */ "FAIL", + /* 298 */ "FILE", + /* 299 */ "FOR", + /* 300 */ "GLOB", + /* 301 */ "ID", + /* 302 */ "IMMEDIATE", + /* 303 */ "IMPORT", + /* 304 */ "INITIALLY", + /* 305 */ "INSTEAD", + /* 306 */ "ISNULL", + /* 307 */ "KEY", + /* 308 */ "MODULES", + /* 309 */ "NK_BITNOT", + /* 310 */ "NK_SEMI", + /* 311 */ "NOTNULL", + /* 312 */ "OF", + /* 313 */ "PLUS", + /* 314 */ "PRIVILEGE", + /* 315 */ "RAISE", + /* 316 */ "REPLACE", + /* 317 */ "RESTRICT", + /* 318 */ "ROW", + /* 319 */ "SEMI", + /* 320 */ "STAR", + /* 321 */ "STATEMENT", + /* 322 */ "STRICT", + /* 323 */ "STRING", + /* 324 */ "TIMES", + /* 325 */ "VALUES", + /* 326 */ "VARIABLE", + /* 327 */ "VIEW", + /* 328 */ "WAL", + /* 329 */ "cmd", + /* 330 */ "account_options", + /* 331 */ "alter_account_options", + /* 332 */ "literal", + /* 333 */ "alter_account_option", + /* 334 */ "user_name", + /* 335 */ "sysinfo_opt", + /* 336 */ "privileges", + /* 337 */ "priv_level", + /* 338 */ "priv_type_list", + /* 339 */ "priv_type", + /* 340 */ "db_name", + /* 341 */ "topic_name", + /* 342 */ "dnode_endpoint", + /* 343 */ "force_opt", + /* 344 */ "not_exists_opt", + /* 345 */ "db_options", + /* 346 */ "exists_opt", + /* 347 */ "alter_db_options", + /* 348 */ "speed_opt", + /* 349 */ "integer_list", + /* 350 */ "variable_list", + /* 351 */ "retention_list", + /* 352 */ "alter_db_option", + /* 353 */ "retention", + /* 354 */ "full_table_name", + /* 355 */ "column_def_list", + /* 356 */ "tags_def_opt", + /* 357 */ "table_options", + /* 358 */ "multi_create_clause", + /* 359 */ "tags_def", + /* 360 */ "multi_drop_clause", + /* 361 */ "alter_table_clause", + /* 362 */ "alter_table_options", + /* 363 */ "column_name", + /* 364 */ "type_name", + /* 365 */ "signed_literal", + /* 366 */ "create_subtable_clause", + /* 367 */ "specific_cols_opt", + /* 368 */ "expression_list", + /* 369 */ "drop_table_clause", + /* 370 */ "col_name_list", + /* 371 */ "table_name", + /* 372 */ "column_def", + /* 373 */ "duration_list", + /* 374 */ "rollup_func_list", + /* 375 */ "alter_table_option", + /* 376 */ "duration_literal", + /* 377 */ "rollup_func_name", + /* 378 */ "function_name", + /* 379 */ "col_name", + /* 380 */ "db_name_cond_opt", + /* 381 */ "like_pattern_opt", + /* 382 */ "table_name_cond", + /* 383 */ "from_db_opt", + /* 384 */ "tag_list_opt", + /* 385 */ "tag_item", + /* 386 */ "column_alias", + /* 387 */ "full_index_name", + /* 388 */ "index_options", + /* 389 */ "index_name", + /* 390 */ "func_list", + /* 391 */ "sliding_opt", + /* 392 */ "sma_stream_opt", + /* 393 */ "func", + /* 394 */ "sma_func_name", + /* 395 */ "query_or_subquery", + /* 396 */ "cgroup_name", + /* 397 */ "analyze_opt", + /* 398 */ "explain_options", + /* 399 */ "insert_query", + /* 400 */ "agg_func_opt", + /* 401 */ "bufsize_opt", + /* 402 */ "language_opt", + /* 403 */ "stream_name", + /* 404 */ "stream_options", + /* 405 */ "col_list_opt", + /* 406 */ "tag_def_or_ref_opt", + /* 407 */ "subtable_opt", + /* 408 */ "expression", + /* 409 */ "dnode_list", + /* 410 */ "where_clause_opt", + /* 411 */ "signed", + /* 412 */ "literal_func", + /* 413 */ "literal_list", + /* 414 */ "table_alias", + /* 415 */ "expr_or_subquery", + /* 416 */ "pseudo_column", + /* 417 */ "column_reference", + /* 418 */ "function_expression", + /* 419 */ "case_when_expression", + /* 420 */ "star_func", + /* 421 */ "star_func_para_list", + /* 422 */ "noarg_func", + /* 423 */ "other_para_list", + /* 424 */ "star_func_para", + /* 425 */ "when_then_list", + /* 426 */ "case_when_else_opt", + /* 427 */ "common_expression", + /* 428 */ "when_then_expr", + /* 429 */ "predicate", + /* 430 */ "compare_op", + /* 431 */ "in_op", + /* 432 */ "in_predicate_value", + /* 433 */ "boolean_value_expression", + /* 434 */ "boolean_primary", + /* 435 */ "from_clause_opt", + /* 436 */ "table_reference_list", + /* 437 */ "table_reference", + /* 438 */ "table_primary", + /* 439 */ "joined_table", + /* 440 */ "alias_opt", + /* 441 */ "subquery", + /* 442 */ "parenthesized_joined_table", + /* 443 */ "join_type", + /* 444 */ "search_condition", + /* 445 */ "query_specification", + /* 446 */ "set_quantifier_opt", + /* 447 */ "select_list", + /* 448 */ "partition_by_clause_opt", + /* 449 */ "range_opt", + /* 450 */ "every_opt", + /* 451 */ "fill_opt", + /* 452 */ "twindow_clause_opt", + /* 453 */ "group_by_clause_opt", + /* 454 */ "having_clause_opt", + /* 455 */ "select_item", + /* 456 */ "partition_list", + /* 457 */ "partition_item", + /* 458 */ "fill_mode", + /* 459 */ "group_by_list", + /* 460 */ "query_expression", + /* 461 */ "query_simple", + /* 462 */ "order_by_clause_opt", + /* 463 */ "slimit_clause_opt", + /* 464 */ "limit_clause_opt", + /* 465 */ "union_query_expression", + /* 466 */ "query_simple_or_subquery", + /* 467 */ "sort_specification_list", + /* 468 */ "sort_specification", + /* 469 */ "ordering_specification_opt", + /* 470 */ "null_ordering_opt", }; #endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ @@ -2172,270 +2243,272 @@ static const char *const yyRuleName[] = { /* 296 */ "explain_options ::=", /* 297 */ "explain_options ::= explain_options VERBOSE NK_BOOL", /* 298 */ "explain_options ::= explain_options RATIO NK_FLOAT", - /* 299 */ "cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt", + /* 299 */ "cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt", /* 300 */ "cmd ::= DROP FUNCTION exists_opt function_name", /* 301 */ "agg_func_opt ::=", /* 302 */ "agg_func_opt ::= AGGREGATE", /* 303 */ "bufsize_opt ::=", /* 304 */ "bufsize_opt ::= BUFSIZE NK_INTEGER", - /* 305 */ "cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery", - /* 306 */ "cmd ::= DROP STREAM exists_opt stream_name", - /* 307 */ "col_list_opt ::=", - /* 308 */ "col_list_opt ::= NK_LP col_name_list NK_RP", - /* 309 */ "tag_def_or_ref_opt ::=", - /* 310 */ "tag_def_or_ref_opt ::= tags_def", - /* 311 */ "tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP", - /* 312 */ "stream_options ::=", - /* 313 */ "stream_options ::= stream_options TRIGGER AT_ONCE", - /* 314 */ "stream_options ::= stream_options TRIGGER WINDOW_CLOSE", - /* 315 */ "stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal", - /* 316 */ "stream_options ::= stream_options WATERMARK duration_literal", - /* 317 */ "stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER", - /* 318 */ "stream_options ::= stream_options FILL_HISTORY NK_INTEGER", - /* 319 */ "stream_options ::= stream_options DELETE_MARK duration_literal", - /* 320 */ "stream_options ::= stream_options IGNORE UPDATE NK_INTEGER", - /* 321 */ "subtable_opt ::=", - /* 322 */ "subtable_opt ::= SUBTABLE NK_LP expression NK_RP", - /* 323 */ "cmd ::= KILL CONNECTION NK_INTEGER", - /* 324 */ "cmd ::= KILL QUERY NK_STRING", - /* 325 */ "cmd ::= KILL TRANSACTION NK_INTEGER", - /* 326 */ "cmd ::= BALANCE VGROUP", - /* 327 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", - /* 328 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", - /* 329 */ "cmd ::= SPLIT VGROUP NK_INTEGER", - /* 330 */ "dnode_list ::= DNODE NK_INTEGER", - /* 331 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", - /* 332 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", - /* 333 */ "cmd ::= query_or_subquery", - /* 334 */ "cmd ::= insert_query", - /* 335 */ "insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", - /* 336 */ "insert_query ::= INSERT INTO full_table_name query_or_subquery", - /* 337 */ "literal ::= NK_INTEGER", - /* 338 */ "literal ::= NK_FLOAT", - /* 339 */ "literal ::= NK_STRING", - /* 340 */ "literal ::= NK_BOOL", - /* 341 */ "literal ::= TIMESTAMP NK_STRING", - /* 342 */ "literal ::= duration_literal", - /* 343 */ "literal ::= NULL", - /* 344 */ "literal ::= NK_QUESTION", - /* 345 */ "duration_literal ::= NK_VARIABLE", - /* 346 */ "signed ::= NK_INTEGER", - /* 347 */ "signed ::= NK_PLUS NK_INTEGER", - /* 348 */ "signed ::= NK_MINUS NK_INTEGER", - /* 349 */ "signed ::= NK_FLOAT", - /* 350 */ "signed ::= NK_PLUS NK_FLOAT", - /* 351 */ "signed ::= NK_MINUS NK_FLOAT", - /* 352 */ "signed_literal ::= signed", - /* 353 */ "signed_literal ::= NK_STRING", - /* 354 */ "signed_literal ::= NK_BOOL", - /* 355 */ "signed_literal ::= TIMESTAMP NK_STRING", - /* 356 */ "signed_literal ::= duration_literal", - /* 357 */ "signed_literal ::= NULL", - /* 358 */ "signed_literal ::= literal_func", - /* 359 */ "signed_literal ::= NK_QUESTION", - /* 360 */ "literal_list ::= signed_literal", - /* 361 */ "literal_list ::= literal_list NK_COMMA signed_literal", - /* 362 */ "db_name ::= NK_ID", - /* 363 */ "table_name ::= NK_ID", - /* 364 */ "column_name ::= NK_ID", - /* 365 */ "function_name ::= NK_ID", - /* 366 */ "table_alias ::= NK_ID", - /* 367 */ "column_alias ::= NK_ID", - /* 368 */ "user_name ::= NK_ID", - /* 369 */ "topic_name ::= NK_ID", - /* 370 */ "stream_name ::= NK_ID", - /* 371 */ "cgroup_name ::= NK_ID", - /* 372 */ "index_name ::= NK_ID", - /* 373 */ "expr_or_subquery ::= expression", - /* 374 */ "expression ::= literal", - /* 375 */ "expression ::= pseudo_column", - /* 376 */ "expression ::= column_reference", - /* 377 */ "expression ::= function_expression", - /* 378 */ "expression ::= case_when_expression", - /* 379 */ "expression ::= NK_LP expression NK_RP", - /* 380 */ "expression ::= NK_PLUS expr_or_subquery", - /* 381 */ "expression ::= NK_MINUS expr_or_subquery", - /* 382 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", - /* 383 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", - /* 384 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", - /* 385 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", - /* 386 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", - /* 387 */ "expression ::= column_reference NK_ARROW NK_STRING", - /* 388 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", - /* 389 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", - /* 390 */ "expression_list ::= expr_or_subquery", - /* 391 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", - /* 392 */ "column_reference ::= column_name", - /* 393 */ "column_reference ::= table_name NK_DOT column_name", - /* 394 */ "pseudo_column ::= ROWTS", - /* 395 */ "pseudo_column ::= TBNAME", - /* 396 */ "pseudo_column ::= table_name NK_DOT TBNAME", - /* 397 */ "pseudo_column ::= QSTART", - /* 398 */ "pseudo_column ::= QEND", - /* 399 */ "pseudo_column ::= QDURATION", - /* 400 */ "pseudo_column ::= WSTART", - /* 401 */ "pseudo_column ::= WEND", - /* 402 */ "pseudo_column ::= WDURATION", - /* 403 */ "pseudo_column ::= IROWTS", - /* 404 */ "pseudo_column ::= ISFILLED", - /* 405 */ "pseudo_column ::= QTAGS", - /* 406 */ "function_expression ::= function_name NK_LP expression_list NK_RP", - /* 407 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", - /* 408 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", - /* 409 */ "function_expression ::= literal_func", - /* 410 */ "literal_func ::= noarg_func NK_LP NK_RP", - /* 411 */ "literal_func ::= NOW", - /* 412 */ "noarg_func ::= NOW", - /* 413 */ "noarg_func ::= TODAY", - /* 414 */ "noarg_func ::= TIMEZONE", - /* 415 */ "noarg_func ::= DATABASE", - /* 416 */ "noarg_func ::= CLIENT_VERSION", - /* 417 */ "noarg_func ::= SERVER_VERSION", - /* 418 */ "noarg_func ::= SERVER_STATUS", - /* 419 */ "noarg_func ::= CURRENT_USER", - /* 420 */ "noarg_func ::= USER", - /* 421 */ "star_func ::= COUNT", - /* 422 */ "star_func ::= FIRST", - /* 423 */ "star_func ::= LAST", - /* 424 */ "star_func ::= LAST_ROW", - /* 425 */ "star_func_para_list ::= NK_STAR", - /* 426 */ "star_func_para_list ::= other_para_list", - /* 427 */ "other_para_list ::= star_func_para", - /* 428 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", - /* 429 */ "star_func_para ::= expr_or_subquery", - /* 430 */ "star_func_para ::= table_name NK_DOT NK_STAR", - /* 431 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", - /* 432 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", - /* 433 */ "when_then_list ::= when_then_expr", - /* 434 */ "when_then_list ::= when_then_list when_then_expr", - /* 435 */ "when_then_expr ::= WHEN common_expression THEN common_expression", - /* 436 */ "case_when_else_opt ::=", - /* 437 */ "case_when_else_opt ::= ELSE common_expression", - /* 438 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", - /* 439 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", - /* 440 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", - /* 441 */ "predicate ::= expr_or_subquery IS NULL", - /* 442 */ "predicate ::= expr_or_subquery IS NOT NULL", - /* 443 */ "predicate ::= expr_or_subquery in_op in_predicate_value", - /* 444 */ "compare_op ::= NK_LT", - /* 445 */ "compare_op ::= NK_GT", - /* 446 */ "compare_op ::= NK_LE", - /* 447 */ "compare_op ::= NK_GE", - /* 448 */ "compare_op ::= NK_NE", - /* 449 */ "compare_op ::= NK_EQ", - /* 450 */ "compare_op ::= LIKE", - /* 451 */ "compare_op ::= NOT LIKE", - /* 452 */ "compare_op ::= MATCH", - /* 453 */ "compare_op ::= NMATCH", - /* 454 */ "compare_op ::= CONTAINS", - /* 455 */ "in_op ::= IN", - /* 456 */ "in_op ::= NOT IN", - /* 457 */ "in_predicate_value ::= NK_LP literal_list NK_RP", - /* 458 */ "boolean_value_expression ::= boolean_primary", - /* 459 */ "boolean_value_expression ::= NOT boolean_primary", - /* 460 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", - /* 461 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", - /* 462 */ "boolean_primary ::= predicate", - /* 463 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", - /* 464 */ "common_expression ::= expr_or_subquery", - /* 465 */ "common_expression ::= boolean_value_expression", - /* 466 */ "from_clause_opt ::=", - /* 467 */ "from_clause_opt ::= FROM table_reference_list", - /* 468 */ "table_reference_list ::= table_reference", - /* 469 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", - /* 470 */ "table_reference ::= table_primary", - /* 471 */ "table_reference ::= joined_table", - /* 472 */ "table_primary ::= table_name alias_opt", - /* 473 */ "table_primary ::= db_name NK_DOT table_name alias_opt", - /* 474 */ "table_primary ::= subquery alias_opt", - /* 475 */ "table_primary ::= parenthesized_joined_table", - /* 476 */ "alias_opt ::=", - /* 477 */ "alias_opt ::= table_alias", - /* 478 */ "alias_opt ::= AS table_alias", - /* 479 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", - /* 480 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", - /* 481 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition", - /* 482 */ "join_type ::=", - /* 483 */ "join_type ::= INNER", - /* 484 */ "query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt", - /* 485 */ "set_quantifier_opt ::=", - /* 486 */ "set_quantifier_opt ::= DISTINCT", - /* 487 */ "set_quantifier_opt ::= ALL", - /* 488 */ "select_list ::= select_item", - /* 489 */ "select_list ::= select_list NK_COMMA select_item", - /* 490 */ "select_item ::= NK_STAR", - /* 491 */ "select_item ::= common_expression", - /* 492 */ "select_item ::= common_expression column_alias", - /* 493 */ "select_item ::= common_expression AS column_alias", - /* 494 */ "select_item ::= table_name NK_DOT NK_STAR", - /* 495 */ "where_clause_opt ::=", - /* 496 */ "where_clause_opt ::= WHERE search_condition", - /* 497 */ "partition_by_clause_opt ::=", - /* 498 */ "partition_by_clause_opt ::= PARTITION BY partition_list", - /* 499 */ "partition_list ::= partition_item", - /* 500 */ "partition_list ::= partition_list NK_COMMA partition_item", - /* 501 */ "partition_item ::= expr_or_subquery", - /* 502 */ "partition_item ::= expr_or_subquery column_alias", - /* 503 */ "partition_item ::= expr_or_subquery AS column_alias", - /* 504 */ "twindow_clause_opt ::=", - /* 505 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP", - /* 506 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", - /* 507 */ "twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt", - /* 508 */ "twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt", - /* 509 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", - /* 510 */ "sliding_opt ::=", - /* 511 */ "sliding_opt ::= SLIDING NK_LP duration_literal NK_RP", - /* 512 */ "fill_opt ::=", - /* 513 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", - /* 514 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP", - /* 515 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA literal_list NK_RP", - /* 516 */ "fill_mode ::= NONE", - /* 517 */ "fill_mode ::= PREV", - /* 518 */ "fill_mode ::= NULL", - /* 519 */ "fill_mode ::= NULL_F", - /* 520 */ "fill_mode ::= LINEAR", - /* 521 */ "fill_mode ::= NEXT", - /* 522 */ "group_by_clause_opt ::=", - /* 523 */ "group_by_clause_opt ::= GROUP BY group_by_list", - /* 524 */ "group_by_list ::= expr_or_subquery", - /* 525 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", - /* 526 */ "having_clause_opt ::=", - /* 527 */ "having_clause_opt ::= HAVING search_condition", - /* 528 */ "range_opt ::=", - /* 529 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", - /* 530 */ "every_opt ::=", - /* 531 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", - /* 532 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", - /* 533 */ "query_simple ::= query_specification", - /* 534 */ "query_simple ::= union_query_expression", - /* 535 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", - /* 536 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", - /* 537 */ "query_simple_or_subquery ::= query_simple", - /* 538 */ "query_simple_or_subquery ::= subquery", - /* 539 */ "query_or_subquery ::= query_expression", - /* 540 */ "query_or_subquery ::= subquery", - /* 541 */ "order_by_clause_opt ::=", - /* 542 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", - /* 543 */ "slimit_clause_opt ::=", - /* 544 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", - /* 545 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", - /* 546 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 547 */ "limit_clause_opt ::=", - /* 548 */ "limit_clause_opt ::= LIMIT NK_INTEGER", - /* 549 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", - /* 550 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", - /* 551 */ "subquery ::= NK_LP query_expression NK_RP", - /* 552 */ "subquery ::= NK_LP subquery NK_RP", - /* 553 */ "search_condition ::= common_expression", - /* 554 */ "sort_specification_list ::= sort_specification", - /* 555 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", - /* 556 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", - /* 557 */ "ordering_specification_opt ::=", - /* 558 */ "ordering_specification_opt ::= ASC", - /* 559 */ "ordering_specification_opt ::= DESC", - /* 560 */ "null_ordering_opt ::=", - /* 561 */ "null_ordering_opt ::= NULLS FIRST", - /* 562 */ "null_ordering_opt ::= NULLS LAST", + /* 305 */ "language_opt ::=", + /* 306 */ "language_opt ::= LANGUAGE NK_STRING", + /* 307 */ "cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery", + /* 308 */ "cmd ::= DROP STREAM exists_opt stream_name", + /* 309 */ "col_list_opt ::=", + /* 310 */ "col_list_opt ::= NK_LP col_name_list NK_RP", + /* 311 */ "tag_def_or_ref_opt ::=", + /* 312 */ "tag_def_or_ref_opt ::= tags_def", + /* 313 */ "tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP", + /* 314 */ "stream_options ::=", + /* 315 */ "stream_options ::= stream_options TRIGGER AT_ONCE", + /* 316 */ "stream_options ::= stream_options TRIGGER WINDOW_CLOSE", + /* 317 */ "stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal", + /* 318 */ "stream_options ::= stream_options WATERMARK duration_literal", + /* 319 */ "stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER", + /* 320 */ "stream_options ::= stream_options FILL_HISTORY NK_INTEGER", + /* 321 */ "stream_options ::= stream_options DELETE_MARK duration_literal", + /* 322 */ "stream_options ::= stream_options IGNORE UPDATE NK_INTEGER", + /* 323 */ "subtable_opt ::=", + /* 324 */ "subtable_opt ::= SUBTABLE NK_LP expression NK_RP", + /* 325 */ "cmd ::= KILL CONNECTION NK_INTEGER", + /* 326 */ "cmd ::= KILL QUERY NK_STRING", + /* 327 */ "cmd ::= KILL TRANSACTION NK_INTEGER", + /* 328 */ "cmd ::= BALANCE VGROUP", + /* 329 */ "cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER", + /* 330 */ "cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list", + /* 331 */ "cmd ::= SPLIT VGROUP NK_INTEGER", + /* 332 */ "dnode_list ::= DNODE NK_INTEGER", + /* 333 */ "dnode_list ::= dnode_list DNODE NK_INTEGER", + /* 334 */ "cmd ::= DELETE FROM full_table_name where_clause_opt", + /* 335 */ "cmd ::= query_or_subquery", + /* 336 */ "cmd ::= insert_query", + /* 337 */ "insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery", + /* 338 */ "insert_query ::= INSERT INTO full_table_name query_or_subquery", + /* 339 */ "literal ::= NK_INTEGER", + /* 340 */ "literal ::= NK_FLOAT", + /* 341 */ "literal ::= NK_STRING", + /* 342 */ "literal ::= NK_BOOL", + /* 343 */ "literal ::= TIMESTAMP NK_STRING", + /* 344 */ "literal ::= duration_literal", + /* 345 */ "literal ::= NULL", + /* 346 */ "literal ::= NK_QUESTION", + /* 347 */ "duration_literal ::= NK_VARIABLE", + /* 348 */ "signed ::= NK_INTEGER", + /* 349 */ "signed ::= NK_PLUS NK_INTEGER", + /* 350 */ "signed ::= NK_MINUS NK_INTEGER", + /* 351 */ "signed ::= NK_FLOAT", + /* 352 */ "signed ::= NK_PLUS NK_FLOAT", + /* 353 */ "signed ::= NK_MINUS NK_FLOAT", + /* 354 */ "signed_literal ::= signed", + /* 355 */ "signed_literal ::= NK_STRING", + /* 356 */ "signed_literal ::= NK_BOOL", + /* 357 */ "signed_literal ::= TIMESTAMP NK_STRING", + /* 358 */ "signed_literal ::= duration_literal", + /* 359 */ "signed_literal ::= NULL", + /* 360 */ "signed_literal ::= literal_func", + /* 361 */ "signed_literal ::= NK_QUESTION", + /* 362 */ "literal_list ::= signed_literal", + /* 363 */ "literal_list ::= literal_list NK_COMMA signed_literal", + /* 364 */ "db_name ::= NK_ID", + /* 365 */ "table_name ::= NK_ID", + /* 366 */ "column_name ::= NK_ID", + /* 367 */ "function_name ::= NK_ID", + /* 368 */ "table_alias ::= NK_ID", + /* 369 */ "column_alias ::= NK_ID", + /* 370 */ "user_name ::= NK_ID", + /* 371 */ "topic_name ::= NK_ID", + /* 372 */ "stream_name ::= NK_ID", + /* 373 */ "cgroup_name ::= NK_ID", + /* 374 */ "index_name ::= NK_ID", + /* 375 */ "expr_or_subquery ::= expression", + /* 376 */ "expression ::= literal", + /* 377 */ "expression ::= pseudo_column", + /* 378 */ "expression ::= column_reference", + /* 379 */ "expression ::= function_expression", + /* 380 */ "expression ::= case_when_expression", + /* 381 */ "expression ::= NK_LP expression NK_RP", + /* 382 */ "expression ::= NK_PLUS expr_or_subquery", + /* 383 */ "expression ::= NK_MINUS expr_or_subquery", + /* 384 */ "expression ::= expr_or_subquery NK_PLUS expr_or_subquery", + /* 385 */ "expression ::= expr_or_subquery NK_MINUS expr_or_subquery", + /* 386 */ "expression ::= expr_or_subquery NK_STAR expr_or_subquery", + /* 387 */ "expression ::= expr_or_subquery NK_SLASH expr_or_subquery", + /* 388 */ "expression ::= expr_or_subquery NK_REM expr_or_subquery", + /* 389 */ "expression ::= column_reference NK_ARROW NK_STRING", + /* 390 */ "expression ::= expr_or_subquery NK_BITAND expr_or_subquery", + /* 391 */ "expression ::= expr_or_subquery NK_BITOR expr_or_subquery", + /* 392 */ "expression_list ::= expr_or_subquery", + /* 393 */ "expression_list ::= expression_list NK_COMMA expr_or_subquery", + /* 394 */ "column_reference ::= column_name", + /* 395 */ "column_reference ::= table_name NK_DOT column_name", + /* 396 */ "pseudo_column ::= ROWTS", + /* 397 */ "pseudo_column ::= TBNAME", + /* 398 */ "pseudo_column ::= table_name NK_DOT TBNAME", + /* 399 */ "pseudo_column ::= QSTART", + /* 400 */ "pseudo_column ::= QEND", + /* 401 */ "pseudo_column ::= QDURATION", + /* 402 */ "pseudo_column ::= WSTART", + /* 403 */ "pseudo_column ::= WEND", + /* 404 */ "pseudo_column ::= WDURATION", + /* 405 */ "pseudo_column ::= IROWTS", + /* 406 */ "pseudo_column ::= ISFILLED", + /* 407 */ "pseudo_column ::= QTAGS", + /* 408 */ "function_expression ::= function_name NK_LP expression_list NK_RP", + /* 409 */ "function_expression ::= star_func NK_LP star_func_para_list NK_RP", + /* 410 */ "function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP", + /* 411 */ "function_expression ::= literal_func", + /* 412 */ "literal_func ::= noarg_func NK_LP NK_RP", + /* 413 */ "literal_func ::= NOW", + /* 414 */ "noarg_func ::= NOW", + /* 415 */ "noarg_func ::= TODAY", + /* 416 */ "noarg_func ::= TIMEZONE", + /* 417 */ "noarg_func ::= DATABASE", + /* 418 */ "noarg_func ::= CLIENT_VERSION", + /* 419 */ "noarg_func ::= SERVER_VERSION", + /* 420 */ "noarg_func ::= SERVER_STATUS", + /* 421 */ "noarg_func ::= CURRENT_USER", + /* 422 */ "noarg_func ::= USER", + /* 423 */ "star_func ::= COUNT", + /* 424 */ "star_func ::= FIRST", + /* 425 */ "star_func ::= LAST", + /* 426 */ "star_func ::= LAST_ROW", + /* 427 */ "star_func_para_list ::= NK_STAR", + /* 428 */ "star_func_para_list ::= other_para_list", + /* 429 */ "other_para_list ::= star_func_para", + /* 430 */ "other_para_list ::= other_para_list NK_COMMA star_func_para", + /* 431 */ "star_func_para ::= expr_or_subquery", + /* 432 */ "star_func_para ::= table_name NK_DOT NK_STAR", + /* 433 */ "case_when_expression ::= CASE when_then_list case_when_else_opt END", + /* 434 */ "case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END", + /* 435 */ "when_then_list ::= when_then_expr", + /* 436 */ "when_then_list ::= when_then_list when_then_expr", + /* 437 */ "when_then_expr ::= WHEN common_expression THEN common_expression", + /* 438 */ "case_when_else_opt ::=", + /* 439 */ "case_when_else_opt ::= ELSE common_expression", + /* 440 */ "predicate ::= expr_or_subquery compare_op expr_or_subquery", + /* 441 */ "predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery", + /* 442 */ "predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery", + /* 443 */ "predicate ::= expr_or_subquery IS NULL", + /* 444 */ "predicate ::= expr_or_subquery IS NOT NULL", + /* 445 */ "predicate ::= expr_or_subquery in_op in_predicate_value", + /* 446 */ "compare_op ::= NK_LT", + /* 447 */ "compare_op ::= NK_GT", + /* 448 */ "compare_op ::= NK_LE", + /* 449 */ "compare_op ::= NK_GE", + /* 450 */ "compare_op ::= NK_NE", + /* 451 */ "compare_op ::= NK_EQ", + /* 452 */ "compare_op ::= LIKE", + /* 453 */ "compare_op ::= NOT LIKE", + /* 454 */ "compare_op ::= MATCH", + /* 455 */ "compare_op ::= NMATCH", + /* 456 */ "compare_op ::= CONTAINS", + /* 457 */ "in_op ::= IN", + /* 458 */ "in_op ::= NOT IN", + /* 459 */ "in_predicate_value ::= NK_LP literal_list NK_RP", + /* 460 */ "boolean_value_expression ::= boolean_primary", + /* 461 */ "boolean_value_expression ::= NOT boolean_primary", + /* 462 */ "boolean_value_expression ::= boolean_value_expression OR boolean_value_expression", + /* 463 */ "boolean_value_expression ::= boolean_value_expression AND boolean_value_expression", + /* 464 */ "boolean_primary ::= predicate", + /* 465 */ "boolean_primary ::= NK_LP boolean_value_expression NK_RP", + /* 466 */ "common_expression ::= expr_or_subquery", + /* 467 */ "common_expression ::= boolean_value_expression", + /* 468 */ "from_clause_opt ::=", + /* 469 */ "from_clause_opt ::= FROM table_reference_list", + /* 470 */ "table_reference_list ::= table_reference", + /* 471 */ "table_reference_list ::= table_reference_list NK_COMMA table_reference", + /* 472 */ "table_reference ::= table_primary", + /* 473 */ "table_reference ::= joined_table", + /* 474 */ "table_primary ::= table_name alias_opt", + /* 475 */ "table_primary ::= db_name NK_DOT table_name alias_opt", + /* 476 */ "table_primary ::= subquery alias_opt", + /* 477 */ "table_primary ::= parenthesized_joined_table", + /* 478 */ "alias_opt ::=", + /* 479 */ "alias_opt ::= table_alias", + /* 480 */ "alias_opt ::= AS table_alias", + /* 481 */ "parenthesized_joined_table ::= NK_LP joined_table NK_RP", + /* 482 */ "parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP", + /* 483 */ "joined_table ::= table_reference join_type JOIN table_reference ON search_condition", + /* 484 */ "join_type ::=", + /* 485 */ "join_type ::= INNER", + /* 486 */ "query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt", + /* 487 */ "set_quantifier_opt ::=", + /* 488 */ "set_quantifier_opt ::= DISTINCT", + /* 489 */ "set_quantifier_opt ::= ALL", + /* 490 */ "select_list ::= select_item", + /* 491 */ "select_list ::= select_list NK_COMMA select_item", + /* 492 */ "select_item ::= NK_STAR", + /* 493 */ "select_item ::= common_expression", + /* 494 */ "select_item ::= common_expression column_alias", + /* 495 */ "select_item ::= common_expression AS column_alias", + /* 496 */ "select_item ::= table_name NK_DOT NK_STAR", + /* 497 */ "where_clause_opt ::=", + /* 498 */ "where_clause_opt ::= WHERE search_condition", + /* 499 */ "partition_by_clause_opt ::=", + /* 500 */ "partition_by_clause_opt ::= PARTITION BY partition_list", + /* 501 */ "partition_list ::= partition_item", + /* 502 */ "partition_list ::= partition_list NK_COMMA partition_item", + /* 503 */ "partition_item ::= expr_or_subquery", + /* 504 */ "partition_item ::= expr_or_subquery column_alias", + /* 505 */ "partition_item ::= expr_or_subquery AS column_alias", + /* 506 */ "twindow_clause_opt ::=", + /* 507 */ "twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP", + /* 508 */ "twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP", + /* 509 */ "twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt", + /* 510 */ "twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt", + /* 511 */ "twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition", + /* 512 */ "sliding_opt ::=", + /* 513 */ "sliding_opt ::= SLIDING NK_LP duration_literal NK_RP", + /* 514 */ "fill_opt ::=", + /* 515 */ "fill_opt ::= FILL NK_LP fill_mode NK_RP", + /* 516 */ "fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP", + /* 517 */ "fill_opt ::= FILL NK_LP VALUE_F NK_COMMA literal_list NK_RP", + /* 518 */ "fill_mode ::= NONE", + /* 519 */ "fill_mode ::= PREV", + /* 520 */ "fill_mode ::= NULL", + /* 521 */ "fill_mode ::= NULL_F", + /* 522 */ "fill_mode ::= LINEAR", + /* 523 */ "fill_mode ::= NEXT", + /* 524 */ "group_by_clause_opt ::=", + /* 525 */ "group_by_clause_opt ::= GROUP BY group_by_list", + /* 526 */ "group_by_list ::= expr_or_subquery", + /* 527 */ "group_by_list ::= group_by_list NK_COMMA expr_or_subquery", + /* 528 */ "having_clause_opt ::=", + /* 529 */ "having_clause_opt ::= HAVING search_condition", + /* 530 */ "range_opt ::=", + /* 531 */ "range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP", + /* 532 */ "every_opt ::=", + /* 533 */ "every_opt ::= EVERY NK_LP duration_literal NK_RP", + /* 534 */ "query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt", + /* 535 */ "query_simple ::= query_specification", + /* 536 */ "query_simple ::= union_query_expression", + /* 537 */ "union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery", + /* 538 */ "union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery", + /* 539 */ "query_simple_or_subquery ::= query_simple", + /* 540 */ "query_simple_or_subquery ::= subquery", + /* 541 */ "query_or_subquery ::= query_expression", + /* 542 */ "query_or_subquery ::= subquery", + /* 543 */ "order_by_clause_opt ::=", + /* 544 */ "order_by_clause_opt ::= ORDER BY sort_specification_list", + /* 545 */ "slimit_clause_opt ::=", + /* 546 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER", + /* 547 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER", + /* 548 */ "slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 549 */ "limit_clause_opt ::=", + /* 550 */ "limit_clause_opt ::= LIMIT NK_INTEGER", + /* 551 */ "limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER", + /* 552 */ "limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER", + /* 553 */ "subquery ::= NK_LP query_expression NK_RP", + /* 554 */ "subquery ::= NK_LP subquery NK_RP", + /* 555 */ "search_condition ::= common_expression", + /* 556 */ "sort_specification_list ::= sort_specification", + /* 557 */ "sort_specification_list ::= sort_specification_list NK_COMMA sort_specification", + /* 558 */ "sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt", + /* 559 */ "ordering_specification_opt ::=", + /* 560 */ "ordering_specification_opt ::= ASC", + /* 561 */ "ordering_specification_opt ::= DESC", + /* 562 */ "null_ordering_opt ::=", + /* 563 */ "null_ordering_opt ::= NULLS FIRST", + /* 564 */ "null_ordering_opt ::= NULLS LAST", }; #endif /* NDEBUG */ @@ -2562,199 +2635,200 @@ static void yy_destructor( */ /********* Begin destructor definitions ***************************************/ /* Default NON-TERMINAL Destructor */ - case 328: /* cmd */ - case 331: /* literal */ - case 344: /* db_options */ - case 346: /* alter_db_options */ - case 352: /* retention */ - case 353: /* full_table_name */ - case 356: /* table_options */ - case 360: /* alter_table_clause */ - case 361: /* alter_table_options */ - case 364: /* signed_literal */ - case 365: /* create_subtable_clause */ - case 368: /* drop_table_clause */ - case 371: /* column_def */ - case 375: /* duration_literal */ - case 376: /* rollup_func_name */ - case 378: /* col_name */ - case 379: /* db_name_cond_opt */ - case 380: /* like_pattern_opt */ - case 381: /* table_name_cond */ - case 382: /* from_db_opt */ - case 384: /* tag_item */ - case 386: /* full_index_name */ - case 387: /* index_options */ - case 390: /* sliding_opt */ - case 391: /* sma_stream_opt */ - case 392: /* func */ - case 394: /* query_or_subquery */ - case 397: /* explain_options */ - case 398: /* insert_query */ - case 402: /* stream_options */ - case 405: /* subtable_opt */ - case 406: /* expression */ - case 408: /* where_clause_opt */ - case 409: /* signed */ - case 410: /* literal_func */ - case 413: /* expr_or_subquery */ - case 414: /* pseudo_column */ - case 415: /* column_reference */ - case 416: /* function_expression */ - case 417: /* case_when_expression */ - case 422: /* star_func_para */ - case 424: /* case_when_else_opt */ - case 425: /* common_expression */ - case 426: /* when_then_expr */ - case 427: /* predicate */ - case 430: /* in_predicate_value */ - case 431: /* boolean_value_expression */ - case 432: /* boolean_primary */ - case 433: /* from_clause_opt */ - case 434: /* table_reference_list */ - case 435: /* table_reference */ - case 436: /* table_primary */ - case 437: /* joined_table */ - case 439: /* subquery */ - case 440: /* parenthesized_joined_table */ - case 442: /* search_condition */ - case 443: /* query_specification */ - case 447: /* range_opt */ - case 448: /* every_opt */ - case 449: /* fill_opt */ - case 450: /* twindow_clause_opt */ - case 452: /* having_clause_opt */ - case 453: /* select_item */ - case 455: /* partition_item */ - case 458: /* query_expression */ - case 459: /* query_simple */ - case 461: /* slimit_clause_opt */ - case 462: /* limit_clause_opt */ - case 463: /* union_query_expression */ - case 464: /* query_simple_or_subquery */ - case 466: /* sort_specification */ + case 329: /* cmd */ + case 332: /* literal */ + case 345: /* db_options */ + case 347: /* alter_db_options */ + case 353: /* retention */ + case 354: /* full_table_name */ + case 357: /* table_options */ + case 361: /* alter_table_clause */ + case 362: /* alter_table_options */ + case 365: /* signed_literal */ + case 366: /* create_subtable_clause */ + case 369: /* drop_table_clause */ + case 372: /* column_def */ + case 376: /* duration_literal */ + case 377: /* rollup_func_name */ + case 379: /* col_name */ + case 380: /* db_name_cond_opt */ + case 381: /* like_pattern_opt */ + case 382: /* table_name_cond */ + case 383: /* from_db_opt */ + case 385: /* tag_item */ + case 387: /* full_index_name */ + case 388: /* index_options */ + case 391: /* sliding_opt */ + case 392: /* sma_stream_opt */ + case 393: /* func */ + case 395: /* query_or_subquery */ + case 398: /* explain_options */ + case 399: /* insert_query */ + case 404: /* stream_options */ + case 407: /* subtable_opt */ + case 408: /* expression */ + case 410: /* where_clause_opt */ + case 411: /* signed */ + case 412: /* literal_func */ + case 415: /* expr_or_subquery */ + case 416: /* pseudo_column */ + case 417: /* column_reference */ + case 418: /* function_expression */ + case 419: /* case_when_expression */ + case 424: /* star_func_para */ + case 426: /* case_when_else_opt */ + case 427: /* common_expression */ + case 428: /* when_then_expr */ + case 429: /* predicate */ + case 432: /* in_predicate_value */ + case 433: /* boolean_value_expression */ + case 434: /* boolean_primary */ + case 435: /* from_clause_opt */ + case 436: /* table_reference_list */ + case 437: /* table_reference */ + case 438: /* table_primary */ + case 439: /* joined_table */ + case 441: /* subquery */ + case 442: /* parenthesized_joined_table */ + case 444: /* search_condition */ + case 445: /* query_specification */ + case 449: /* range_opt */ + case 450: /* every_opt */ + case 451: /* fill_opt */ + case 452: /* twindow_clause_opt */ + case 454: /* having_clause_opt */ + case 455: /* select_item */ + case 457: /* partition_item */ + case 460: /* query_expression */ + case 461: /* query_simple */ + case 463: /* slimit_clause_opt */ + case 464: /* limit_clause_opt */ + case 465: /* union_query_expression */ + case 466: /* query_simple_or_subquery */ + case 468: /* sort_specification */ { - nodesDestroyNode((yypminor->yy42)); + nodesDestroyNode((yypminor->yy140)); } break; - case 329: /* account_options */ - case 330: /* alter_account_options */ - case 332: /* alter_account_option */ - case 347: /* speed_opt */ - case 400: /* bufsize_opt */ + case 330: /* account_options */ + case 331: /* alter_account_options */ + case 333: /* alter_account_option */ + case 348: /* speed_opt */ + case 401: /* bufsize_opt */ { } break; - case 333: /* user_name */ - case 336: /* priv_level */ - case 339: /* db_name */ - case 340: /* topic_name */ - case 341: /* dnode_endpoint */ - case 362: /* column_name */ - case 370: /* table_name */ - case 377: /* function_name */ - case 385: /* column_alias */ - case 388: /* index_name */ - case 393: /* sma_func_name */ - case 395: /* cgroup_name */ - case 401: /* stream_name */ - case 412: /* table_alias */ - case 418: /* star_func */ - case 420: /* noarg_func */ - case 438: /* alias_opt */ + case 334: /* user_name */ + case 337: /* priv_level */ + case 340: /* db_name */ + case 341: /* topic_name */ + case 342: /* dnode_endpoint */ + case 363: /* column_name */ + case 371: /* table_name */ + case 378: /* function_name */ + case 386: /* column_alias */ + case 389: /* index_name */ + case 394: /* sma_func_name */ + case 396: /* cgroup_name */ + case 402: /* language_opt */ + case 403: /* stream_name */ + case 414: /* table_alias */ + case 420: /* star_func */ + case 422: /* noarg_func */ + case 440: /* alias_opt */ { } break; - case 334: /* sysinfo_opt */ + case 335: /* sysinfo_opt */ { } break; - case 335: /* privileges */ - case 337: /* priv_type_list */ - case 338: /* priv_type */ + case 336: /* privileges */ + case 338: /* priv_type_list */ + case 339: /* priv_type */ { } break; - case 342: /* force_opt */ - case 343: /* not_exists_opt */ - case 345: /* exists_opt */ - case 396: /* analyze_opt */ - case 399: /* agg_func_opt */ - case 444: /* set_quantifier_opt */ + case 343: /* force_opt */ + case 344: /* not_exists_opt */ + case 346: /* exists_opt */ + case 397: /* analyze_opt */ + case 400: /* agg_func_opt */ + case 446: /* set_quantifier_opt */ { } break; - case 348: /* integer_list */ - case 349: /* variable_list */ - case 350: /* retention_list */ - case 354: /* column_def_list */ - case 355: /* tags_def_opt */ - case 357: /* multi_create_clause */ - case 358: /* tags_def */ - case 359: /* multi_drop_clause */ - case 366: /* specific_cols_opt */ - case 367: /* expression_list */ - case 369: /* col_name_list */ - case 372: /* duration_list */ - case 373: /* rollup_func_list */ - case 383: /* tag_list_opt */ - case 389: /* func_list */ - case 403: /* col_list_opt */ - case 404: /* tag_def_or_ref_opt */ - case 407: /* dnode_list */ - case 411: /* literal_list */ - case 419: /* star_func_para_list */ - case 421: /* other_para_list */ - case 423: /* when_then_list */ - case 445: /* select_list */ - case 446: /* partition_by_clause_opt */ - case 451: /* group_by_clause_opt */ - case 454: /* partition_list */ - case 457: /* group_by_list */ - case 460: /* order_by_clause_opt */ - case 465: /* sort_specification_list */ + case 349: /* integer_list */ + case 350: /* variable_list */ + case 351: /* retention_list */ + case 355: /* column_def_list */ + case 356: /* tags_def_opt */ + case 358: /* multi_create_clause */ + case 359: /* tags_def */ + case 360: /* multi_drop_clause */ + case 367: /* specific_cols_opt */ + case 368: /* expression_list */ + case 370: /* col_name_list */ + case 373: /* duration_list */ + case 374: /* rollup_func_list */ + case 384: /* tag_list_opt */ + case 390: /* func_list */ + case 405: /* col_list_opt */ + case 406: /* tag_def_or_ref_opt */ + case 409: /* dnode_list */ + case 413: /* literal_list */ + case 421: /* star_func_para_list */ + case 423: /* other_para_list */ + case 425: /* when_then_list */ + case 447: /* select_list */ + case 448: /* partition_by_clause_opt */ + case 453: /* group_by_clause_opt */ + case 456: /* partition_list */ + case 459: /* group_by_list */ + case 462: /* order_by_clause_opt */ + case 467: /* sort_specification_list */ { - nodesDestroyList((yypminor->yy110)); + nodesDestroyList((yypminor->yy220)); } break; - case 351: /* alter_db_option */ - case 374: /* alter_table_option */ + case 352: /* alter_db_option */ + case 375: /* alter_table_option */ { } break; - case 363: /* type_name */ + case 364: /* type_name */ { } break; - case 428: /* compare_op */ - case 429: /* in_op */ + case 430: /* compare_op */ + case 431: /* in_op */ { } break; - case 441: /* join_type */ + case 443: /* join_type */ { } break; - case 456: /* fill_mode */ + case 458: /* fill_mode */ { } break; - case 467: /* ordering_specification_opt */ + case 469: /* ordering_specification_opt */ { } break; - case 468: /* null_ordering_opt */ + case 470: /* null_ordering_opt */ { } @@ -3053,569 +3127,571 @@ static const struct { YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ signed char nrhs; /* Negative of the number of RHS symbols in the rule */ } yyRuleInfo[] = { - { 328, -6 }, /* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ - { 328, -4 }, /* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ - { 329, 0 }, /* (2) account_options ::= */ - { 329, -3 }, /* (3) account_options ::= account_options PPS literal */ - { 329, -3 }, /* (4) account_options ::= account_options TSERIES literal */ - { 329, -3 }, /* (5) account_options ::= account_options STORAGE literal */ - { 329, -3 }, /* (6) account_options ::= account_options STREAMS literal */ - { 329, -3 }, /* (7) account_options ::= account_options QTIME literal */ - { 329, -3 }, /* (8) account_options ::= account_options DBS literal */ - { 329, -3 }, /* (9) account_options ::= account_options USERS literal */ - { 329, -3 }, /* (10) account_options ::= account_options CONNS literal */ - { 329, -3 }, /* (11) account_options ::= account_options STATE literal */ - { 330, -1 }, /* (12) alter_account_options ::= alter_account_option */ - { 330, -2 }, /* (13) alter_account_options ::= alter_account_options alter_account_option */ - { 332, -2 }, /* (14) alter_account_option ::= PASS literal */ - { 332, -2 }, /* (15) alter_account_option ::= PPS literal */ - { 332, -2 }, /* (16) alter_account_option ::= TSERIES literal */ - { 332, -2 }, /* (17) alter_account_option ::= STORAGE literal */ - { 332, -2 }, /* (18) alter_account_option ::= STREAMS literal */ - { 332, -2 }, /* (19) alter_account_option ::= QTIME literal */ - { 332, -2 }, /* (20) alter_account_option ::= DBS literal */ - { 332, -2 }, /* (21) alter_account_option ::= USERS literal */ - { 332, -2 }, /* (22) alter_account_option ::= CONNS literal */ - { 332, -2 }, /* (23) alter_account_option ::= STATE literal */ - { 328, -6 }, /* (24) cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt */ - { 328, -5 }, /* (25) cmd ::= ALTER USER user_name PASS NK_STRING */ - { 328, -5 }, /* (26) cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ - { 328, -5 }, /* (27) cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ - { 328, -3 }, /* (28) cmd ::= DROP USER user_name */ - { 334, 0 }, /* (29) sysinfo_opt ::= */ - { 334, -2 }, /* (30) sysinfo_opt ::= SYSINFO NK_INTEGER */ - { 328, -6 }, /* (31) cmd ::= GRANT privileges ON priv_level TO user_name */ - { 328, -6 }, /* (32) cmd ::= REVOKE privileges ON priv_level FROM user_name */ - { 335, -1 }, /* (33) privileges ::= ALL */ - { 335, -1 }, /* (34) privileges ::= priv_type_list */ - { 335, -1 }, /* (35) privileges ::= SUBSCRIBE */ - { 337, -1 }, /* (36) priv_type_list ::= priv_type */ - { 337, -3 }, /* (37) priv_type_list ::= priv_type_list NK_COMMA priv_type */ - { 338, -1 }, /* (38) priv_type ::= READ */ - { 338, -1 }, /* (39) priv_type ::= WRITE */ - { 336, -3 }, /* (40) priv_level ::= NK_STAR NK_DOT NK_STAR */ - { 336, -3 }, /* (41) priv_level ::= db_name NK_DOT NK_STAR */ - { 336, -1 }, /* (42) priv_level ::= topic_name */ - { 328, -3 }, /* (43) cmd ::= CREATE DNODE dnode_endpoint */ - { 328, -5 }, /* (44) cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ - { 328, -4 }, /* (45) cmd ::= DROP DNODE NK_INTEGER force_opt */ - { 328, -4 }, /* (46) cmd ::= DROP DNODE dnode_endpoint force_opt */ - { 328, -4 }, /* (47) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ - { 328, -5 }, /* (48) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */ - { 328, -4 }, /* (49) cmd ::= ALTER ALL DNODES NK_STRING */ - { 328, -5 }, /* (50) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */ - { 341, -1 }, /* (51) dnode_endpoint ::= NK_STRING */ - { 341, -1 }, /* (52) dnode_endpoint ::= NK_ID */ - { 341, -1 }, /* (53) dnode_endpoint ::= NK_IPTOKEN */ - { 342, 0 }, /* (54) force_opt ::= */ - { 342, -1 }, /* (55) force_opt ::= FORCE */ - { 328, -3 }, /* (56) cmd ::= ALTER LOCAL NK_STRING */ - { 328, -4 }, /* (57) cmd ::= ALTER LOCAL NK_STRING NK_STRING */ - { 328, -5 }, /* (58) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */ - { 328, -5 }, /* (59) cmd ::= DROP QNODE ON DNODE NK_INTEGER */ - { 328, -5 }, /* (60) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */ - { 328, -5 }, /* (61) cmd ::= DROP BNODE ON DNODE NK_INTEGER */ - { 328, -5 }, /* (62) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */ - { 328, -5 }, /* (63) cmd ::= DROP SNODE ON DNODE NK_INTEGER */ - { 328, -5 }, /* (64) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */ - { 328, -5 }, /* (65) cmd ::= DROP MNODE ON DNODE NK_INTEGER */ - { 328, -5 }, /* (66) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ - { 328, -4 }, /* (67) cmd ::= DROP DATABASE exists_opt db_name */ - { 328, -2 }, /* (68) cmd ::= USE db_name */ - { 328, -4 }, /* (69) cmd ::= ALTER DATABASE db_name alter_db_options */ - { 328, -3 }, /* (70) cmd ::= FLUSH DATABASE db_name */ - { 328, -4 }, /* (71) cmd ::= TRIM DATABASE db_name speed_opt */ - { 328, -3 }, /* (72) cmd ::= COMPACT DATABASE db_name */ - { 343, -3 }, /* (73) not_exists_opt ::= IF NOT EXISTS */ - { 343, 0 }, /* (74) not_exists_opt ::= */ - { 345, -2 }, /* (75) exists_opt ::= IF EXISTS */ - { 345, 0 }, /* (76) exists_opt ::= */ - { 344, 0 }, /* (77) db_options ::= */ - { 344, -3 }, /* (78) db_options ::= db_options BUFFER NK_INTEGER */ - { 344, -3 }, /* (79) db_options ::= db_options CACHEMODEL NK_STRING */ - { 344, -3 }, /* (80) db_options ::= db_options CACHESIZE NK_INTEGER */ - { 344, -3 }, /* (81) db_options ::= db_options COMP NK_INTEGER */ - { 344, -3 }, /* (82) db_options ::= db_options DURATION NK_INTEGER */ - { 344, -3 }, /* (83) db_options ::= db_options DURATION NK_VARIABLE */ - { 344, -3 }, /* (84) db_options ::= db_options MAXROWS NK_INTEGER */ - { 344, -3 }, /* (85) db_options ::= db_options MINROWS NK_INTEGER */ - { 344, -3 }, /* (86) db_options ::= db_options KEEP integer_list */ - { 344, -3 }, /* (87) db_options ::= db_options KEEP variable_list */ - { 344, -3 }, /* (88) db_options ::= db_options PAGES NK_INTEGER */ - { 344, -3 }, /* (89) db_options ::= db_options PAGESIZE NK_INTEGER */ - { 344, -3 }, /* (90) db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ - { 344, -3 }, /* (91) db_options ::= db_options PRECISION NK_STRING */ - { 344, -3 }, /* (92) db_options ::= db_options REPLICA NK_INTEGER */ - { 344, -3 }, /* (93) db_options ::= db_options VGROUPS NK_INTEGER */ - { 344, -3 }, /* (94) db_options ::= db_options SINGLE_STABLE NK_INTEGER */ - { 344, -3 }, /* (95) db_options ::= db_options RETENTIONS retention_list */ - { 344, -3 }, /* (96) db_options ::= db_options SCHEMALESS NK_INTEGER */ - { 344, -3 }, /* (97) db_options ::= db_options WAL_LEVEL NK_INTEGER */ - { 344, -3 }, /* (98) db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ - { 344, -3 }, /* (99) db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ - { 344, -4 }, /* (100) db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ - { 344, -3 }, /* (101) db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ - { 344, -4 }, /* (102) db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ - { 344, -3 }, /* (103) db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ - { 344, -3 }, /* (104) db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ - { 344, -3 }, /* (105) db_options ::= db_options STT_TRIGGER NK_INTEGER */ - { 344, -3 }, /* (106) db_options ::= db_options TABLE_PREFIX NK_INTEGER */ - { 344, -3 }, /* (107) db_options ::= db_options TABLE_SUFFIX NK_INTEGER */ - { 346, -1 }, /* (108) alter_db_options ::= alter_db_option */ - { 346, -2 }, /* (109) alter_db_options ::= alter_db_options alter_db_option */ - { 351, -2 }, /* (110) alter_db_option ::= BUFFER NK_INTEGER */ - { 351, -2 }, /* (111) alter_db_option ::= CACHEMODEL NK_STRING */ - { 351, -2 }, /* (112) alter_db_option ::= CACHESIZE NK_INTEGER */ - { 351, -2 }, /* (113) alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ - { 351, -2 }, /* (114) alter_db_option ::= KEEP integer_list */ - { 351, -2 }, /* (115) alter_db_option ::= KEEP variable_list */ - { 351, -2 }, /* (116) alter_db_option ::= PAGES NK_INTEGER */ - { 351, -2 }, /* (117) alter_db_option ::= REPLICA NK_INTEGER */ - { 351, -2 }, /* (118) alter_db_option ::= WAL_LEVEL NK_INTEGER */ - { 351, -2 }, /* (119) alter_db_option ::= STT_TRIGGER NK_INTEGER */ - { 348, -1 }, /* (120) integer_list ::= NK_INTEGER */ - { 348, -3 }, /* (121) integer_list ::= integer_list NK_COMMA NK_INTEGER */ - { 349, -1 }, /* (122) variable_list ::= NK_VARIABLE */ - { 349, -3 }, /* (123) variable_list ::= variable_list NK_COMMA NK_VARIABLE */ - { 350, -1 }, /* (124) retention_list ::= retention */ - { 350, -3 }, /* (125) retention_list ::= retention_list NK_COMMA retention */ - { 352, -3 }, /* (126) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ - { 347, 0 }, /* (127) speed_opt ::= */ - { 347, -2 }, /* (128) speed_opt ::= MAX_SPEED NK_INTEGER */ - { 328, -9 }, /* (129) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ - { 328, -3 }, /* (130) cmd ::= CREATE TABLE multi_create_clause */ - { 328, -9 }, /* (131) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ - { 328, -3 }, /* (132) cmd ::= DROP TABLE multi_drop_clause */ - { 328, -4 }, /* (133) cmd ::= DROP STABLE exists_opt full_table_name */ - { 328, -3 }, /* (134) cmd ::= ALTER TABLE alter_table_clause */ - { 328, -3 }, /* (135) cmd ::= ALTER STABLE alter_table_clause */ - { 360, -2 }, /* (136) alter_table_clause ::= full_table_name alter_table_options */ - { 360, -5 }, /* (137) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ - { 360, -4 }, /* (138) alter_table_clause ::= full_table_name DROP COLUMN column_name */ - { 360, -5 }, /* (139) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ - { 360, -5 }, /* (140) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ - { 360, -5 }, /* (141) alter_table_clause ::= full_table_name ADD TAG column_name type_name */ - { 360, -4 }, /* (142) alter_table_clause ::= full_table_name DROP TAG column_name */ - { 360, -5 }, /* (143) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ - { 360, -5 }, /* (144) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ - { 360, -6 }, /* (145) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ - { 357, -1 }, /* (146) multi_create_clause ::= create_subtable_clause */ - { 357, -2 }, /* (147) multi_create_clause ::= multi_create_clause create_subtable_clause */ - { 365, -10 }, /* (148) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ - { 359, -1 }, /* (149) multi_drop_clause ::= drop_table_clause */ - { 359, -3 }, /* (150) multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ - { 368, -2 }, /* (151) drop_table_clause ::= exists_opt full_table_name */ - { 366, 0 }, /* (152) specific_cols_opt ::= */ - { 366, -3 }, /* (153) specific_cols_opt ::= NK_LP col_name_list NK_RP */ - { 353, -1 }, /* (154) full_table_name ::= table_name */ - { 353, -3 }, /* (155) full_table_name ::= db_name NK_DOT table_name */ - { 354, -1 }, /* (156) column_def_list ::= column_def */ - { 354, -3 }, /* (157) column_def_list ::= column_def_list NK_COMMA column_def */ - { 371, -2 }, /* (158) column_def ::= column_name type_name */ - { 371, -4 }, /* (159) column_def ::= column_name type_name COMMENT NK_STRING */ - { 363, -1 }, /* (160) type_name ::= BOOL */ - { 363, -1 }, /* (161) type_name ::= TINYINT */ - { 363, -1 }, /* (162) type_name ::= SMALLINT */ - { 363, -1 }, /* (163) type_name ::= INT */ - { 363, -1 }, /* (164) type_name ::= INTEGER */ - { 363, -1 }, /* (165) type_name ::= BIGINT */ - { 363, -1 }, /* (166) type_name ::= FLOAT */ - { 363, -1 }, /* (167) type_name ::= DOUBLE */ - { 363, -4 }, /* (168) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ - { 363, -1 }, /* (169) type_name ::= TIMESTAMP */ - { 363, -4 }, /* (170) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ - { 363, -2 }, /* (171) type_name ::= TINYINT UNSIGNED */ - { 363, -2 }, /* (172) type_name ::= SMALLINT UNSIGNED */ - { 363, -2 }, /* (173) type_name ::= INT UNSIGNED */ - { 363, -2 }, /* (174) type_name ::= BIGINT UNSIGNED */ - { 363, -1 }, /* (175) type_name ::= JSON */ - { 363, -4 }, /* (176) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ - { 363, -1 }, /* (177) type_name ::= MEDIUMBLOB */ - { 363, -1 }, /* (178) type_name ::= BLOB */ - { 363, -4 }, /* (179) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ - { 363, -1 }, /* (180) type_name ::= DECIMAL */ - { 363, -4 }, /* (181) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ - { 363, -6 }, /* (182) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ - { 355, 0 }, /* (183) tags_def_opt ::= */ - { 355, -1 }, /* (184) tags_def_opt ::= tags_def */ - { 358, -4 }, /* (185) tags_def ::= TAGS NK_LP column_def_list NK_RP */ - { 356, 0 }, /* (186) table_options ::= */ - { 356, -3 }, /* (187) table_options ::= table_options COMMENT NK_STRING */ - { 356, -3 }, /* (188) table_options ::= table_options MAX_DELAY duration_list */ - { 356, -3 }, /* (189) table_options ::= table_options WATERMARK duration_list */ - { 356, -5 }, /* (190) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ - { 356, -3 }, /* (191) table_options ::= table_options TTL NK_INTEGER */ - { 356, -5 }, /* (192) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ - { 356, -3 }, /* (193) table_options ::= table_options DELETE_MARK duration_list */ - { 361, -1 }, /* (194) alter_table_options ::= alter_table_option */ - { 361, -2 }, /* (195) alter_table_options ::= alter_table_options alter_table_option */ - { 374, -2 }, /* (196) alter_table_option ::= COMMENT NK_STRING */ - { 374, -2 }, /* (197) alter_table_option ::= TTL NK_INTEGER */ - { 372, -1 }, /* (198) duration_list ::= duration_literal */ - { 372, -3 }, /* (199) duration_list ::= duration_list NK_COMMA duration_literal */ - { 373, -1 }, /* (200) rollup_func_list ::= rollup_func_name */ - { 373, -3 }, /* (201) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ - { 376, -1 }, /* (202) rollup_func_name ::= function_name */ - { 376, -1 }, /* (203) rollup_func_name ::= FIRST */ - { 376, -1 }, /* (204) rollup_func_name ::= LAST */ - { 369, -1 }, /* (205) col_name_list ::= col_name */ - { 369, -3 }, /* (206) col_name_list ::= col_name_list NK_COMMA col_name */ - { 378, -1 }, /* (207) col_name ::= column_name */ - { 328, -2 }, /* (208) cmd ::= SHOW DNODES */ - { 328, -2 }, /* (209) cmd ::= SHOW USERS */ - { 328, -3 }, /* (210) cmd ::= SHOW USER PRIVILEGES */ - { 328, -2 }, /* (211) cmd ::= SHOW DATABASES */ - { 328, -4 }, /* (212) cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */ - { 328, -4 }, /* (213) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ - { 328, -3 }, /* (214) cmd ::= SHOW db_name_cond_opt VGROUPS */ - { 328, -2 }, /* (215) cmd ::= SHOW MNODES */ - { 328, -2 }, /* (216) cmd ::= SHOW QNODES */ - { 328, -2 }, /* (217) cmd ::= SHOW FUNCTIONS */ - { 328, -5 }, /* (218) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ - { 328, -2 }, /* (219) cmd ::= SHOW STREAMS */ - { 328, -2 }, /* (220) cmd ::= SHOW ACCOUNTS */ - { 328, -2 }, /* (221) cmd ::= SHOW APPS */ - { 328, -2 }, /* (222) cmd ::= SHOW CONNECTIONS */ - { 328, -2 }, /* (223) cmd ::= SHOW LICENCES */ - { 328, -2 }, /* (224) cmd ::= SHOW GRANTS */ - { 328, -4 }, /* (225) cmd ::= SHOW CREATE DATABASE db_name */ - { 328, -4 }, /* (226) cmd ::= SHOW CREATE TABLE full_table_name */ - { 328, -4 }, /* (227) cmd ::= SHOW CREATE STABLE full_table_name */ - { 328, -2 }, /* (228) cmd ::= SHOW QUERIES */ - { 328, -2 }, /* (229) cmd ::= SHOW SCORES */ - { 328, -2 }, /* (230) cmd ::= SHOW TOPICS */ - { 328, -2 }, /* (231) cmd ::= SHOW VARIABLES */ - { 328, -3 }, /* (232) cmd ::= SHOW CLUSTER VARIABLES */ - { 328, -3 }, /* (233) cmd ::= SHOW LOCAL VARIABLES */ - { 328, -5 }, /* (234) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ - { 328, -2 }, /* (235) cmd ::= SHOW BNODES */ - { 328, -2 }, /* (236) cmd ::= SHOW SNODES */ - { 328, -2 }, /* (237) cmd ::= SHOW CLUSTER */ - { 328, -2 }, /* (238) cmd ::= SHOW TRANSACTIONS */ - { 328, -4 }, /* (239) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ - { 328, -2 }, /* (240) cmd ::= SHOW CONSUMERS */ - { 328, -2 }, /* (241) cmd ::= SHOW SUBSCRIPTIONS */ - { 328, -5 }, /* (242) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ - { 328, -7 }, /* (243) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ - { 328, -3 }, /* (244) cmd ::= SHOW VNODES NK_INTEGER */ - { 328, -3 }, /* (245) cmd ::= SHOW VNODES NK_STRING */ - { 328, -3 }, /* (246) cmd ::= SHOW db_name_cond_opt ALIVE */ - { 328, -3 }, /* (247) cmd ::= SHOW CLUSTER ALIVE */ - { 379, 0 }, /* (248) db_name_cond_opt ::= */ - { 379, -2 }, /* (249) db_name_cond_opt ::= db_name NK_DOT */ - { 380, 0 }, /* (250) like_pattern_opt ::= */ - { 380, -2 }, /* (251) like_pattern_opt ::= LIKE NK_STRING */ - { 381, -1 }, /* (252) table_name_cond ::= table_name */ - { 382, 0 }, /* (253) from_db_opt ::= */ - { 382, -2 }, /* (254) from_db_opt ::= FROM db_name */ - { 383, 0 }, /* (255) tag_list_opt ::= */ - { 383, -1 }, /* (256) tag_list_opt ::= tag_item */ - { 383, -3 }, /* (257) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ - { 384, -1 }, /* (258) tag_item ::= TBNAME */ - { 384, -1 }, /* (259) tag_item ::= QTAGS */ - { 384, -1 }, /* (260) tag_item ::= column_name */ - { 384, -2 }, /* (261) tag_item ::= column_name column_alias */ - { 384, -3 }, /* (262) tag_item ::= column_name AS column_alias */ - { 328, -8 }, /* (263) cmd ::= CREATE SMA INDEX not_exists_opt full_index_name ON full_table_name index_options */ - { 328, -9 }, /* (264) cmd ::= CREATE INDEX not_exists_opt full_index_name ON full_table_name NK_LP col_name_list NK_RP */ - { 328, -4 }, /* (265) cmd ::= DROP INDEX exists_opt full_index_name */ - { 386, -1 }, /* (266) full_index_name ::= index_name */ - { 386, -3 }, /* (267) full_index_name ::= db_name NK_DOT index_name */ - { 387, -10 }, /* (268) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ - { 387, -12 }, /* (269) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ - { 389, -1 }, /* (270) func_list ::= func */ - { 389, -3 }, /* (271) func_list ::= func_list NK_COMMA func */ - { 392, -4 }, /* (272) func ::= sma_func_name NK_LP expression_list NK_RP */ - { 393, -1 }, /* (273) sma_func_name ::= function_name */ - { 393, -1 }, /* (274) sma_func_name ::= COUNT */ - { 393, -1 }, /* (275) sma_func_name ::= FIRST */ - { 393, -1 }, /* (276) sma_func_name ::= LAST */ - { 393, -1 }, /* (277) sma_func_name ::= LAST_ROW */ - { 391, 0 }, /* (278) sma_stream_opt ::= */ - { 391, -3 }, /* (279) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - { 391, -3 }, /* (280) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ - { 391, -3 }, /* (281) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - { 328, -6 }, /* (282) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ - { 328, -7 }, /* (283) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */ - { 328, -9 }, /* (284) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */ - { 328, -7 }, /* (285) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */ - { 328, -9 }, /* (286) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */ - { 328, -4 }, /* (287) cmd ::= DROP TOPIC exists_opt topic_name */ - { 328, -7 }, /* (288) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ - { 328, -2 }, /* (289) cmd ::= DESC full_table_name */ - { 328, -2 }, /* (290) cmd ::= DESCRIBE full_table_name */ - { 328, -3 }, /* (291) cmd ::= RESET QUERY CACHE */ - { 328, -4 }, /* (292) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ - { 328, -4 }, /* (293) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ - { 396, 0 }, /* (294) analyze_opt ::= */ - { 396, -1 }, /* (295) analyze_opt ::= ANALYZE */ - { 397, 0 }, /* (296) explain_options ::= */ - { 397, -3 }, /* (297) explain_options ::= explain_options VERBOSE NK_BOOL */ - { 397, -3 }, /* (298) explain_options ::= explain_options RATIO NK_FLOAT */ - { 328, -10 }, /* (299) cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */ - { 328, -4 }, /* (300) cmd ::= DROP FUNCTION exists_opt function_name */ - { 399, 0 }, /* (301) agg_func_opt ::= */ - { 399, -1 }, /* (302) agg_func_opt ::= AGGREGATE */ - { 400, 0 }, /* (303) bufsize_opt ::= */ - { 400, -2 }, /* (304) bufsize_opt ::= BUFSIZE NK_INTEGER */ - { 328, -12 }, /* (305) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ - { 328, -4 }, /* (306) cmd ::= DROP STREAM exists_opt stream_name */ - { 403, 0 }, /* (307) col_list_opt ::= */ - { 403, -3 }, /* (308) col_list_opt ::= NK_LP col_name_list NK_RP */ - { 404, 0 }, /* (309) tag_def_or_ref_opt ::= */ - { 404, -1 }, /* (310) tag_def_or_ref_opt ::= tags_def */ - { 404, -4 }, /* (311) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ - { 402, 0 }, /* (312) stream_options ::= */ - { 402, -3 }, /* (313) stream_options ::= stream_options TRIGGER AT_ONCE */ - { 402, -3 }, /* (314) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ - { 402, -4 }, /* (315) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ - { 402, -3 }, /* (316) stream_options ::= stream_options WATERMARK duration_literal */ - { 402, -4 }, /* (317) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ - { 402, -3 }, /* (318) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ - { 402, -3 }, /* (319) stream_options ::= stream_options DELETE_MARK duration_literal */ - { 402, -4 }, /* (320) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ - { 405, 0 }, /* (321) subtable_opt ::= */ - { 405, -4 }, /* (322) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - { 328, -3 }, /* (323) cmd ::= KILL CONNECTION NK_INTEGER */ - { 328, -3 }, /* (324) cmd ::= KILL QUERY NK_STRING */ - { 328, -3 }, /* (325) cmd ::= KILL TRANSACTION NK_INTEGER */ - { 328, -2 }, /* (326) cmd ::= BALANCE VGROUP */ - { 328, -4 }, /* (327) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ - { 328, -4 }, /* (328) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ - { 328, -3 }, /* (329) cmd ::= SPLIT VGROUP NK_INTEGER */ - { 407, -2 }, /* (330) dnode_list ::= DNODE NK_INTEGER */ - { 407, -3 }, /* (331) dnode_list ::= dnode_list DNODE NK_INTEGER */ - { 328, -4 }, /* (332) cmd ::= DELETE FROM full_table_name where_clause_opt */ - { 328, -1 }, /* (333) cmd ::= query_or_subquery */ - { 328, -1 }, /* (334) cmd ::= insert_query */ - { 398, -7 }, /* (335) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ - { 398, -4 }, /* (336) insert_query ::= INSERT INTO full_table_name query_or_subquery */ - { 331, -1 }, /* (337) literal ::= NK_INTEGER */ - { 331, -1 }, /* (338) literal ::= NK_FLOAT */ - { 331, -1 }, /* (339) literal ::= NK_STRING */ - { 331, -1 }, /* (340) literal ::= NK_BOOL */ - { 331, -2 }, /* (341) literal ::= TIMESTAMP NK_STRING */ - { 331, -1 }, /* (342) literal ::= duration_literal */ - { 331, -1 }, /* (343) literal ::= NULL */ - { 331, -1 }, /* (344) literal ::= NK_QUESTION */ - { 375, -1 }, /* (345) duration_literal ::= NK_VARIABLE */ - { 409, -1 }, /* (346) signed ::= NK_INTEGER */ - { 409, -2 }, /* (347) signed ::= NK_PLUS NK_INTEGER */ - { 409, -2 }, /* (348) signed ::= NK_MINUS NK_INTEGER */ - { 409, -1 }, /* (349) signed ::= NK_FLOAT */ - { 409, -2 }, /* (350) signed ::= NK_PLUS NK_FLOAT */ - { 409, -2 }, /* (351) signed ::= NK_MINUS NK_FLOAT */ - { 364, -1 }, /* (352) signed_literal ::= signed */ - { 364, -1 }, /* (353) signed_literal ::= NK_STRING */ - { 364, -1 }, /* (354) signed_literal ::= NK_BOOL */ - { 364, -2 }, /* (355) signed_literal ::= TIMESTAMP NK_STRING */ - { 364, -1 }, /* (356) signed_literal ::= duration_literal */ - { 364, -1 }, /* (357) signed_literal ::= NULL */ - { 364, -1 }, /* (358) signed_literal ::= literal_func */ - { 364, -1 }, /* (359) signed_literal ::= NK_QUESTION */ - { 411, -1 }, /* (360) literal_list ::= signed_literal */ - { 411, -3 }, /* (361) literal_list ::= literal_list NK_COMMA signed_literal */ - { 339, -1 }, /* (362) db_name ::= NK_ID */ - { 370, -1 }, /* (363) table_name ::= NK_ID */ - { 362, -1 }, /* (364) column_name ::= NK_ID */ - { 377, -1 }, /* (365) function_name ::= NK_ID */ - { 412, -1 }, /* (366) table_alias ::= NK_ID */ - { 385, -1 }, /* (367) column_alias ::= NK_ID */ - { 333, -1 }, /* (368) user_name ::= NK_ID */ - { 340, -1 }, /* (369) topic_name ::= NK_ID */ - { 401, -1 }, /* (370) stream_name ::= NK_ID */ - { 395, -1 }, /* (371) cgroup_name ::= NK_ID */ - { 388, -1 }, /* (372) index_name ::= NK_ID */ - { 413, -1 }, /* (373) expr_or_subquery ::= expression */ - { 406, -1 }, /* (374) expression ::= literal */ - { 406, -1 }, /* (375) expression ::= pseudo_column */ - { 406, -1 }, /* (376) expression ::= column_reference */ - { 406, -1 }, /* (377) expression ::= function_expression */ - { 406, -1 }, /* (378) expression ::= case_when_expression */ - { 406, -3 }, /* (379) expression ::= NK_LP expression NK_RP */ - { 406, -2 }, /* (380) expression ::= NK_PLUS expr_or_subquery */ - { 406, -2 }, /* (381) expression ::= NK_MINUS expr_or_subquery */ - { 406, -3 }, /* (382) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ - { 406, -3 }, /* (383) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ - { 406, -3 }, /* (384) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ - { 406, -3 }, /* (385) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ - { 406, -3 }, /* (386) expression ::= expr_or_subquery NK_REM expr_or_subquery */ - { 406, -3 }, /* (387) expression ::= column_reference NK_ARROW NK_STRING */ - { 406, -3 }, /* (388) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ - { 406, -3 }, /* (389) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ - { 367, -1 }, /* (390) expression_list ::= expr_or_subquery */ - { 367, -3 }, /* (391) expression_list ::= expression_list NK_COMMA expr_or_subquery */ - { 415, -1 }, /* (392) column_reference ::= column_name */ - { 415, -3 }, /* (393) column_reference ::= table_name NK_DOT column_name */ - { 414, -1 }, /* (394) pseudo_column ::= ROWTS */ - { 414, -1 }, /* (395) pseudo_column ::= TBNAME */ - { 414, -3 }, /* (396) pseudo_column ::= table_name NK_DOT TBNAME */ - { 414, -1 }, /* (397) pseudo_column ::= QSTART */ - { 414, -1 }, /* (398) pseudo_column ::= QEND */ - { 414, -1 }, /* (399) pseudo_column ::= QDURATION */ - { 414, -1 }, /* (400) pseudo_column ::= WSTART */ - { 414, -1 }, /* (401) pseudo_column ::= WEND */ - { 414, -1 }, /* (402) pseudo_column ::= WDURATION */ - { 414, -1 }, /* (403) pseudo_column ::= IROWTS */ - { 414, -1 }, /* (404) pseudo_column ::= ISFILLED */ - { 414, -1 }, /* (405) pseudo_column ::= QTAGS */ - { 416, -4 }, /* (406) function_expression ::= function_name NK_LP expression_list NK_RP */ - { 416, -4 }, /* (407) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ - { 416, -6 }, /* (408) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ - { 416, -1 }, /* (409) function_expression ::= literal_func */ - { 410, -3 }, /* (410) literal_func ::= noarg_func NK_LP NK_RP */ - { 410, -1 }, /* (411) literal_func ::= NOW */ - { 420, -1 }, /* (412) noarg_func ::= NOW */ - { 420, -1 }, /* (413) noarg_func ::= TODAY */ - { 420, -1 }, /* (414) noarg_func ::= TIMEZONE */ - { 420, -1 }, /* (415) noarg_func ::= DATABASE */ - { 420, -1 }, /* (416) noarg_func ::= CLIENT_VERSION */ - { 420, -1 }, /* (417) noarg_func ::= SERVER_VERSION */ - { 420, -1 }, /* (418) noarg_func ::= SERVER_STATUS */ - { 420, -1 }, /* (419) noarg_func ::= CURRENT_USER */ - { 420, -1 }, /* (420) noarg_func ::= USER */ - { 418, -1 }, /* (421) star_func ::= COUNT */ - { 418, -1 }, /* (422) star_func ::= FIRST */ - { 418, -1 }, /* (423) star_func ::= LAST */ - { 418, -1 }, /* (424) star_func ::= LAST_ROW */ - { 419, -1 }, /* (425) star_func_para_list ::= NK_STAR */ - { 419, -1 }, /* (426) star_func_para_list ::= other_para_list */ - { 421, -1 }, /* (427) other_para_list ::= star_func_para */ - { 421, -3 }, /* (428) other_para_list ::= other_para_list NK_COMMA star_func_para */ - { 422, -1 }, /* (429) star_func_para ::= expr_or_subquery */ - { 422, -3 }, /* (430) star_func_para ::= table_name NK_DOT NK_STAR */ - { 417, -4 }, /* (431) case_when_expression ::= CASE when_then_list case_when_else_opt END */ - { 417, -5 }, /* (432) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ - { 423, -1 }, /* (433) when_then_list ::= when_then_expr */ - { 423, -2 }, /* (434) when_then_list ::= when_then_list when_then_expr */ - { 426, -4 }, /* (435) when_then_expr ::= WHEN common_expression THEN common_expression */ - { 424, 0 }, /* (436) case_when_else_opt ::= */ - { 424, -2 }, /* (437) case_when_else_opt ::= ELSE common_expression */ - { 427, -3 }, /* (438) predicate ::= expr_or_subquery compare_op expr_or_subquery */ - { 427, -5 }, /* (439) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ - { 427, -6 }, /* (440) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ - { 427, -3 }, /* (441) predicate ::= expr_or_subquery IS NULL */ - { 427, -4 }, /* (442) predicate ::= expr_or_subquery IS NOT NULL */ - { 427, -3 }, /* (443) predicate ::= expr_or_subquery in_op in_predicate_value */ - { 428, -1 }, /* (444) compare_op ::= NK_LT */ - { 428, -1 }, /* (445) compare_op ::= NK_GT */ - { 428, -1 }, /* (446) compare_op ::= NK_LE */ - { 428, -1 }, /* (447) compare_op ::= NK_GE */ - { 428, -1 }, /* (448) compare_op ::= NK_NE */ - { 428, -1 }, /* (449) compare_op ::= NK_EQ */ - { 428, -1 }, /* (450) compare_op ::= LIKE */ - { 428, -2 }, /* (451) compare_op ::= NOT LIKE */ - { 428, -1 }, /* (452) compare_op ::= MATCH */ - { 428, -1 }, /* (453) compare_op ::= NMATCH */ - { 428, -1 }, /* (454) compare_op ::= CONTAINS */ - { 429, -1 }, /* (455) in_op ::= IN */ - { 429, -2 }, /* (456) in_op ::= NOT IN */ - { 430, -3 }, /* (457) in_predicate_value ::= NK_LP literal_list NK_RP */ - { 431, -1 }, /* (458) boolean_value_expression ::= boolean_primary */ - { 431, -2 }, /* (459) boolean_value_expression ::= NOT boolean_primary */ - { 431, -3 }, /* (460) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ - { 431, -3 }, /* (461) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ - { 432, -1 }, /* (462) boolean_primary ::= predicate */ - { 432, -3 }, /* (463) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ - { 425, -1 }, /* (464) common_expression ::= expr_or_subquery */ - { 425, -1 }, /* (465) common_expression ::= boolean_value_expression */ - { 433, 0 }, /* (466) from_clause_opt ::= */ - { 433, -2 }, /* (467) from_clause_opt ::= FROM table_reference_list */ - { 434, -1 }, /* (468) table_reference_list ::= table_reference */ - { 434, -3 }, /* (469) table_reference_list ::= table_reference_list NK_COMMA table_reference */ - { 435, -1 }, /* (470) table_reference ::= table_primary */ - { 435, -1 }, /* (471) table_reference ::= joined_table */ - { 436, -2 }, /* (472) table_primary ::= table_name alias_opt */ - { 436, -4 }, /* (473) table_primary ::= db_name NK_DOT table_name alias_opt */ - { 436, -2 }, /* (474) table_primary ::= subquery alias_opt */ - { 436, -1 }, /* (475) table_primary ::= parenthesized_joined_table */ - { 438, 0 }, /* (476) alias_opt ::= */ - { 438, -1 }, /* (477) alias_opt ::= table_alias */ - { 438, -2 }, /* (478) alias_opt ::= AS table_alias */ - { 440, -3 }, /* (479) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - { 440, -3 }, /* (480) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ - { 437, -6 }, /* (481) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ - { 441, 0 }, /* (482) join_type ::= */ - { 441, -1 }, /* (483) join_type ::= INNER */ - { 443, -12 }, /* (484) query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ - { 444, 0 }, /* (485) set_quantifier_opt ::= */ - { 444, -1 }, /* (486) set_quantifier_opt ::= DISTINCT */ - { 444, -1 }, /* (487) set_quantifier_opt ::= ALL */ - { 445, -1 }, /* (488) select_list ::= select_item */ - { 445, -3 }, /* (489) select_list ::= select_list NK_COMMA select_item */ - { 453, -1 }, /* (490) select_item ::= NK_STAR */ - { 453, -1 }, /* (491) select_item ::= common_expression */ - { 453, -2 }, /* (492) select_item ::= common_expression column_alias */ - { 453, -3 }, /* (493) select_item ::= common_expression AS column_alias */ - { 453, -3 }, /* (494) select_item ::= table_name NK_DOT NK_STAR */ - { 408, 0 }, /* (495) where_clause_opt ::= */ - { 408, -2 }, /* (496) where_clause_opt ::= WHERE search_condition */ - { 446, 0 }, /* (497) partition_by_clause_opt ::= */ - { 446, -3 }, /* (498) partition_by_clause_opt ::= PARTITION BY partition_list */ - { 454, -1 }, /* (499) partition_list ::= partition_item */ - { 454, -3 }, /* (500) partition_list ::= partition_list NK_COMMA partition_item */ - { 455, -1 }, /* (501) partition_item ::= expr_or_subquery */ - { 455, -2 }, /* (502) partition_item ::= expr_or_subquery column_alias */ - { 455, -3 }, /* (503) partition_item ::= expr_or_subquery AS column_alias */ - { 450, 0 }, /* (504) twindow_clause_opt ::= */ - { 450, -6 }, /* (505) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */ - { 450, -4 }, /* (506) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ - { 450, -6 }, /* (507) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */ - { 450, -8 }, /* (508) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */ - { 450, -7 }, /* (509) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ - { 390, 0 }, /* (510) sliding_opt ::= */ - { 390, -4 }, /* (511) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */ - { 449, 0 }, /* (512) fill_opt ::= */ - { 449, -4 }, /* (513) fill_opt ::= FILL NK_LP fill_mode NK_RP */ - { 449, -6 }, /* (514) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */ - { 449, -6 }, /* (515) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA literal_list NK_RP */ - { 456, -1 }, /* (516) fill_mode ::= NONE */ - { 456, -1 }, /* (517) fill_mode ::= PREV */ - { 456, -1 }, /* (518) fill_mode ::= NULL */ - { 456, -1 }, /* (519) fill_mode ::= NULL_F */ - { 456, -1 }, /* (520) fill_mode ::= LINEAR */ - { 456, -1 }, /* (521) fill_mode ::= NEXT */ - { 451, 0 }, /* (522) group_by_clause_opt ::= */ - { 451, -3 }, /* (523) group_by_clause_opt ::= GROUP BY group_by_list */ - { 457, -1 }, /* (524) group_by_list ::= expr_or_subquery */ - { 457, -3 }, /* (525) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ - { 452, 0 }, /* (526) having_clause_opt ::= */ - { 452, -2 }, /* (527) having_clause_opt ::= HAVING search_condition */ - { 447, 0 }, /* (528) range_opt ::= */ - { 447, -6 }, /* (529) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ - { 448, 0 }, /* (530) every_opt ::= */ - { 448, -4 }, /* (531) every_opt ::= EVERY NK_LP duration_literal NK_RP */ - { 458, -4 }, /* (532) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ - { 459, -1 }, /* (533) query_simple ::= query_specification */ - { 459, -1 }, /* (534) query_simple ::= union_query_expression */ - { 463, -4 }, /* (535) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ - { 463, -3 }, /* (536) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ - { 464, -1 }, /* (537) query_simple_or_subquery ::= query_simple */ - { 464, -1 }, /* (538) query_simple_or_subquery ::= subquery */ - { 394, -1 }, /* (539) query_or_subquery ::= query_expression */ - { 394, -1 }, /* (540) query_or_subquery ::= subquery */ - { 460, 0 }, /* (541) order_by_clause_opt ::= */ - { 460, -3 }, /* (542) order_by_clause_opt ::= ORDER BY sort_specification_list */ - { 461, 0 }, /* (543) slimit_clause_opt ::= */ - { 461, -2 }, /* (544) slimit_clause_opt ::= SLIMIT NK_INTEGER */ - { 461, -4 }, /* (545) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - { 461, -4 }, /* (546) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - { 462, 0 }, /* (547) limit_clause_opt ::= */ - { 462, -2 }, /* (548) limit_clause_opt ::= LIMIT NK_INTEGER */ - { 462, -4 }, /* (549) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ - { 462, -4 }, /* (550) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - { 439, -3 }, /* (551) subquery ::= NK_LP query_expression NK_RP */ - { 439, -3 }, /* (552) subquery ::= NK_LP subquery NK_RP */ - { 442, -1 }, /* (553) search_condition ::= common_expression */ - { 465, -1 }, /* (554) sort_specification_list ::= sort_specification */ - { 465, -3 }, /* (555) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ - { 466, -3 }, /* (556) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ - { 467, 0 }, /* (557) ordering_specification_opt ::= */ - { 467, -1 }, /* (558) ordering_specification_opt ::= ASC */ - { 467, -1 }, /* (559) ordering_specification_opt ::= DESC */ - { 468, 0 }, /* (560) null_ordering_opt ::= */ - { 468, -2 }, /* (561) null_ordering_opt ::= NULLS FIRST */ - { 468, -2 }, /* (562) null_ordering_opt ::= NULLS LAST */ + { 329, -6 }, /* (0) cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ + { 329, -4 }, /* (1) cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ + { 330, 0 }, /* (2) account_options ::= */ + { 330, -3 }, /* (3) account_options ::= account_options PPS literal */ + { 330, -3 }, /* (4) account_options ::= account_options TSERIES literal */ + { 330, -3 }, /* (5) account_options ::= account_options STORAGE literal */ + { 330, -3 }, /* (6) account_options ::= account_options STREAMS literal */ + { 330, -3 }, /* (7) account_options ::= account_options QTIME literal */ + { 330, -3 }, /* (8) account_options ::= account_options DBS literal */ + { 330, -3 }, /* (9) account_options ::= account_options USERS literal */ + { 330, -3 }, /* (10) account_options ::= account_options CONNS literal */ + { 330, -3 }, /* (11) account_options ::= account_options STATE literal */ + { 331, -1 }, /* (12) alter_account_options ::= alter_account_option */ + { 331, -2 }, /* (13) alter_account_options ::= alter_account_options alter_account_option */ + { 333, -2 }, /* (14) alter_account_option ::= PASS literal */ + { 333, -2 }, /* (15) alter_account_option ::= PPS literal */ + { 333, -2 }, /* (16) alter_account_option ::= TSERIES literal */ + { 333, -2 }, /* (17) alter_account_option ::= STORAGE literal */ + { 333, -2 }, /* (18) alter_account_option ::= STREAMS literal */ + { 333, -2 }, /* (19) alter_account_option ::= QTIME literal */ + { 333, -2 }, /* (20) alter_account_option ::= DBS literal */ + { 333, -2 }, /* (21) alter_account_option ::= USERS literal */ + { 333, -2 }, /* (22) alter_account_option ::= CONNS literal */ + { 333, -2 }, /* (23) alter_account_option ::= STATE literal */ + { 329, -6 }, /* (24) cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt */ + { 329, -5 }, /* (25) cmd ::= ALTER USER user_name PASS NK_STRING */ + { 329, -5 }, /* (26) cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ + { 329, -5 }, /* (27) cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ + { 329, -3 }, /* (28) cmd ::= DROP USER user_name */ + { 335, 0 }, /* (29) sysinfo_opt ::= */ + { 335, -2 }, /* (30) sysinfo_opt ::= SYSINFO NK_INTEGER */ + { 329, -6 }, /* (31) cmd ::= GRANT privileges ON priv_level TO user_name */ + { 329, -6 }, /* (32) cmd ::= REVOKE privileges ON priv_level FROM user_name */ + { 336, -1 }, /* (33) privileges ::= ALL */ + { 336, -1 }, /* (34) privileges ::= priv_type_list */ + { 336, -1 }, /* (35) privileges ::= SUBSCRIBE */ + { 338, -1 }, /* (36) priv_type_list ::= priv_type */ + { 338, -3 }, /* (37) priv_type_list ::= priv_type_list NK_COMMA priv_type */ + { 339, -1 }, /* (38) priv_type ::= READ */ + { 339, -1 }, /* (39) priv_type ::= WRITE */ + { 337, -3 }, /* (40) priv_level ::= NK_STAR NK_DOT NK_STAR */ + { 337, -3 }, /* (41) priv_level ::= db_name NK_DOT NK_STAR */ + { 337, -1 }, /* (42) priv_level ::= topic_name */ + { 329, -3 }, /* (43) cmd ::= CREATE DNODE dnode_endpoint */ + { 329, -5 }, /* (44) cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ + { 329, -4 }, /* (45) cmd ::= DROP DNODE NK_INTEGER force_opt */ + { 329, -4 }, /* (46) cmd ::= DROP DNODE dnode_endpoint force_opt */ + { 329, -4 }, /* (47) cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ + { 329, -5 }, /* (48) cmd ::= ALTER DNODE NK_INTEGER NK_STRING NK_STRING */ + { 329, -4 }, /* (49) cmd ::= ALTER ALL DNODES NK_STRING */ + { 329, -5 }, /* (50) cmd ::= ALTER ALL DNODES NK_STRING NK_STRING */ + { 342, -1 }, /* (51) dnode_endpoint ::= NK_STRING */ + { 342, -1 }, /* (52) dnode_endpoint ::= NK_ID */ + { 342, -1 }, /* (53) dnode_endpoint ::= NK_IPTOKEN */ + { 343, 0 }, /* (54) force_opt ::= */ + { 343, -1 }, /* (55) force_opt ::= FORCE */ + { 329, -3 }, /* (56) cmd ::= ALTER LOCAL NK_STRING */ + { 329, -4 }, /* (57) cmd ::= ALTER LOCAL NK_STRING NK_STRING */ + { 329, -5 }, /* (58) cmd ::= CREATE QNODE ON DNODE NK_INTEGER */ + { 329, -5 }, /* (59) cmd ::= DROP QNODE ON DNODE NK_INTEGER */ + { 329, -5 }, /* (60) cmd ::= CREATE BNODE ON DNODE NK_INTEGER */ + { 329, -5 }, /* (61) cmd ::= DROP BNODE ON DNODE NK_INTEGER */ + { 329, -5 }, /* (62) cmd ::= CREATE SNODE ON DNODE NK_INTEGER */ + { 329, -5 }, /* (63) cmd ::= DROP SNODE ON DNODE NK_INTEGER */ + { 329, -5 }, /* (64) cmd ::= CREATE MNODE ON DNODE NK_INTEGER */ + { 329, -5 }, /* (65) cmd ::= DROP MNODE ON DNODE NK_INTEGER */ + { 329, -5 }, /* (66) cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ + { 329, -4 }, /* (67) cmd ::= DROP DATABASE exists_opt db_name */ + { 329, -2 }, /* (68) cmd ::= USE db_name */ + { 329, -4 }, /* (69) cmd ::= ALTER DATABASE db_name alter_db_options */ + { 329, -3 }, /* (70) cmd ::= FLUSH DATABASE db_name */ + { 329, -4 }, /* (71) cmd ::= TRIM DATABASE db_name speed_opt */ + { 329, -3 }, /* (72) cmd ::= COMPACT DATABASE db_name */ + { 344, -3 }, /* (73) not_exists_opt ::= IF NOT EXISTS */ + { 344, 0 }, /* (74) not_exists_opt ::= */ + { 346, -2 }, /* (75) exists_opt ::= IF EXISTS */ + { 346, 0 }, /* (76) exists_opt ::= */ + { 345, 0 }, /* (77) db_options ::= */ + { 345, -3 }, /* (78) db_options ::= db_options BUFFER NK_INTEGER */ + { 345, -3 }, /* (79) db_options ::= db_options CACHEMODEL NK_STRING */ + { 345, -3 }, /* (80) db_options ::= db_options CACHESIZE NK_INTEGER */ + { 345, -3 }, /* (81) db_options ::= db_options COMP NK_INTEGER */ + { 345, -3 }, /* (82) db_options ::= db_options DURATION NK_INTEGER */ + { 345, -3 }, /* (83) db_options ::= db_options DURATION NK_VARIABLE */ + { 345, -3 }, /* (84) db_options ::= db_options MAXROWS NK_INTEGER */ + { 345, -3 }, /* (85) db_options ::= db_options MINROWS NK_INTEGER */ + { 345, -3 }, /* (86) db_options ::= db_options KEEP integer_list */ + { 345, -3 }, /* (87) db_options ::= db_options KEEP variable_list */ + { 345, -3 }, /* (88) db_options ::= db_options PAGES NK_INTEGER */ + { 345, -3 }, /* (89) db_options ::= db_options PAGESIZE NK_INTEGER */ + { 345, -3 }, /* (90) db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ + { 345, -3 }, /* (91) db_options ::= db_options PRECISION NK_STRING */ + { 345, -3 }, /* (92) db_options ::= db_options REPLICA NK_INTEGER */ + { 345, -3 }, /* (93) db_options ::= db_options VGROUPS NK_INTEGER */ + { 345, -3 }, /* (94) db_options ::= db_options SINGLE_STABLE NK_INTEGER */ + { 345, -3 }, /* (95) db_options ::= db_options RETENTIONS retention_list */ + { 345, -3 }, /* (96) db_options ::= db_options SCHEMALESS NK_INTEGER */ + { 345, -3 }, /* (97) db_options ::= db_options WAL_LEVEL NK_INTEGER */ + { 345, -3 }, /* (98) db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ + { 345, -3 }, /* (99) db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ + { 345, -4 }, /* (100) db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ + { 345, -3 }, /* (101) db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ + { 345, -4 }, /* (102) db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ + { 345, -3 }, /* (103) db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ + { 345, -3 }, /* (104) db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ + { 345, -3 }, /* (105) db_options ::= db_options STT_TRIGGER NK_INTEGER */ + { 345, -3 }, /* (106) db_options ::= db_options TABLE_PREFIX NK_INTEGER */ + { 345, -3 }, /* (107) db_options ::= db_options TABLE_SUFFIX NK_INTEGER */ + { 347, -1 }, /* (108) alter_db_options ::= alter_db_option */ + { 347, -2 }, /* (109) alter_db_options ::= alter_db_options alter_db_option */ + { 352, -2 }, /* (110) alter_db_option ::= BUFFER NK_INTEGER */ + { 352, -2 }, /* (111) alter_db_option ::= CACHEMODEL NK_STRING */ + { 352, -2 }, /* (112) alter_db_option ::= CACHESIZE NK_INTEGER */ + { 352, -2 }, /* (113) alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ + { 352, -2 }, /* (114) alter_db_option ::= KEEP integer_list */ + { 352, -2 }, /* (115) alter_db_option ::= KEEP variable_list */ + { 352, -2 }, /* (116) alter_db_option ::= PAGES NK_INTEGER */ + { 352, -2 }, /* (117) alter_db_option ::= REPLICA NK_INTEGER */ + { 352, -2 }, /* (118) alter_db_option ::= WAL_LEVEL NK_INTEGER */ + { 352, -2 }, /* (119) alter_db_option ::= STT_TRIGGER NK_INTEGER */ + { 349, -1 }, /* (120) integer_list ::= NK_INTEGER */ + { 349, -3 }, /* (121) integer_list ::= integer_list NK_COMMA NK_INTEGER */ + { 350, -1 }, /* (122) variable_list ::= NK_VARIABLE */ + { 350, -3 }, /* (123) variable_list ::= variable_list NK_COMMA NK_VARIABLE */ + { 351, -1 }, /* (124) retention_list ::= retention */ + { 351, -3 }, /* (125) retention_list ::= retention_list NK_COMMA retention */ + { 353, -3 }, /* (126) retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ + { 348, 0 }, /* (127) speed_opt ::= */ + { 348, -2 }, /* (128) speed_opt ::= MAX_SPEED NK_INTEGER */ + { 329, -9 }, /* (129) cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ + { 329, -3 }, /* (130) cmd ::= CREATE TABLE multi_create_clause */ + { 329, -9 }, /* (131) cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ + { 329, -3 }, /* (132) cmd ::= DROP TABLE multi_drop_clause */ + { 329, -4 }, /* (133) cmd ::= DROP STABLE exists_opt full_table_name */ + { 329, -3 }, /* (134) cmd ::= ALTER TABLE alter_table_clause */ + { 329, -3 }, /* (135) cmd ::= ALTER STABLE alter_table_clause */ + { 361, -2 }, /* (136) alter_table_clause ::= full_table_name alter_table_options */ + { 361, -5 }, /* (137) alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ + { 361, -4 }, /* (138) alter_table_clause ::= full_table_name DROP COLUMN column_name */ + { 361, -5 }, /* (139) alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ + { 361, -5 }, /* (140) alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ + { 361, -5 }, /* (141) alter_table_clause ::= full_table_name ADD TAG column_name type_name */ + { 361, -4 }, /* (142) alter_table_clause ::= full_table_name DROP TAG column_name */ + { 361, -5 }, /* (143) alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ + { 361, -5 }, /* (144) alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ + { 361, -6 }, /* (145) alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ + { 358, -1 }, /* (146) multi_create_clause ::= create_subtable_clause */ + { 358, -2 }, /* (147) multi_create_clause ::= multi_create_clause create_subtable_clause */ + { 366, -10 }, /* (148) create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ + { 360, -1 }, /* (149) multi_drop_clause ::= drop_table_clause */ + { 360, -3 }, /* (150) multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ + { 369, -2 }, /* (151) drop_table_clause ::= exists_opt full_table_name */ + { 367, 0 }, /* (152) specific_cols_opt ::= */ + { 367, -3 }, /* (153) specific_cols_opt ::= NK_LP col_name_list NK_RP */ + { 354, -1 }, /* (154) full_table_name ::= table_name */ + { 354, -3 }, /* (155) full_table_name ::= db_name NK_DOT table_name */ + { 355, -1 }, /* (156) column_def_list ::= column_def */ + { 355, -3 }, /* (157) column_def_list ::= column_def_list NK_COMMA column_def */ + { 372, -2 }, /* (158) column_def ::= column_name type_name */ + { 372, -4 }, /* (159) column_def ::= column_name type_name COMMENT NK_STRING */ + { 364, -1 }, /* (160) type_name ::= BOOL */ + { 364, -1 }, /* (161) type_name ::= TINYINT */ + { 364, -1 }, /* (162) type_name ::= SMALLINT */ + { 364, -1 }, /* (163) type_name ::= INT */ + { 364, -1 }, /* (164) type_name ::= INTEGER */ + { 364, -1 }, /* (165) type_name ::= BIGINT */ + { 364, -1 }, /* (166) type_name ::= FLOAT */ + { 364, -1 }, /* (167) type_name ::= DOUBLE */ + { 364, -4 }, /* (168) type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ + { 364, -1 }, /* (169) type_name ::= TIMESTAMP */ + { 364, -4 }, /* (170) type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ + { 364, -2 }, /* (171) type_name ::= TINYINT UNSIGNED */ + { 364, -2 }, /* (172) type_name ::= SMALLINT UNSIGNED */ + { 364, -2 }, /* (173) type_name ::= INT UNSIGNED */ + { 364, -2 }, /* (174) type_name ::= BIGINT UNSIGNED */ + { 364, -1 }, /* (175) type_name ::= JSON */ + { 364, -4 }, /* (176) type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ + { 364, -1 }, /* (177) type_name ::= MEDIUMBLOB */ + { 364, -1 }, /* (178) type_name ::= BLOB */ + { 364, -4 }, /* (179) type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ + { 364, -1 }, /* (180) type_name ::= DECIMAL */ + { 364, -4 }, /* (181) type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ + { 364, -6 }, /* (182) type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ + { 356, 0 }, /* (183) tags_def_opt ::= */ + { 356, -1 }, /* (184) tags_def_opt ::= tags_def */ + { 359, -4 }, /* (185) tags_def ::= TAGS NK_LP column_def_list NK_RP */ + { 357, 0 }, /* (186) table_options ::= */ + { 357, -3 }, /* (187) table_options ::= table_options COMMENT NK_STRING */ + { 357, -3 }, /* (188) table_options ::= table_options MAX_DELAY duration_list */ + { 357, -3 }, /* (189) table_options ::= table_options WATERMARK duration_list */ + { 357, -5 }, /* (190) table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ + { 357, -3 }, /* (191) table_options ::= table_options TTL NK_INTEGER */ + { 357, -5 }, /* (192) table_options ::= table_options SMA NK_LP col_name_list NK_RP */ + { 357, -3 }, /* (193) table_options ::= table_options DELETE_MARK duration_list */ + { 362, -1 }, /* (194) alter_table_options ::= alter_table_option */ + { 362, -2 }, /* (195) alter_table_options ::= alter_table_options alter_table_option */ + { 375, -2 }, /* (196) alter_table_option ::= COMMENT NK_STRING */ + { 375, -2 }, /* (197) alter_table_option ::= TTL NK_INTEGER */ + { 373, -1 }, /* (198) duration_list ::= duration_literal */ + { 373, -3 }, /* (199) duration_list ::= duration_list NK_COMMA duration_literal */ + { 374, -1 }, /* (200) rollup_func_list ::= rollup_func_name */ + { 374, -3 }, /* (201) rollup_func_list ::= rollup_func_list NK_COMMA rollup_func_name */ + { 377, -1 }, /* (202) rollup_func_name ::= function_name */ + { 377, -1 }, /* (203) rollup_func_name ::= FIRST */ + { 377, -1 }, /* (204) rollup_func_name ::= LAST */ + { 370, -1 }, /* (205) col_name_list ::= col_name */ + { 370, -3 }, /* (206) col_name_list ::= col_name_list NK_COMMA col_name */ + { 379, -1 }, /* (207) col_name ::= column_name */ + { 329, -2 }, /* (208) cmd ::= SHOW DNODES */ + { 329, -2 }, /* (209) cmd ::= SHOW USERS */ + { 329, -3 }, /* (210) cmd ::= SHOW USER PRIVILEGES */ + { 329, -2 }, /* (211) cmd ::= SHOW DATABASES */ + { 329, -4 }, /* (212) cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */ + { 329, -4 }, /* (213) cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ + { 329, -3 }, /* (214) cmd ::= SHOW db_name_cond_opt VGROUPS */ + { 329, -2 }, /* (215) cmd ::= SHOW MNODES */ + { 329, -2 }, /* (216) cmd ::= SHOW QNODES */ + { 329, -2 }, /* (217) cmd ::= SHOW FUNCTIONS */ + { 329, -5 }, /* (218) cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ + { 329, -2 }, /* (219) cmd ::= SHOW STREAMS */ + { 329, -2 }, /* (220) cmd ::= SHOW ACCOUNTS */ + { 329, -2 }, /* (221) cmd ::= SHOW APPS */ + { 329, -2 }, /* (222) cmd ::= SHOW CONNECTIONS */ + { 329, -2 }, /* (223) cmd ::= SHOW LICENCES */ + { 329, -2 }, /* (224) cmd ::= SHOW GRANTS */ + { 329, -4 }, /* (225) cmd ::= SHOW CREATE DATABASE db_name */ + { 329, -4 }, /* (226) cmd ::= SHOW CREATE TABLE full_table_name */ + { 329, -4 }, /* (227) cmd ::= SHOW CREATE STABLE full_table_name */ + { 329, -2 }, /* (228) cmd ::= SHOW QUERIES */ + { 329, -2 }, /* (229) cmd ::= SHOW SCORES */ + { 329, -2 }, /* (230) cmd ::= SHOW TOPICS */ + { 329, -2 }, /* (231) cmd ::= SHOW VARIABLES */ + { 329, -3 }, /* (232) cmd ::= SHOW CLUSTER VARIABLES */ + { 329, -3 }, /* (233) cmd ::= SHOW LOCAL VARIABLES */ + { 329, -5 }, /* (234) cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ + { 329, -2 }, /* (235) cmd ::= SHOW BNODES */ + { 329, -2 }, /* (236) cmd ::= SHOW SNODES */ + { 329, -2 }, /* (237) cmd ::= SHOW CLUSTER */ + { 329, -2 }, /* (238) cmd ::= SHOW TRANSACTIONS */ + { 329, -4 }, /* (239) cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ + { 329, -2 }, /* (240) cmd ::= SHOW CONSUMERS */ + { 329, -2 }, /* (241) cmd ::= SHOW SUBSCRIPTIONS */ + { 329, -5 }, /* (242) cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ + { 329, -7 }, /* (243) cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ + { 329, -3 }, /* (244) cmd ::= SHOW VNODES NK_INTEGER */ + { 329, -3 }, /* (245) cmd ::= SHOW VNODES NK_STRING */ + { 329, -3 }, /* (246) cmd ::= SHOW db_name_cond_opt ALIVE */ + { 329, -3 }, /* (247) cmd ::= SHOW CLUSTER ALIVE */ + { 380, 0 }, /* (248) db_name_cond_opt ::= */ + { 380, -2 }, /* (249) db_name_cond_opt ::= db_name NK_DOT */ + { 381, 0 }, /* (250) like_pattern_opt ::= */ + { 381, -2 }, /* (251) like_pattern_opt ::= LIKE NK_STRING */ + { 382, -1 }, /* (252) table_name_cond ::= table_name */ + { 383, 0 }, /* (253) from_db_opt ::= */ + { 383, -2 }, /* (254) from_db_opt ::= FROM db_name */ + { 384, 0 }, /* (255) tag_list_opt ::= */ + { 384, -1 }, /* (256) tag_list_opt ::= tag_item */ + { 384, -3 }, /* (257) tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ + { 385, -1 }, /* (258) tag_item ::= TBNAME */ + { 385, -1 }, /* (259) tag_item ::= QTAGS */ + { 385, -1 }, /* (260) tag_item ::= column_name */ + { 385, -2 }, /* (261) tag_item ::= column_name column_alias */ + { 385, -3 }, /* (262) tag_item ::= column_name AS column_alias */ + { 329, -8 }, /* (263) cmd ::= CREATE SMA INDEX not_exists_opt full_index_name ON full_table_name index_options */ + { 329, -9 }, /* (264) cmd ::= CREATE INDEX not_exists_opt full_index_name ON full_table_name NK_LP col_name_list NK_RP */ + { 329, -4 }, /* (265) cmd ::= DROP INDEX exists_opt full_index_name */ + { 387, -1 }, /* (266) full_index_name ::= index_name */ + { 387, -3 }, /* (267) full_index_name ::= db_name NK_DOT index_name */ + { 388, -10 }, /* (268) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ + { 388, -12 }, /* (269) index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ + { 390, -1 }, /* (270) func_list ::= func */ + { 390, -3 }, /* (271) func_list ::= func_list NK_COMMA func */ + { 393, -4 }, /* (272) func ::= sma_func_name NK_LP expression_list NK_RP */ + { 394, -1 }, /* (273) sma_func_name ::= function_name */ + { 394, -1 }, /* (274) sma_func_name ::= COUNT */ + { 394, -1 }, /* (275) sma_func_name ::= FIRST */ + { 394, -1 }, /* (276) sma_func_name ::= LAST */ + { 394, -1 }, /* (277) sma_func_name ::= LAST_ROW */ + { 392, 0 }, /* (278) sma_stream_opt ::= */ + { 392, -3 }, /* (279) sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ + { 392, -3 }, /* (280) sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ + { 392, -3 }, /* (281) sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ + { 329, -6 }, /* (282) cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ + { 329, -7 }, /* (283) cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */ + { 329, -9 }, /* (284) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */ + { 329, -7 }, /* (285) cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */ + { 329, -9 }, /* (286) cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */ + { 329, -4 }, /* (287) cmd ::= DROP TOPIC exists_opt topic_name */ + { 329, -7 }, /* (288) cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ + { 329, -2 }, /* (289) cmd ::= DESC full_table_name */ + { 329, -2 }, /* (290) cmd ::= DESCRIBE full_table_name */ + { 329, -3 }, /* (291) cmd ::= RESET QUERY CACHE */ + { 329, -4 }, /* (292) cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ + { 329, -4 }, /* (293) cmd ::= EXPLAIN analyze_opt explain_options insert_query */ + { 397, 0 }, /* (294) analyze_opt ::= */ + { 397, -1 }, /* (295) analyze_opt ::= ANALYZE */ + { 398, 0 }, /* (296) explain_options ::= */ + { 398, -3 }, /* (297) explain_options ::= explain_options VERBOSE NK_BOOL */ + { 398, -3 }, /* (298) explain_options ::= explain_options RATIO NK_FLOAT */ + { 329, -11 }, /* (299) cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ + { 329, -4 }, /* (300) cmd ::= DROP FUNCTION exists_opt function_name */ + { 400, 0 }, /* (301) agg_func_opt ::= */ + { 400, -1 }, /* (302) agg_func_opt ::= AGGREGATE */ + { 401, 0 }, /* (303) bufsize_opt ::= */ + { 401, -2 }, /* (304) bufsize_opt ::= BUFSIZE NK_INTEGER */ + { 402, 0 }, /* (305) language_opt ::= */ + { 402, -2 }, /* (306) language_opt ::= LANGUAGE NK_STRING */ + { 329, -12 }, /* (307) cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ + { 329, -4 }, /* (308) cmd ::= DROP STREAM exists_opt stream_name */ + { 405, 0 }, /* (309) col_list_opt ::= */ + { 405, -3 }, /* (310) col_list_opt ::= NK_LP col_name_list NK_RP */ + { 406, 0 }, /* (311) tag_def_or_ref_opt ::= */ + { 406, -1 }, /* (312) tag_def_or_ref_opt ::= tags_def */ + { 406, -4 }, /* (313) tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ + { 404, 0 }, /* (314) stream_options ::= */ + { 404, -3 }, /* (315) stream_options ::= stream_options TRIGGER AT_ONCE */ + { 404, -3 }, /* (316) stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ + { 404, -4 }, /* (317) stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ + { 404, -3 }, /* (318) stream_options ::= stream_options WATERMARK duration_literal */ + { 404, -4 }, /* (319) stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ + { 404, -3 }, /* (320) stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ + { 404, -3 }, /* (321) stream_options ::= stream_options DELETE_MARK duration_literal */ + { 404, -4 }, /* (322) stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ + { 407, 0 }, /* (323) subtable_opt ::= */ + { 407, -4 }, /* (324) subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + { 329, -3 }, /* (325) cmd ::= KILL CONNECTION NK_INTEGER */ + { 329, -3 }, /* (326) cmd ::= KILL QUERY NK_STRING */ + { 329, -3 }, /* (327) cmd ::= KILL TRANSACTION NK_INTEGER */ + { 329, -2 }, /* (328) cmd ::= BALANCE VGROUP */ + { 329, -4 }, /* (329) cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + { 329, -4 }, /* (330) cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ + { 329, -3 }, /* (331) cmd ::= SPLIT VGROUP NK_INTEGER */ + { 409, -2 }, /* (332) dnode_list ::= DNODE NK_INTEGER */ + { 409, -3 }, /* (333) dnode_list ::= dnode_list DNODE NK_INTEGER */ + { 329, -4 }, /* (334) cmd ::= DELETE FROM full_table_name where_clause_opt */ + { 329, -1 }, /* (335) cmd ::= query_or_subquery */ + { 329, -1 }, /* (336) cmd ::= insert_query */ + { 399, -7 }, /* (337) insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ + { 399, -4 }, /* (338) insert_query ::= INSERT INTO full_table_name query_or_subquery */ + { 332, -1 }, /* (339) literal ::= NK_INTEGER */ + { 332, -1 }, /* (340) literal ::= NK_FLOAT */ + { 332, -1 }, /* (341) literal ::= NK_STRING */ + { 332, -1 }, /* (342) literal ::= NK_BOOL */ + { 332, -2 }, /* (343) literal ::= TIMESTAMP NK_STRING */ + { 332, -1 }, /* (344) literal ::= duration_literal */ + { 332, -1 }, /* (345) literal ::= NULL */ + { 332, -1 }, /* (346) literal ::= NK_QUESTION */ + { 376, -1 }, /* (347) duration_literal ::= NK_VARIABLE */ + { 411, -1 }, /* (348) signed ::= NK_INTEGER */ + { 411, -2 }, /* (349) signed ::= NK_PLUS NK_INTEGER */ + { 411, -2 }, /* (350) signed ::= NK_MINUS NK_INTEGER */ + { 411, -1 }, /* (351) signed ::= NK_FLOAT */ + { 411, -2 }, /* (352) signed ::= NK_PLUS NK_FLOAT */ + { 411, -2 }, /* (353) signed ::= NK_MINUS NK_FLOAT */ + { 365, -1 }, /* (354) signed_literal ::= signed */ + { 365, -1 }, /* (355) signed_literal ::= NK_STRING */ + { 365, -1 }, /* (356) signed_literal ::= NK_BOOL */ + { 365, -2 }, /* (357) signed_literal ::= TIMESTAMP NK_STRING */ + { 365, -1 }, /* (358) signed_literal ::= duration_literal */ + { 365, -1 }, /* (359) signed_literal ::= NULL */ + { 365, -1 }, /* (360) signed_literal ::= literal_func */ + { 365, -1 }, /* (361) signed_literal ::= NK_QUESTION */ + { 413, -1 }, /* (362) literal_list ::= signed_literal */ + { 413, -3 }, /* (363) literal_list ::= literal_list NK_COMMA signed_literal */ + { 340, -1 }, /* (364) db_name ::= NK_ID */ + { 371, -1 }, /* (365) table_name ::= NK_ID */ + { 363, -1 }, /* (366) column_name ::= NK_ID */ + { 378, -1 }, /* (367) function_name ::= NK_ID */ + { 414, -1 }, /* (368) table_alias ::= NK_ID */ + { 386, -1 }, /* (369) column_alias ::= NK_ID */ + { 334, -1 }, /* (370) user_name ::= NK_ID */ + { 341, -1 }, /* (371) topic_name ::= NK_ID */ + { 403, -1 }, /* (372) stream_name ::= NK_ID */ + { 396, -1 }, /* (373) cgroup_name ::= NK_ID */ + { 389, -1 }, /* (374) index_name ::= NK_ID */ + { 415, -1 }, /* (375) expr_or_subquery ::= expression */ + { 408, -1 }, /* (376) expression ::= literal */ + { 408, -1 }, /* (377) expression ::= pseudo_column */ + { 408, -1 }, /* (378) expression ::= column_reference */ + { 408, -1 }, /* (379) expression ::= function_expression */ + { 408, -1 }, /* (380) expression ::= case_when_expression */ + { 408, -3 }, /* (381) expression ::= NK_LP expression NK_RP */ + { 408, -2 }, /* (382) expression ::= NK_PLUS expr_or_subquery */ + { 408, -2 }, /* (383) expression ::= NK_MINUS expr_or_subquery */ + { 408, -3 }, /* (384) expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + { 408, -3 }, /* (385) expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + { 408, -3 }, /* (386) expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + { 408, -3 }, /* (387) expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + { 408, -3 }, /* (388) expression ::= expr_or_subquery NK_REM expr_or_subquery */ + { 408, -3 }, /* (389) expression ::= column_reference NK_ARROW NK_STRING */ + { 408, -3 }, /* (390) expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + { 408, -3 }, /* (391) expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + { 368, -1 }, /* (392) expression_list ::= expr_or_subquery */ + { 368, -3 }, /* (393) expression_list ::= expression_list NK_COMMA expr_or_subquery */ + { 417, -1 }, /* (394) column_reference ::= column_name */ + { 417, -3 }, /* (395) column_reference ::= table_name NK_DOT column_name */ + { 416, -1 }, /* (396) pseudo_column ::= ROWTS */ + { 416, -1 }, /* (397) pseudo_column ::= TBNAME */ + { 416, -3 }, /* (398) pseudo_column ::= table_name NK_DOT TBNAME */ + { 416, -1 }, /* (399) pseudo_column ::= QSTART */ + { 416, -1 }, /* (400) pseudo_column ::= QEND */ + { 416, -1 }, /* (401) pseudo_column ::= QDURATION */ + { 416, -1 }, /* (402) pseudo_column ::= WSTART */ + { 416, -1 }, /* (403) pseudo_column ::= WEND */ + { 416, -1 }, /* (404) pseudo_column ::= WDURATION */ + { 416, -1 }, /* (405) pseudo_column ::= IROWTS */ + { 416, -1 }, /* (406) pseudo_column ::= ISFILLED */ + { 416, -1 }, /* (407) pseudo_column ::= QTAGS */ + { 418, -4 }, /* (408) function_expression ::= function_name NK_LP expression_list NK_RP */ + { 418, -4 }, /* (409) function_expression ::= star_func NK_LP star_func_para_list NK_RP */ + { 418, -6 }, /* (410) function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ + { 418, -1 }, /* (411) function_expression ::= literal_func */ + { 412, -3 }, /* (412) literal_func ::= noarg_func NK_LP NK_RP */ + { 412, -1 }, /* (413) literal_func ::= NOW */ + { 422, -1 }, /* (414) noarg_func ::= NOW */ + { 422, -1 }, /* (415) noarg_func ::= TODAY */ + { 422, -1 }, /* (416) noarg_func ::= TIMEZONE */ + { 422, -1 }, /* (417) noarg_func ::= DATABASE */ + { 422, -1 }, /* (418) noarg_func ::= CLIENT_VERSION */ + { 422, -1 }, /* (419) noarg_func ::= SERVER_VERSION */ + { 422, -1 }, /* (420) noarg_func ::= SERVER_STATUS */ + { 422, -1 }, /* (421) noarg_func ::= CURRENT_USER */ + { 422, -1 }, /* (422) noarg_func ::= USER */ + { 420, -1 }, /* (423) star_func ::= COUNT */ + { 420, -1 }, /* (424) star_func ::= FIRST */ + { 420, -1 }, /* (425) star_func ::= LAST */ + { 420, -1 }, /* (426) star_func ::= LAST_ROW */ + { 421, -1 }, /* (427) star_func_para_list ::= NK_STAR */ + { 421, -1 }, /* (428) star_func_para_list ::= other_para_list */ + { 423, -1 }, /* (429) other_para_list ::= star_func_para */ + { 423, -3 }, /* (430) other_para_list ::= other_para_list NK_COMMA star_func_para */ + { 424, -1 }, /* (431) star_func_para ::= expr_or_subquery */ + { 424, -3 }, /* (432) star_func_para ::= table_name NK_DOT NK_STAR */ + { 419, -4 }, /* (433) case_when_expression ::= CASE when_then_list case_when_else_opt END */ + { 419, -5 }, /* (434) case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ + { 425, -1 }, /* (435) when_then_list ::= when_then_expr */ + { 425, -2 }, /* (436) when_then_list ::= when_then_list when_then_expr */ + { 428, -4 }, /* (437) when_then_expr ::= WHEN common_expression THEN common_expression */ + { 426, 0 }, /* (438) case_when_else_opt ::= */ + { 426, -2 }, /* (439) case_when_else_opt ::= ELSE common_expression */ + { 429, -3 }, /* (440) predicate ::= expr_or_subquery compare_op expr_or_subquery */ + { 429, -5 }, /* (441) predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + { 429, -6 }, /* (442) predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + { 429, -3 }, /* (443) predicate ::= expr_or_subquery IS NULL */ + { 429, -4 }, /* (444) predicate ::= expr_or_subquery IS NOT NULL */ + { 429, -3 }, /* (445) predicate ::= expr_or_subquery in_op in_predicate_value */ + { 430, -1 }, /* (446) compare_op ::= NK_LT */ + { 430, -1 }, /* (447) compare_op ::= NK_GT */ + { 430, -1 }, /* (448) compare_op ::= NK_LE */ + { 430, -1 }, /* (449) compare_op ::= NK_GE */ + { 430, -1 }, /* (450) compare_op ::= NK_NE */ + { 430, -1 }, /* (451) compare_op ::= NK_EQ */ + { 430, -1 }, /* (452) compare_op ::= LIKE */ + { 430, -2 }, /* (453) compare_op ::= NOT LIKE */ + { 430, -1 }, /* (454) compare_op ::= MATCH */ + { 430, -1 }, /* (455) compare_op ::= NMATCH */ + { 430, -1 }, /* (456) compare_op ::= CONTAINS */ + { 431, -1 }, /* (457) in_op ::= IN */ + { 431, -2 }, /* (458) in_op ::= NOT IN */ + { 432, -3 }, /* (459) in_predicate_value ::= NK_LP literal_list NK_RP */ + { 433, -1 }, /* (460) boolean_value_expression ::= boolean_primary */ + { 433, -2 }, /* (461) boolean_value_expression ::= NOT boolean_primary */ + { 433, -3 }, /* (462) boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + { 433, -3 }, /* (463) boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + { 434, -1 }, /* (464) boolean_primary ::= predicate */ + { 434, -3 }, /* (465) boolean_primary ::= NK_LP boolean_value_expression NK_RP */ + { 427, -1 }, /* (466) common_expression ::= expr_or_subquery */ + { 427, -1 }, /* (467) common_expression ::= boolean_value_expression */ + { 435, 0 }, /* (468) from_clause_opt ::= */ + { 435, -2 }, /* (469) from_clause_opt ::= FROM table_reference_list */ + { 436, -1 }, /* (470) table_reference_list ::= table_reference */ + { 436, -3 }, /* (471) table_reference_list ::= table_reference_list NK_COMMA table_reference */ + { 437, -1 }, /* (472) table_reference ::= table_primary */ + { 437, -1 }, /* (473) table_reference ::= joined_table */ + { 438, -2 }, /* (474) table_primary ::= table_name alias_opt */ + { 438, -4 }, /* (475) table_primary ::= db_name NK_DOT table_name alias_opt */ + { 438, -2 }, /* (476) table_primary ::= subquery alias_opt */ + { 438, -1 }, /* (477) table_primary ::= parenthesized_joined_table */ + { 440, 0 }, /* (478) alias_opt ::= */ + { 440, -1 }, /* (479) alias_opt ::= table_alias */ + { 440, -2 }, /* (480) alias_opt ::= AS table_alias */ + { 442, -3 }, /* (481) parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + { 442, -3 }, /* (482) parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ + { 439, -6 }, /* (483) joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ + { 443, 0 }, /* (484) join_type ::= */ + { 443, -1 }, /* (485) join_type ::= INNER */ + { 445, -12 }, /* (486) query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ + { 446, 0 }, /* (487) set_quantifier_opt ::= */ + { 446, -1 }, /* (488) set_quantifier_opt ::= DISTINCT */ + { 446, -1 }, /* (489) set_quantifier_opt ::= ALL */ + { 447, -1 }, /* (490) select_list ::= select_item */ + { 447, -3 }, /* (491) select_list ::= select_list NK_COMMA select_item */ + { 455, -1 }, /* (492) select_item ::= NK_STAR */ + { 455, -1 }, /* (493) select_item ::= common_expression */ + { 455, -2 }, /* (494) select_item ::= common_expression column_alias */ + { 455, -3 }, /* (495) select_item ::= common_expression AS column_alias */ + { 455, -3 }, /* (496) select_item ::= table_name NK_DOT NK_STAR */ + { 410, 0 }, /* (497) where_clause_opt ::= */ + { 410, -2 }, /* (498) where_clause_opt ::= WHERE search_condition */ + { 448, 0 }, /* (499) partition_by_clause_opt ::= */ + { 448, -3 }, /* (500) partition_by_clause_opt ::= PARTITION BY partition_list */ + { 456, -1 }, /* (501) partition_list ::= partition_item */ + { 456, -3 }, /* (502) partition_list ::= partition_list NK_COMMA partition_item */ + { 457, -1 }, /* (503) partition_item ::= expr_or_subquery */ + { 457, -2 }, /* (504) partition_item ::= expr_or_subquery column_alias */ + { 457, -3 }, /* (505) partition_item ::= expr_or_subquery AS column_alias */ + { 452, 0 }, /* (506) twindow_clause_opt ::= */ + { 452, -6 }, /* (507) twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */ + { 452, -4 }, /* (508) twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ + { 452, -6 }, /* (509) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */ + { 452, -8 }, /* (510) twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */ + { 452, -7 }, /* (511) twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ + { 391, 0 }, /* (512) sliding_opt ::= */ + { 391, -4 }, /* (513) sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */ + { 451, 0 }, /* (514) fill_opt ::= */ + { 451, -4 }, /* (515) fill_opt ::= FILL NK_LP fill_mode NK_RP */ + { 451, -6 }, /* (516) fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */ + { 451, -6 }, /* (517) fill_opt ::= FILL NK_LP VALUE_F NK_COMMA literal_list NK_RP */ + { 458, -1 }, /* (518) fill_mode ::= NONE */ + { 458, -1 }, /* (519) fill_mode ::= PREV */ + { 458, -1 }, /* (520) fill_mode ::= NULL */ + { 458, -1 }, /* (521) fill_mode ::= NULL_F */ + { 458, -1 }, /* (522) fill_mode ::= LINEAR */ + { 458, -1 }, /* (523) fill_mode ::= NEXT */ + { 453, 0 }, /* (524) group_by_clause_opt ::= */ + { 453, -3 }, /* (525) group_by_clause_opt ::= GROUP BY group_by_list */ + { 459, -1 }, /* (526) group_by_list ::= expr_or_subquery */ + { 459, -3 }, /* (527) group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ + { 454, 0 }, /* (528) having_clause_opt ::= */ + { 454, -2 }, /* (529) having_clause_opt ::= HAVING search_condition */ + { 449, 0 }, /* (530) range_opt ::= */ + { 449, -6 }, /* (531) range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ + { 450, 0 }, /* (532) every_opt ::= */ + { 450, -4 }, /* (533) every_opt ::= EVERY NK_LP duration_literal NK_RP */ + { 460, -4 }, /* (534) query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + { 461, -1 }, /* (535) query_simple ::= query_specification */ + { 461, -1 }, /* (536) query_simple ::= union_query_expression */ + { 465, -4 }, /* (537) union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ + { 465, -3 }, /* (538) union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ + { 466, -1 }, /* (539) query_simple_or_subquery ::= query_simple */ + { 466, -1 }, /* (540) query_simple_or_subquery ::= subquery */ + { 395, -1 }, /* (541) query_or_subquery ::= query_expression */ + { 395, -1 }, /* (542) query_or_subquery ::= subquery */ + { 462, 0 }, /* (543) order_by_clause_opt ::= */ + { 462, -3 }, /* (544) order_by_clause_opt ::= ORDER BY sort_specification_list */ + { 463, 0 }, /* (545) slimit_clause_opt ::= */ + { 463, -2 }, /* (546) slimit_clause_opt ::= SLIMIT NK_INTEGER */ + { 463, -4 }, /* (547) slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + { 463, -4 }, /* (548) slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + { 464, 0 }, /* (549) limit_clause_opt ::= */ + { 464, -2 }, /* (550) limit_clause_opt ::= LIMIT NK_INTEGER */ + { 464, -4 }, /* (551) limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ + { 464, -4 }, /* (552) limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + { 441, -3 }, /* (553) subquery ::= NK_LP query_expression NK_RP */ + { 441, -3 }, /* (554) subquery ::= NK_LP subquery NK_RP */ + { 444, -1 }, /* (555) search_condition ::= common_expression */ + { 467, -1 }, /* (556) sort_specification_list ::= sort_specification */ + { 467, -3 }, /* (557) sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ + { 468, -3 }, /* (558) sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ + { 469, 0 }, /* (559) ordering_specification_opt ::= */ + { 469, -1 }, /* (560) ordering_specification_opt ::= ASC */ + { 469, -1 }, /* (561) ordering_specification_opt ::= DESC */ + { 470, 0 }, /* (562) null_ordering_opt ::= */ + { 470, -2 }, /* (563) null_ordering_opt ::= NULLS FIRST */ + { 470, -2 }, /* (564) null_ordering_opt ::= NULLS LAST */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -3704,11 +3780,11 @@ static YYACTIONTYPE yy_reduce( YYMINORTYPE yylhsminor; case 0: /* cmd ::= CREATE ACCOUNT NK_ID PASS NK_STRING account_options */ { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } - yy_destructor(yypParser,329,&yymsp[0].minor); + yy_destructor(yypParser,330,&yymsp[0].minor); break; case 1: /* cmd ::= ALTER ACCOUNT NK_ID alter_account_options */ { pCxt->errCode = generateSyntaxErrMsg(&pCxt->msgBuf, TSDB_CODE_PAR_EXPRIE_STATEMENT); } - yy_destructor(yypParser,330,&yymsp[0].minor); + yy_destructor(yypParser,331,&yymsp[0].minor); break; case 2: /* account_options ::= */ { } @@ -3722,20 +3798,20 @@ static YYACTIONTYPE yy_reduce( case 9: /* account_options ::= account_options USERS literal */ yytestcase(yyruleno==9); case 10: /* account_options ::= account_options CONNS literal */ yytestcase(yyruleno==10); case 11: /* account_options ::= account_options STATE literal */ yytestcase(yyruleno==11); -{ yy_destructor(yypParser,329,&yymsp[-2].minor); +{ yy_destructor(yypParser,330,&yymsp[-2].minor); { } - yy_destructor(yypParser,331,&yymsp[0].minor); + yy_destructor(yypParser,332,&yymsp[0].minor); } break; case 12: /* alter_account_options ::= alter_account_option */ -{ yy_destructor(yypParser,332,&yymsp[0].minor); +{ yy_destructor(yypParser,333,&yymsp[0].minor); { } } break; case 13: /* alter_account_options ::= alter_account_options alter_account_option */ -{ yy_destructor(yypParser,330,&yymsp[-1].minor); +{ yy_destructor(yypParser,331,&yymsp[-1].minor); { } - yy_destructor(yypParser,332,&yymsp[0].minor); + yy_destructor(yypParser,333,&yymsp[0].minor); } break; case 14: /* alter_account_option ::= PASS literal */ @@ -3749,81 +3825,81 @@ static YYACTIONTYPE yy_reduce( case 22: /* alter_account_option ::= CONNS literal */ yytestcase(yyruleno==22); case 23: /* alter_account_option ::= STATE literal */ yytestcase(yyruleno==23); { } - yy_destructor(yypParser,331,&yymsp[0].minor); + yy_destructor(yypParser,332,&yymsp[0].minor); break; case 24: /* cmd ::= CREATE USER user_name PASS NK_STRING sysinfo_opt */ -{ pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-3].minor.yy225, &yymsp[-1].minor.yy0, yymsp[0].minor.yy705); } +{ pCxt->pRootNode = createCreateUserStmt(pCxt, &yymsp[-3].minor.yy881, &yymsp[-1].minor.yy0, yymsp[0].minor.yy857); } break; case 25: /* cmd ::= ALTER USER user_name PASS NK_STRING */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy225, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy881, TSDB_ALTER_USER_PASSWD, &yymsp[0].minor.yy0); } break; case 26: /* cmd ::= ALTER USER user_name ENABLE NK_INTEGER */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy225, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy881, TSDB_ALTER_USER_ENABLE, &yymsp[0].minor.yy0); } break; case 27: /* cmd ::= ALTER USER user_name SYSINFO NK_INTEGER */ -{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy225, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createAlterUserStmt(pCxt, &yymsp[-2].minor.yy881, TSDB_ALTER_USER_SYSINFO, &yymsp[0].minor.yy0); } break; case 28: /* cmd ::= DROP USER user_name */ -{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy225); } +{ pCxt->pRootNode = createDropUserStmt(pCxt, &yymsp[0].minor.yy881); } break; case 29: /* sysinfo_opt ::= */ -{ yymsp[1].minor.yy705 = 1; } +{ yymsp[1].minor.yy857 = 1; } break; case 30: /* sysinfo_opt ::= SYSINFO NK_INTEGER */ -{ yymsp[-1].minor.yy705 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } +{ yymsp[-1].minor.yy857 = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); } break; case 31: /* cmd ::= GRANT privileges ON priv_level TO user_name */ -{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-4].minor.yy641, &yymsp[-2].minor.yy225, &yymsp[0].minor.yy225); } +{ pCxt->pRootNode = createGrantStmt(pCxt, yymsp[-4].minor.yy303, &yymsp[-2].minor.yy881, &yymsp[0].minor.yy881); } break; case 32: /* cmd ::= REVOKE privileges ON priv_level FROM user_name */ -{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-4].minor.yy641, &yymsp[-2].minor.yy225, &yymsp[0].minor.yy225); } +{ pCxt->pRootNode = createRevokeStmt(pCxt, yymsp[-4].minor.yy303, &yymsp[-2].minor.yy881, &yymsp[0].minor.yy881); } break; case 33: /* privileges ::= ALL */ -{ yymsp[0].minor.yy641 = PRIVILEGE_TYPE_ALL; } +{ yymsp[0].minor.yy303 = PRIVILEGE_TYPE_ALL; } break; case 34: /* privileges ::= priv_type_list */ case 36: /* priv_type_list ::= priv_type */ yytestcase(yyruleno==36); -{ yylhsminor.yy641 = yymsp[0].minor.yy641; } - yymsp[0].minor.yy641 = yylhsminor.yy641; +{ yylhsminor.yy303 = yymsp[0].minor.yy303; } + yymsp[0].minor.yy303 = yylhsminor.yy303; break; case 35: /* privileges ::= SUBSCRIBE */ -{ yymsp[0].minor.yy641 = PRIVILEGE_TYPE_SUBSCRIBE; } +{ yymsp[0].minor.yy303 = PRIVILEGE_TYPE_SUBSCRIBE; } break; case 37: /* priv_type_list ::= priv_type_list NK_COMMA priv_type */ -{ yylhsminor.yy641 = yymsp[-2].minor.yy641 | yymsp[0].minor.yy641; } - yymsp[-2].minor.yy641 = yylhsminor.yy641; +{ yylhsminor.yy303 = yymsp[-2].minor.yy303 | yymsp[0].minor.yy303; } + yymsp[-2].minor.yy303 = yylhsminor.yy303; break; case 38: /* priv_type ::= READ */ -{ yymsp[0].minor.yy641 = PRIVILEGE_TYPE_READ; } +{ yymsp[0].minor.yy303 = PRIVILEGE_TYPE_READ; } break; case 39: /* priv_type ::= WRITE */ -{ yymsp[0].minor.yy641 = PRIVILEGE_TYPE_WRITE; } +{ yymsp[0].minor.yy303 = PRIVILEGE_TYPE_WRITE; } break; case 40: /* priv_level ::= NK_STAR NK_DOT NK_STAR */ -{ yylhsminor.yy225 = yymsp[-2].minor.yy0; } - yymsp[-2].minor.yy225 = yylhsminor.yy225; +{ yylhsminor.yy881 = yymsp[-2].minor.yy0; } + yymsp[-2].minor.yy881 = yylhsminor.yy881; break; case 41: /* priv_level ::= db_name NK_DOT NK_STAR */ -{ yylhsminor.yy225 = yymsp[-2].minor.yy225; } - yymsp[-2].minor.yy225 = yylhsminor.yy225; +{ yylhsminor.yy881 = yymsp[-2].minor.yy881; } + yymsp[-2].minor.yy881 = yylhsminor.yy881; break; case 42: /* priv_level ::= topic_name */ case 273: /* sma_func_name ::= function_name */ yytestcase(yyruleno==273); - case 477: /* alias_opt ::= table_alias */ yytestcase(yyruleno==477); -{ yylhsminor.yy225 = yymsp[0].minor.yy225; } - yymsp[0].minor.yy225 = yylhsminor.yy225; + case 479: /* alias_opt ::= table_alias */ yytestcase(yyruleno==479); +{ yylhsminor.yy881 = yymsp[0].minor.yy881; } + yymsp[0].minor.yy881 = yylhsminor.yy881; break; case 43: /* cmd ::= CREATE DNODE dnode_endpoint */ -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy225, NULL); } +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[0].minor.yy881, NULL); } break; case 44: /* cmd ::= CREATE DNODE dnode_endpoint PORT NK_INTEGER */ -{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy225, &yymsp[0].minor.yy0); } +{ pCxt->pRootNode = createCreateDnodeStmt(pCxt, &yymsp[-2].minor.yy881, &yymsp[0].minor.yy0); } break; case 45: /* cmd ::= DROP DNODE NK_INTEGER force_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy103); } +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy587); } break; case 46: /* cmd ::= DROP DNODE dnode_endpoint force_opt */ -{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy225, yymsp[0].minor.yy103); } +{ pCxt->pRootNode = createDropDnodeStmt(pCxt, &yymsp[-1].minor.yy881, yymsp[0].minor.yy587); } break; case 47: /* cmd ::= ALTER DNODE NK_INTEGER NK_STRING */ { pCxt->pRootNode = createAlterDnodeStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, NULL); } @@ -3844,46 +3920,46 @@ static YYACTIONTYPE yy_reduce( case 275: /* sma_func_name ::= FIRST */ yytestcase(yyruleno==275); case 276: /* sma_func_name ::= LAST */ yytestcase(yyruleno==276); case 277: /* sma_func_name ::= LAST_ROW */ yytestcase(yyruleno==277); - case 362: /* db_name ::= NK_ID */ yytestcase(yyruleno==362); - case 363: /* table_name ::= NK_ID */ yytestcase(yyruleno==363); - case 364: /* column_name ::= NK_ID */ yytestcase(yyruleno==364); - case 365: /* function_name ::= NK_ID */ yytestcase(yyruleno==365); - case 366: /* table_alias ::= NK_ID */ yytestcase(yyruleno==366); - case 367: /* column_alias ::= NK_ID */ yytestcase(yyruleno==367); - case 368: /* user_name ::= NK_ID */ yytestcase(yyruleno==368); - case 369: /* topic_name ::= NK_ID */ yytestcase(yyruleno==369); - case 370: /* stream_name ::= NK_ID */ yytestcase(yyruleno==370); - case 371: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==371); - case 372: /* index_name ::= NK_ID */ yytestcase(yyruleno==372); - case 412: /* noarg_func ::= NOW */ yytestcase(yyruleno==412); - case 413: /* noarg_func ::= TODAY */ yytestcase(yyruleno==413); - case 414: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==414); - case 415: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==415); - case 416: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==416); - case 417: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==417); - case 418: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==418); - case 419: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==419); - case 420: /* noarg_func ::= USER */ yytestcase(yyruleno==420); - case 421: /* star_func ::= COUNT */ yytestcase(yyruleno==421); - case 422: /* star_func ::= FIRST */ yytestcase(yyruleno==422); - case 423: /* star_func ::= LAST */ yytestcase(yyruleno==423); - case 424: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==424); -{ yylhsminor.yy225 = yymsp[0].minor.yy0; } - yymsp[0].minor.yy225 = yylhsminor.yy225; + case 364: /* db_name ::= NK_ID */ yytestcase(yyruleno==364); + case 365: /* table_name ::= NK_ID */ yytestcase(yyruleno==365); + case 366: /* column_name ::= NK_ID */ yytestcase(yyruleno==366); + case 367: /* function_name ::= NK_ID */ yytestcase(yyruleno==367); + case 368: /* table_alias ::= NK_ID */ yytestcase(yyruleno==368); + case 369: /* column_alias ::= NK_ID */ yytestcase(yyruleno==369); + case 370: /* user_name ::= NK_ID */ yytestcase(yyruleno==370); + case 371: /* topic_name ::= NK_ID */ yytestcase(yyruleno==371); + case 372: /* stream_name ::= NK_ID */ yytestcase(yyruleno==372); + case 373: /* cgroup_name ::= NK_ID */ yytestcase(yyruleno==373); + case 374: /* index_name ::= NK_ID */ yytestcase(yyruleno==374); + case 414: /* noarg_func ::= NOW */ yytestcase(yyruleno==414); + case 415: /* noarg_func ::= TODAY */ yytestcase(yyruleno==415); + case 416: /* noarg_func ::= TIMEZONE */ yytestcase(yyruleno==416); + case 417: /* noarg_func ::= DATABASE */ yytestcase(yyruleno==417); + case 418: /* noarg_func ::= CLIENT_VERSION */ yytestcase(yyruleno==418); + case 419: /* noarg_func ::= SERVER_VERSION */ yytestcase(yyruleno==419); + case 420: /* noarg_func ::= SERVER_STATUS */ yytestcase(yyruleno==420); + case 421: /* noarg_func ::= CURRENT_USER */ yytestcase(yyruleno==421); + case 422: /* noarg_func ::= USER */ yytestcase(yyruleno==422); + case 423: /* star_func ::= COUNT */ yytestcase(yyruleno==423); + case 424: /* star_func ::= FIRST */ yytestcase(yyruleno==424); + case 425: /* star_func ::= LAST */ yytestcase(yyruleno==425); + case 426: /* star_func ::= LAST_ROW */ yytestcase(yyruleno==426); +{ yylhsminor.yy881 = yymsp[0].minor.yy0; } + yymsp[0].minor.yy881 = yylhsminor.yy881; break; case 54: /* force_opt ::= */ case 74: /* not_exists_opt ::= */ yytestcase(yyruleno==74); case 76: /* exists_opt ::= */ yytestcase(yyruleno==76); case 294: /* analyze_opt ::= */ yytestcase(yyruleno==294); case 301: /* agg_func_opt ::= */ yytestcase(yyruleno==301); - case 485: /* set_quantifier_opt ::= */ yytestcase(yyruleno==485); -{ yymsp[1].minor.yy103 = false; } + case 487: /* set_quantifier_opt ::= */ yytestcase(yyruleno==487); +{ yymsp[1].minor.yy587 = false; } break; case 55: /* force_opt ::= FORCE */ case 295: /* analyze_opt ::= ANALYZE */ yytestcase(yyruleno==295); case 302: /* agg_func_opt ::= AGGREGATE */ yytestcase(yyruleno==302); - case 486: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==486); -{ yymsp[0].minor.yy103 = true; } + case 488: /* set_quantifier_opt ::= DISTINCT */ yytestcase(yyruleno==488); +{ yymsp[0].minor.yy587 = true; } break; case 56: /* cmd ::= ALTER LOCAL NK_STRING */ { pCxt->pRootNode = createAlterLocalStmt(pCxt, &yymsp[0].minor.yy0, NULL); } @@ -3916,209 +3992,209 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createDropComponentNodeStmt(pCxt, QUERY_NODE_DROP_MNODE_STMT, &yymsp[0].minor.yy0); } break; case 66: /* cmd ::= CREATE DATABASE not_exists_opt db_name db_options */ -{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy103, &yymsp[-1].minor.yy225, yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createCreateDatabaseStmt(pCxt, yymsp[-2].minor.yy587, &yymsp[-1].minor.yy881, yymsp[0].minor.yy140); } break; case 67: /* cmd ::= DROP DATABASE exists_opt db_name */ -{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy103, &yymsp[0].minor.yy225); } +{ pCxt->pRootNode = createDropDatabaseStmt(pCxt, yymsp[-1].minor.yy587, &yymsp[0].minor.yy881); } break; case 68: /* cmd ::= USE db_name */ -{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy225); } +{ pCxt->pRootNode = createUseDatabaseStmt(pCxt, &yymsp[0].minor.yy881); } break; case 69: /* cmd ::= ALTER DATABASE db_name alter_db_options */ -{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy225, yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createAlterDatabaseStmt(pCxt, &yymsp[-1].minor.yy881, yymsp[0].minor.yy140); } break; case 70: /* cmd ::= FLUSH DATABASE db_name */ -{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy225); } +{ pCxt->pRootNode = createFlushDatabaseStmt(pCxt, &yymsp[0].minor.yy881); } break; case 71: /* cmd ::= TRIM DATABASE db_name speed_opt */ -{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy225, yymsp[0].minor.yy508); } +{ pCxt->pRootNode = createTrimDatabaseStmt(pCxt, &yymsp[-1].minor.yy881, yymsp[0].minor.yy214); } break; case 72: /* cmd ::= COMPACT DATABASE db_name */ -{ pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[0].minor.yy225); } +{ pCxt->pRootNode = createCompactStmt(pCxt, &yymsp[0].minor.yy881); } break; case 73: /* not_exists_opt ::= IF NOT EXISTS */ -{ yymsp[-2].minor.yy103 = true; } +{ yymsp[-2].minor.yy587 = true; } break; case 75: /* exists_opt ::= IF EXISTS */ -{ yymsp[-1].minor.yy103 = true; } +{ yymsp[-1].minor.yy587 = true; } break; case 77: /* db_options ::= */ -{ yymsp[1].minor.yy42 = createDefaultDatabaseOptions(pCxt); } +{ yymsp[1].minor.yy140 = createDefaultDatabaseOptions(pCxt); } break; case 78: /* db_options ::= db_options BUFFER NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_BUFFER, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 79: /* db_options ::= db_options CACHEMODEL NK_STRING */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_CACHEMODEL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 80: /* db_options ::= db_options CACHESIZE NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_CACHESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 81: /* db_options ::= db_options COMP NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_COMP, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_COMP, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 82: /* db_options ::= db_options DURATION NK_INTEGER */ case 83: /* db_options ::= db_options DURATION NK_VARIABLE */ yytestcase(yyruleno==83); -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_DAYS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 84: /* db_options ::= db_options MAXROWS NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_MAXROWS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 85: /* db_options ::= db_options MINROWS NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_MINROWS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 86: /* db_options ::= db_options KEEP integer_list */ case 87: /* db_options ::= db_options KEEP variable_list */ yytestcase(yyruleno==87); -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_KEEP, yymsp[0].minor.yy110); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_KEEP, yymsp[0].minor.yy220); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 88: /* db_options ::= db_options PAGES NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_PAGES, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 89: /* db_options ::= db_options PAGESIZE NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_PAGESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 90: /* db_options ::= db_options TSDB_PAGESIZE NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_TSDB_PAGESIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 91: /* db_options ::= db_options PRECISION NK_STRING */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_PRECISION, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 92: /* db_options ::= db_options REPLICA NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_REPLICA, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 93: /* db_options ::= db_options VGROUPS NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_VGROUPS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 94: /* db_options ::= db_options SINGLE_STABLE NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_SINGLE_STABLE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 95: /* db_options ::= db_options RETENTIONS retention_list */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_RETENTIONS, yymsp[0].minor.yy110); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_RETENTIONS, yymsp[0].minor.yy220); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 96: /* db_options ::= db_options SCHEMALESS NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_SCHEMALESS, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 97: /* db_options ::= db_options WAL_LEVEL NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_WAL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_WAL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 98: /* db_options ::= db_options WAL_FSYNC_PERIOD NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_FSYNC, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 99: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_WAL_RETENTION_PERIOD, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 100: /* db_options ::= db_options WAL_RETENTION_PERIOD NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-3].minor.yy42, DB_OPTION_WAL_RETENTION_PERIOD, &t); + yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-3].minor.yy140, DB_OPTION_WAL_RETENTION_PERIOD, &t); } - yymsp[-3].minor.yy42 = yylhsminor.yy42; + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; case 101: /* db_options ::= db_options WAL_RETENTION_SIZE NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_WAL_RETENTION_SIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 102: /* db_options ::= db_options WAL_RETENTION_SIZE NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-3].minor.yy42, DB_OPTION_WAL_RETENTION_SIZE, &t); + yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-3].minor.yy140, DB_OPTION_WAL_RETENTION_SIZE, &t); } - yymsp[-3].minor.yy42 = yylhsminor.yy42; + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; case 103: /* db_options ::= db_options WAL_ROLL_PERIOD NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_WAL_ROLL_PERIOD, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 104: /* db_options ::= db_options WAL_SEGMENT_SIZE NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_WAL_SEGMENT_SIZE, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 105: /* db_options ::= db_options STT_TRIGGER NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_STT_TRIGGER, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 106: /* db_options ::= db_options TABLE_PREFIX NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_TABLE_PREFIX, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_TABLE_PREFIX, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 107: /* db_options ::= db_options TABLE_SUFFIX NK_INTEGER */ -{ yylhsminor.yy42 = setDatabaseOption(pCxt, yymsp[-2].minor.yy42, DB_OPTION_TABLE_SUFFIX, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setDatabaseOption(pCxt, yymsp[-2].minor.yy140, DB_OPTION_TABLE_SUFFIX, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 108: /* alter_db_options ::= alter_db_option */ -{ yylhsminor.yy42 = createAlterDatabaseOptions(pCxt); yylhsminor.yy42 = setAlterDatabaseOption(pCxt, yylhsminor.yy42, &yymsp[0].minor.yy459); } - yymsp[0].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createAlterDatabaseOptions(pCxt); yylhsminor.yy140 = setAlterDatabaseOption(pCxt, yylhsminor.yy140, &yymsp[0].minor.yy809); } + yymsp[0].minor.yy140 = yylhsminor.yy140; break; case 109: /* alter_db_options ::= alter_db_options alter_db_option */ -{ yylhsminor.yy42 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy42, &yymsp[0].minor.yy459); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setAlterDatabaseOption(pCxt, yymsp[-1].minor.yy140, &yymsp[0].minor.yy809); } + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; case 110: /* alter_db_option ::= BUFFER NK_INTEGER */ -{ yymsp[-1].minor.yy459.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy459.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy809.type = DB_OPTION_BUFFER; yymsp[-1].minor.yy809.val = yymsp[0].minor.yy0; } break; case 111: /* alter_db_option ::= CACHEMODEL NK_STRING */ -{ yymsp[-1].minor.yy459.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy459.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy809.type = DB_OPTION_CACHEMODEL; yymsp[-1].minor.yy809.val = yymsp[0].minor.yy0; } break; case 112: /* alter_db_option ::= CACHESIZE NK_INTEGER */ -{ yymsp[-1].minor.yy459.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy459.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy809.type = DB_OPTION_CACHESIZE; yymsp[-1].minor.yy809.val = yymsp[0].minor.yy0; } break; case 113: /* alter_db_option ::= WAL_FSYNC_PERIOD NK_INTEGER */ -{ yymsp[-1].minor.yy459.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy459.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy809.type = DB_OPTION_FSYNC; yymsp[-1].minor.yy809.val = yymsp[0].minor.yy0; } break; case 114: /* alter_db_option ::= KEEP integer_list */ case 115: /* alter_db_option ::= KEEP variable_list */ yytestcase(yyruleno==115); -{ yymsp[-1].minor.yy459.type = DB_OPTION_KEEP; yymsp[-1].minor.yy459.pList = yymsp[0].minor.yy110; } +{ yymsp[-1].minor.yy809.type = DB_OPTION_KEEP; yymsp[-1].minor.yy809.pList = yymsp[0].minor.yy220; } break; case 116: /* alter_db_option ::= PAGES NK_INTEGER */ -{ yymsp[-1].minor.yy459.type = DB_OPTION_PAGES; yymsp[-1].minor.yy459.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy809.type = DB_OPTION_PAGES; yymsp[-1].minor.yy809.val = yymsp[0].minor.yy0; } break; case 117: /* alter_db_option ::= REPLICA NK_INTEGER */ -{ yymsp[-1].minor.yy459.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy459.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy809.type = DB_OPTION_REPLICA; yymsp[-1].minor.yy809.val = yymsp[0].minor.yy0; } break; case 118: /* alter_db_option ::= WAL_LEVEL NK_INTEGER */ -{ yymsp[-1].minor.yy459.type = DB_OPTION_WAL; yymsp[-1].minor.yy459.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy809.type = DB_OPTION_WAL; yymsp[-1].minor.yy809.val = yymsp[0].minor.yy0; } break; case 119: /* alter_db_option ::= STT_TRIGGER NK_INTEGER */ -{ yymsp[-1].minor.yy459.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy459.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy809.type = DB_OPTION_STT_TRIGGER; yymsp[-1].minor.yy809.val = yymsp[0].minor.yy0; } break; case 120: /* integer_list ::= NK_INTEGER */ -{ yylhsminor.yy110 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy220 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy220 = yylhsminor.yy220; break; case 121: /* integer_list ::= integer_list NK_COMMA NK_INTEGER */ - case 331: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==331); -{ yylhsminor.yy110 = addNodeToList(pCxt, yymsp[-2].minor.yy110, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy110 = yylhsminor.yy110; + case 333: /* dnode_list ::= dnode_list DNODE NK_INTEGER */ yytestcase(yyruleno==333); +{ yylhsminor.yy220 = addNodeToList(pCxt, yymsp[-2].minor.yy220, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy220 = yylhsminor.yy220; break; case 122: /* variable_list ::= NK_VARIABLE */ -{ yylhsminor.yy110 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy220 = createNodeList(pCxt, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy220 = yylhsminor.yy220; break; case 123: /* variable_list ::= variable_list NK_COMMA NK_VARIABLE */ -{ yylhsminor.yy110 = addNodeToList(pCxt, yymsp[-2].minor.yy110, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy110 = yylhsminor.yy110; +{ yylhsminor.yy220 = addNodeToList(pCxt, yymsp[-2].minor.yy220, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy220 = yylhsminor.yy220; break; case 124: /* retention_list ::= retention */ case 146: /* multi_create_clause ::= create_subtable_clause */ yytestcase(yyruleno==146); @@ -4128,14 +4204,14 @@ static YYACTIONTYPE yy_reduce( case 205: /* col_name_list ::= col_name */ yytestcase(yyruleno==205); case 256: /* tag_list_opt ::= tag_item */ yytestcase(yyruleno==256); case 270: /* func_list ::= func */ yytestcase(yyruleno==270); - case 360: /* literal_list ::= signed_literal */ yytestcase(yyruleno==360); - case 427: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==427); - case 433: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==433); - case 488: /* select_list ::= select_item */ yytestcase(yyruleno==488); - case 499: /* partition_list ::= partition_item */ yytestcase(yyruleno==499); - case 554: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==554); -{ yylhsminor.yy110 = createNodeList(pCxt, yymsp[0].minor.yy42); } - yymsp[0].minor.yy110 = yylhsminor.yy110; + case 362: /* literal_list ::= signed_literal */ yytestcase(yyruleno==362); + case 429: /* other_para_list ::= star_func_para */ yytestcase(yyruleno==429); + case 435: /* when_then_list ::= when_then_expr */ yytestcase(yyruleno==435); + case 490: /* select_list ::= select_item */ yytestcase(yyruleno==490); + case 501: /* partition_list ::= partition_item */ yytestcase(yyruleno==501); + case 556: /* sort_specification_list ::= sort_specification */ yytestcase(yyruleno==556); +{ yylhsminor.yy220 = createNodeList(pCxt, yymsp[0].minor.yy140); } + yymsp[0].minor.yy220 = yylhsminor.yy220; break; case 125: /* retention_list ::= retention_list NK_COMMA retention */ case 150: /* multi_drop_clause ::= multi_drop_clause NK_COMMA drop_table_clause */ yytestcase(yyruleno==150); @@ -4144,276 +4220,276 @@ static YYACTIONTYPE yy_reduce( case 206: /* col_name_list ::= col_name_list NK_COMMA col_name */ yytestcase(yyruleno==206); case 257: /* tag_list_opt ::= tag_list_opt NK_COMMA tag_item */ yytestcase(yyruleno==257); case 271: /* func_list ::= func_list NK_COMMA func */ yytestcase(yyruleno==271); - case 361: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==361); - case 428: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==428); - case 489: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==489); - case 500: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==500); - case 555: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==555); -{ yylhsminor.yy110 = addNodeToList(pCxt, yymsp[-2].minor.yy110, yymsp[0].minor.yy42); } - yymsp[-2].minor.yy110 = yylhsminor.yy110; + case 363: /* literal_list ::= literal_list NK_COMMA signed_literal */ yytestcase(yyruleno==363); + case 430: /* other_para_list ::= other_para_list NK_COMMA star_func_para */ yytestcase(yyruleno==430); + case 491: /* select_list ::= select_list NK_COMMA select_item */ yytestcase(yyruleno==491); + case 502: /* partition_list ::= partition_list NK_COMMA partition_item */ yytestcase(yyruleno==502); + case 557: /* sort_specification_list ::= sort_specification_list NK_COMMA sort_specification */ yytestcase(yyruleno==557); +{ yylhsminor.yy220 = addNodeToList(pCxt, yymsp[-2].minor.yy220, yymsp[0].minor.yy140); } + yymsp[-2].minor.yy220 = yylhsminor.yy220; break; case 126: /* retention ::= NK_VARIABLE NK_COLON NK_VARIABLE */ -{ yylhsminor.yy42 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createNodeListNodeEx(pCxt, createDurationValueNode(pCxt, &yymsp[-2].minor.yy0), createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 127: /* speed_opt ::= */ case 303: /* bufsize_opt ::= */ yytestcase(yyruleno==303); -{ yymsp[1].minor.yy508 = 0; } +{ yymsp[1].minor.yy214 = 0; } break; case 128: /* speed_opt ::= MAX_SPEED NK_INTEGER */ case 304: /* bufsize_opt ::= BUFSIZE NK_INTEGER */ yytestcase(yyruleno==304); -{ yymsp[-1].minor.yy508 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } +{ yymsp[-1].minor.yy214 = taosStr2Int32(yymsp[0].minor.yy0.z, NULL, 10); } break; case 129: /* cmd ::= CREATE TABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def_opt table_options */ case 131: /* cmd ::= CREATE STABLE not_exists_opt full_table_name NK_LP column_def_list NK_RP tags_def table_options */ yytestcase(yyruleno==131); -{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy103, yymsp[-5].minor.yy42, yymsp[-3].minor.yy110, yymsp[-1].minor.yy110, yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createCreateTableStmt(pCxt, yymsp[-6].minor.yy587, yymsp[-5].minor.yy140, yymsp[-3].minor.yy220, yymsp[-1].minor.yy220, yymsp[0].minor.yy140); } break; case 130: /* cmd ::= CREATE TABLE multi_create_clause */ -{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy110); } +{ pCxt->pRootNode = createCreateMultiTableStmt(pCxt, yymsp[0].minor.yy220); } break; case 132: /* cmd ::= DROP TABLE multi_drop_clause */ -{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy110); } +{ pCxt->pRootNode = createDropTableStmt(pCxt, yymsp[0].minor.yy220); } break; case 133: /* cmd ::= DROP STABLE exists_opt full_table_name */ -{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy103, yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createDropSuperTableStmt(pCxt, yymsp[-1].minor.yy587, yymsp[0].minor.yy140); } break; case 134: /* cmd ::= ALTER TABLE alter_table_clause */ - case 333: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==333); - case 334: /* cmd ::= insert_query */ yytestcase(yyruleno==334); -{ pCxt->pRootNode = yymsp[0].minor.yy42; } + case 335: /* cmd ::= query_or_subquery */ yytestcase(yyruleno==335); + case 336: /* cmd ::= insert_query */ yytestcase(yyruleno==336); +{ pCxt->pRootNode = yymsp[0].minor.yy140; } break; case 135: /* cmd ::= ALTER STABLE alter_table_clause */ -{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy42); } +{ pCxt->pRootNode = setAlterSuperTableType(yymsp[0].minor.yy140); } break; case 136: /* alter_table_clause ::= full_table_name alter_table_options */ -{ yylhsminor.yy42 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy42, yymsp[0].minor.yy42); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createAlterTableModifyOptions(pCxt, yymsp[-1].minor.yy140, yymsp[0].minor.yy140); } + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; case 137: /* alter_table_clause ::= full_table_name ADD COLUMN column_name type_name */ -{ yylhsminor.yy42 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy42, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy225, yymsp[0].minor.yy448); } - yymsp[-4].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy140, TSDB_ALTER_TABLE_ADD_COLUMN, &yymsp[-1].minor.yy881, yymsp[0].minor.yy682); } + yymsp[-4].minor.yy140 = yylhsminor.yy140; break; case 138: /* alter_table_clause ::= full_table_name DROP COLUMN column_name */ -{ yylhsminor.yy42 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy42, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy225); } - yymsp[-3].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy140, TSDB_ALTER_TABLE_DROP_COLUMN, &yymsp[0].minor.yy881); } + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; case 139: /* alter_table_clause ::= full_table_name MODIFY COLUMN column_name type_name */ -{ yylhsminor.yy42 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy42, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy225, yymsp[0].minor.yy448); } - yymsp[-4].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy140, TSDB_ALTER_TABLE_UPDATE_COLUMN_BYTES, &yymsp[-1].minor.yy881, yymsp[0].minor.yy682); } + yymsp[-4].minor.yy140 = yylhsminor.yy140; break; case 140: /* alter_table_clause ::= full_table_name RENAME COLUMN column_name column_name */ -{ yylhsminor.yy42 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy42, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy225, &yymsp[0].minor.yy225); } - yymsp[-4].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy140, TSDB_ALTER_TABLE_UPDATE_COLUMN_NAME, &yymsp[-1].minor.yy881, &yymsp[0].minor.yy881); } + yymsp[-4].minor.yy140 = yylhsminor.yy140; break; case 141: /* alter_table_clause ::= full_table_name ADD TAG column_name type_name */ -{ yylhsminor.yy42 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy42, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy225, yymsp[0].minor.yy448); } - yymsp[-4].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy140, TSDB_ALTER_TABLE_ADD_TAG, &yymsp[-1].minor.yy881, yymsp[0].minor.yy682); } + yymsp[-4].minor.yy140 = yylhsminor.yy140; break; case 142: /* alter_table_clause ::= full_table_name DROP TAG column_name */ -{ yylhsminor.yy42 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy42, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy225); } - yymsp[-3].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createAlterTableDropCol(pCxt, yymsp[-3].minor.yy140, TSDB_ALTER_TABLE_DROP_TAG, &yymsp[0].minor.yy881); } + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; case 143: /* alter_table_clause ::= full_table_name MODIFY TAG column_name type_name */ -{ yylhsminor.yy42 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy42, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy225, yymsp[0].minor.yy448); } - yymsp[-4].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createAlterTableAddModifyCol(pCxt, yymsp[-4].minor.yy140, TSDB_ALTER_TABLE_UPDATE_TAG_BYTES, &yymsp[-1].minor.yy881, yymsp[0].minor.yy682); } + yymsp[-4].minor.yy140 = yylhsminor.yy140; break; case 144: /* alter_table_clause ::= full_table_name RENAME TAG column_name column_name */ -{ yylhsminor.yy42 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy42, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy225, &yymsp[0].minor.yy225); } - yymsp[-4].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createAlterTableRenameCol(pCxt, yymsp[-4].minor.yy140, TSDB_ALTER_TABLE_UPDATE_TAG_NAME, &yymsp[-1].minor.yy881, &yymsp[0].minor.yy881); } + yymsp[-4].minor.yy140 = yylhsminor.yy140; break; case 145: /* alter_table_clause ::= full_table_name SET TAG column_name NK_EQ signed_literal */ -{ yylhsminor.yy42 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy42, &yymsp[-2].minor.yy225, yymsp[0].minor.yy42); } - yymsp[-5].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createAlterTableSetTag(pCxt, yymsp[-5].minor.yy140, &yymsp[-2].minor.yy881, yymsp[0].minor.yy140); } + yymsp[-5].minor.yy140 = yylhsminor.yy140; break; case 147: /* multi_create_clause ::= multi_create_clause create_subtable_clause */ - case 434: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==434); -{ yylhsminor.yy110 = addNodeToList(pCxt, yymsp[-1].minor.yy110, yymsp[0].minor.yy42); } - yymsp[-1].minor.yy110 = yylhsminor.yy110; + case 436: /* when_then_list ::= when_then_list when_then_expr */ yytestcase(yyruleno==436); +{ yylhsminor.yy220 = addNodeToList(pCxt, yymsp[-1].minor.yy220, yymsp[0].minor.yy140); } + yymsp[-1].minor.yy220 = yylhsminor.yy220; break; case 148: /* create_subtable_clause ::= not_exists_opt full_table_name USING full_table_name specific_cols_opt TAGS NK_LP expression_list NK_RP table_options */ -{ yylhsminor.yy42 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy103, yymsp[-8].minor.yy42, yymsp[-6].minor.yy42, yymsp[-5].minor.yy110, yymsp[-2].minor.yy110, yymsp[0].minor.yy42); } - yymsp[-9].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createCreateSubTableClause(pCxt, yymsp[-9].minor.yy587, yymsp[-8].minor.yy140, yymsp[-6].minor.yy140, yymsp[-5].minor.yy220, yymsp[-2].minor.yy220, yymsp[0].minor.yy140); } + yymsp[-9].minor.yy140 = yylhsminor.yy140; break; case 151: /* drop_table_clause ::= exists_opt full_table_name */ -{ yylhsminor.yy42 = createDropTableClause(pCxt, yymsp[-1].minor.yy103, yymsp[0].minor.yy42); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createDropTableClause(pCxt, yymsp[-1].minor.yy587, yymsp[0].minor.yy140); } + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; case 152: /* specific_cols_opt ::= */ case 183: /* tags_def_opt ::= */ yytestcase(yyruleno==183); case 255: /* tag_list_opt ::= */ yytestcase(yyruleno==255); - case 307: /* col_list_opt ::= */ yytestcase(yyruleno==307); - case 309: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==309); - case 497: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==497); - case 522: /* group_by_clause_opt ::= */ yytestcase(yyruleno==522); - case 541: /* order_by_clause_opt ::= */ yytestcase(yyruleno==541); -{ yymsp[1].minor.yy110 = NULL; } + case 309: /* col_list_opt ::= */ yytestcase(yyruleno==309); + case 311: /* tag_def_or_ref_opt ::= */ yytestcase(yyruleno==311); + case 499: /* partition_by_clause_opt ::= */ yytestcase(yyruleno==499); + case 524: /* group_by_clause_opt ::= */ yytestcase(yyruleno==524); + case 543: /* order_by_clause_opt ::= */ yytestcase(yyruleno==543); +{ yymsp[1].minor.yy220 = NULL; } break; case 153: /* specific_cols_opt ::= NK_LP col_name_list NK_RP */ - case 308: /* col_list_opt ::= NK_LP col_name_list NK_RP */ yytestcase(yyruleno==308); -{ yymsp[-2].minor.yy110 = yymsp[-1].minor.yy110; } + case 310: /* col_list_opt ::= NK_LP col_name_list NK_RP */ yytestcase(yyruleno==310); +{ yymsp[-2].minor.yy220 = yymsp[-1].minor.yy220; } break; case 154: /* full_table_name ::= table_name */ -{ yylhsminor.yy42 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy225, NULL); } - yymsp[0].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createRealTableNode(pCxt, NULL, &yymsp[0].minor.yy881, NULL); } + yymsp[0].minor.yy140 = yylhsminor.yy140; break; case 155: /* full_table_name ::= db_name NK_DOT table_name */ -{ yylhsminor.yy42 = createRealTableNode(pCxt, &yymsp[-2].minor.yy225, &yymsp[0].minor.yy225, NULL); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createRealTableNode(pCxt, &yymsp[-2].minor.yy881, &yymsp[0].minor.yy881, NULL); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 158: /* column_def ::= column_name type_name */ -{ yylhsminor.yy42 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy225, yymsp[0].minor.yy448, NULL); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createColumnDefNode(pCxt, &yymsp[-1].minor.yy881, yymsp[0].minor.yy682, NULL); } + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; case 159: /* column_def ::= column_name type_name COMMENT NK_STRING */ -{ yylhsminor.yy42 = createColumnDefNode(pCxt, &yymsp[-3].minor.yy225, yymsp[-2].minor.yy448, &yymsp[0].minor.yy0); } - yymsp[-3].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createColumnDefNode(pCxt, &yymsp[-3].minor.yy881, yymsp[-2].minor.yy682, &yymsp[0].minor.yy0); } + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; case 160: /* type_name ::= BOOL */ -{ yymsp[0].minor.yy448 = createDataType(TSDB_DATA_TYPE_BOOL); } +{ yymsp[0].minor.yy682 = createDataType(TSDB_DATA_TYPE_BOOL); } break; case 161: /* type_name ::= TINYINT */ -{ yymsp[0].minor.yy448 = createDataType(TSDB_DATA_TYPE_TINYINT); } +{ yymsp[0].minor.yy682 = createDataType(TSDB_DATA_TYPE_TINYINT); } break; case 162: /* type_name ::= SMALLINT */ -{ yymsp[0].minor.yy448 = createDataType(TSDB_DATA_TYPE_SMALLINT); } +{ yymsp[0].minor.yy682 = createDataType(TSDB_DATA_TYPE_SMALLINT); } break; case 163: /* type_name ::= INT */ case 164: /* type_name ::= INTEGER */ yytestcase(yyruleno==164); -{ yymsp[0].minor.yy448 = createDataType(TSDB_DATA_TYPE_INT); } +{ yymsp[0].minor.yy682 = createDataType(TSDB_DATA_TYPE_INT); } break; case 165: /* type_name ::= BIGINT */ -{ yymsp[0].minor.yy448 = createDataType(TSDB_DATA_TYPE_BIGINT); } +{ yymsp[0].minor.yy682 = createDataType(TSDB_DATA_TYPE_BIGINT); } break; case 166: /* type_name ::= FLOAT */ -{ yymsp[0].minor.yy448 = createDataType(TSDB_DATA_TYPE_FLOAT); } +{ yymsp[0].minor.yy682 = createDataType(TSDB_DATA_TYPE_FLOAT); } break; case 167: /* type_name ::= DOUBLE */ -{ yymsp[0].minor.yy448 = createDataType(TSDB_DATA_TYPE_DOUBLE); } +{ yymsp[0].minor.yy682 = createDataType(TSDB_DATA_TYPE_DOUBLE); } break; case 168: /* type_name ::= BINARY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy448 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy682 = createVarLenDataType(TSDB_DATA_TYPE_BINARY, &yymsp[-1].minor.yy0); } break; case 169: /* type_name ::= TIMESTAMP */ -{ yymsp[0].minor.yy448 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } +{ yymsp[0].minor.yy682 = createDataType(TSDB_DATA_TYPE_TIMESTAMP); } break; case 170: /* type_name ::= NCHAR NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy448 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy682 = createVarLenDataType(TSDB_DATA_TYPE_NCHAR, &yymsp[-1].minor.yy0); } break; case 171: /* type_name ::= TINYINT UNSIGNED */ -{ yymsp[-1].minor.yy448 = createDataType(TSDB_DATA_TYPE_UTINYINT); } +{ yymsp[-1].minor.yy682 = createDataType(TSDB_DATA_TYPE_UTINYINT); } break; case 172: /* type_name ::= SMALLINT UNSIGNED */ -{ yymsp[-1].minor.yy448 = createDataType(TSDB_DATA_TYPE_USMALLINT); } +{ yymsp[-1].minor.yy682 = createDataType(TSDB_DATA_TYPE_USMALLINT); } break; case 173: /* type_name ::= INT UNSIGNED */ -{ yymsp[-1].minor.yy448 = createDataType(TSDB_DATA_TYPE_UINT); } +{ yymsp[-1].minor.yy682 = createDataType(TSDB_DATA_TYPE_UINT); } break; case 174: /* type_name ::= BIGINT UNSIGNED */ -{ yymsp[-1].minor.yy448 = createDataType(TSDB_DATA_TYPE_UBIGINT); } +{ yymsp[-1].minor.yy682 = createDataType(TSDB_DATA_TYPE_UBIGINT); } break; case 175: /* type_name ::= JSON */ -{ yymsp[0].minor.yy448 = createDataType(TSDB_DATA_TYPE_JSON); } +{ yymsp[0].minor.yy682 = createDataType(TSDB_DATA_TYPE_JSON); } break; case 176: /* type_name ::= VARCHAR NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy448 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy682 = createVarLenDataType(TSDB_DATA_TYPE_VARCHAR, &yymsp[-1].minor.yy0); } break; case 177: /* type_name ::= MEDIUMBLOB */ -{ yymsp[0].minor.yy448 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } +{ yymsp[0].minor.yy682 = createDataType(TSDB_DATA_TYPE_MEDIUMBLOB); } break; case 178: /* type_name ::= BLOB */ -{ yymsp[0].minor.yy448 = createDataType(TSDB_DATA_TYPE_BLOB); } +{ yymsp[0].minor.yy682 = createDataType(TSDB_DATA_TYPE_BLOB); } break; case 179: /* type_name ::= VARBINARY NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy448 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } +{ yymsp[-3].minor.yy682 = createVarLenDataType(TSDB_DATA_TYPE_VARBINARY, &yymsp[-1].minor.yy0); } break; case 180: /* type_name ::= DECIMAL */ -{ yymsp[0].minor.yy448 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +{ yymsp[0].minor.yy682 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; case 181: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_RP */ -{ yymsp[-3].minor.yy448 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +{ yymsp[-3].minor.yy682 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; case 182: /* type_name ::= DECIMAL NK_LP NK_INTEGER NK_COMMA NK_INTEGER NK_RP */ -{ yymsp[-5].minor.yy448 = createDataType(TSDB_DATA_TYPE_DECIMAL); } +{ yymsp[-5].minor.yy682 = createDataType(TSDB_DATA_TYPE_DECIMAL); } break; case 184: /* tags_def_opt ::= tags_def */ - case 310: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==310); - case 426: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==426); -{ yylhsminor.yy110 = yymsp[0].minor.yy110; } - yymsp[0].minor.yy110 = yylhsminor.yy110; + case 312: /* tag_def_or_ref_opt ::= tags_def */ yytestcase(yyruleno==312); + case 428: /* star_func_para_list ::= other_para_list */ yytestcase(yyruleno==428); +{ yylhsminor.yy220 = yymsp[0].minor.yy220; } + yymsp[0].minor.yy220 = yylhsminor.yy220; break; case 185: /* tags_def ::= TAGS NK_LP column_def_list NK_RP */ - case 311: /* tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ yytestcase(yyruleno==311); -{ yymsp[-3].minor.yy110 = yymsp[-1].minor.yy110; } + case 313: /* tag_def_or_ref_opt ::= TAGS NK_LP col_name_list NK_RP */ yytestcase(yyruleno==313); +{ yymsp[-3].minor.yy220 = yymsp[-1].minor.yy220; } break; case 186: /* table_options ::= */ -{ yymsp[1].minor.yy42 = createDefaultTableOptions(pCxt); } +{ yymsp[1].minor.yy140 = createDefaultTableOptions(pCxt); } break; case 187: /* table_options ::= table_options COMMENT NK_STRING */ -{ yylhsminor.yy42 = setTableOption(pCxt, yymsp[-2].minor.yy42, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setTableOption(pCxt, yymsp[-2].minor.yy140, TABLE_OPTION_COMMENT, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 188: /* table_options ::= table_options MAX_DELAY duration_list */ -{ yylhsminor.yy42 = setTableOption(pCxt, yymsp[-2].minor.yy42, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy110); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setTableOption(pCxt, yymsp[-2].minor.yy140, TABLE_OPTION_MAXDELAY, yymsp[0].minor.yy220); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 189: /* table_options ::= table_options WATERMARK duration_list */ -{ yylhsminor.yy42 = setTableOption(pCxt, yymsp[-2].minor.yy42, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy110); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setTableOption(pCxt, yymsp[-2].minor.yy140, TABLE_OPTION_WATERMARK, yymsp[0].minor.yy220); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 190: /* table_options ::= table_options ROLLUP NK_LP rollup_func_list NK_RP */ -{ yylhsminor.yy42 = setTableOption(pCxt, yymsp[-4].minor.yy42, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy110); } - yymsp[-4].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setTableOption(pCxt, yymsp[-4].minor.yy140, TABLE_OPTION_ROLLUP, yymsp[-1].minor.yy220); } + yymsp[-4].minor.yy140 = yylhsminor.yy140; break; case 191: /* table_options ::= table_options TTL NK_INTEGER */ -{ yylhsminor.yy42 = setTableOption(pCxt, yymsp[-2].minor.yy42, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setTableOption(pCxt, yymsp[-2].minor.yy140, TABLE_OPTION_TTL, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 192: /* table_options ::= table_options SMA NK_LP col_name_list NK_RP */ -{ yylhsminor.yy42 = setTableOption(pCxt, yymsp[-4].minor.yy42, TABLE_OPTION_SMA, yymsp[-1].minor.yy110); } - yymsp[-4].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setTableOption(pCxt, yymsp[-4].minor.yy140, TABLE_OPTION_SMA, yymsp[-1].minor.yy220); } + yymsp[-4].minor.yy140 = yylhsminor.yy140; break; case 193: /* table_options ::= table_options DELETE_MARK duration_list */ -{ yylhsminor.yy42 = setTableOption(pCxt, yymsp[-2].minor.yy42, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy110); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setTableOption(pCxt, yymsp[-2].minor.yy140, TABLE_OPTION_DELETE_MARK, yymsp[0].minor.yy220); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 194: /* alter_table_options ::= alter_table_option */ -{ yylhsminor.yy42 = createAlterTableOptions(pCxt); yylhsminor.yy42 = setTableOption(pCxt, yylhsminor.yy42, yymsp[0].minor.yy459.type, &yymsp[0].minor.yy459.val); } - yymsp[0].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createAlterTableOptions(pCxt); yylhsminor.yy140 = setTableOption(pCxt, yylhsminor.yy140, yymsp[0].minor.yy809.type, &yymsp[0].minor.yy809.val); } + yymsp[0].minor.yy140 = yylhsminor.yy140; break; case 195: /* alter_table_options ::= alter_table_options alter_table_option */ -{ yylhsminor.yy42 = setTableOption(pCxt, yymsp[-1].minor.yy42, yymsp[0].minor.yy459.type, &yymsp[0].minor.yy459.val); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setTableOption(pCxt, yymsp[-1].minor.yy140, yymsp[0].minor.yy809.type, &yymsp[0].minor.yy809.val); } + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; case 196: /* alter_table_option ::= COMMENT NK_STRING */ -{ yymsp[-1].minor.yy459.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy459.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy809.type = TABLE_OPTION_COMMENT; yymsp[-1].minor.yy809.val = yymsp[0].minor.yy0; } break; case 197: /* alter_table_option ::= TTL NK_INTEGER */ -{ yymsp[-1].minor.yy459.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy459.val = yymsp[0].minor.yy0; } +{ yymsp[-1].minor.yy809.type = TABLE_OPTION_TTL; yymsp[-1].minor.yy809.val = yymsp[0].minor.yy0; } break; case 198: /* duration_list ::= duration_literal */ - case 390: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==390); -{ yylhsminor.yy110 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy42)); } - yymsp[0].minor.yy110 = yylhsminor.yy110; + case 392: /* expression_list ::= expr_or_subquery */ yytestcase(yyruleno==392); +{ yylhsminor.yy220 = createNodeList(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy140)); } + yymsp[0].minor.yy220 = yylhsminor.yy220; break; case 199: /* duration_list ::= duration_list NK_COMMA duration_literal */ - case 391: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==391); -{ yylhsminor.yy110 = addNodeToList(pCxt, yymsp[-2].minor.yy110, releaseRawExprNode(pCxt, yymsp[0].minor.yy42)); } - yymsp[-2].minor.yy110 = yylhsminor.yy110; + case 393: /* expression_list ::= expression_list NK_COMMA expr_or_subquery */ yytestcase(yyruleno==393); +{ yylhsminor.yy220 = addNodeToList(pCxt, yymsp[-2].minor.yy220, releaseRawExprNode(pCxt, yymsp[0].minor.yy140)); } + yymsp[-2].minor.yy220 = yylhsminor.yy220; break; case 202: /* rollup_func_name ::= function_name */ -{ yylhsminor.yy42 = createFunctionNode(pCxt, &yymsp[0].minor.yy225, NULL); } - yymsp[0].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createFunctionNode(pCxt, &yymsp[0].minor.yy881, NULL); } + yymsp[0].minor.yy140 = yylhsminor.yy140; break; case 203: /* rollup_func_name ::= FIRST */ case 204: /* rollup_func_name ::= LAST */ yytestcase(yyruleno==204); case 259: /* tag_item ::= QTAGS */ yytestcase(yyruleno==259); -{ yylhsminor.yy42 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } - yymsp[0].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL); } + yymsp[0].minor.yy140 = yylhsminor.yy140; break; case 207: /* col_name ::= column_name */ case 260: /* tag_item ::= column_name */ yytestcase(yyruleno==260); -{ yylhsminor.yy42 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy225); } - yymsp[0].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy881); } + yymsp[0].minor.yy140 = yylhsminor.yy140; break; case 208: /* cmd ::= SHOW DNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DNODES_STMT); } @@ -4428,13 +4504,13 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_DATABASES_STMT); } break; case 212: /* cmd ::= SHOW db_name_cond_opt TABLES like_pattern_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TABLES_STMT, yymsp[-2].minor.yy42, yymsp[0].minor.yy42, OP_TYPE_LIKE); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TABLES_STMT, yymsp[-2].minor.yy140, yymsp[0].minor.yy140, OP_TYPE_LIKE); } break; case 213: /* cmd ::= SHOW db_name_cond_opt STABLES like_pattern_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy42, yymsp[0].minor.yy42, OP_TYPE_LIKE); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_STABLES_STMT, yymsp[-2].minor.yy140, yymsp[0].minor.yy140, OP_TYPE_LIKE); } break; case 214: /* cmd ::= SHOW db_name_cond_opt VGROUPS */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy42, NULL, OP_TYPE_LIKE); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_VGROUPS_STMT, yymsp[-1].minor.yy140, NULL, OP_TYPE_LIKE); } break; case 215: /* cmd ::= SHOW MNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_MNODES_STMT); } @@ -4446,7 +4522,7 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_FUNCTIONS_STMT); } break; case 218: /* cmd ::= SHOW INDEXES FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy42, yymsp[-1].minor.yy42, OP_TYPE_EQUAL); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_INDEXES_STMT, yymsp[0].minor.yy140, yymsp[-1].minor.yy140, OP_TYPE_EQUAL); } break; case 219: /* cmd ::= SHOW STREAMS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_STREAMS_STMT); } @@ -4465,13 +4541,13 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LICENCES_STMT); } break; case 225: /* cmd ::= SHOW CREATE DATABASE db_name */ -{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy225); } +{ pCxt->pRootNode = createShowCreateDatabaseStmt(pCxt, &yymsp[0].minor.yy881); } break; case 226: /* cmd ::= SHOW CREATE TABLE full_table_name */ -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_TABLE_STMT, yymsp[0].minor.yy140); } break; case 227: /* cmd ::= SHOW CREATE STABLE full_table_name */ -{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createShowCreateTableStmt(pCxt, QUERY_NODE_SHOW_CREATE_STABLE_STMT, yymsp[0].minor.yy140); } break; case 228: /* cmd ::= SHOW QUERIES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_QUERIES_STMT); } @@ -4490,7 +4566,7 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT); } break; case 234: /* cmd ::= SHOW DNODE NK_INTEGER VARIABLES like_pattern_opt */ -{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createShowDnodeVariablesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[-2].minor.yy0), yymsp[0].minor.yy140); } break; case 235: /* cmd ::= SHOW BNODES */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_BNODES_STMT); } @@ -4505,7 +4581,7 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_TRANSACTIONS_STMT); } break; case 239: /* cmd ::= SHOW TABLE DISTRIBUTED full_table_name */ -{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createShowTableDistributedStmt(pCxt, yymsp[0].minor.yy140); } break; case 240: /* cmd ::= SHOW CONSUMERS */ { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_CONSUMERS_STMT); } @@ -4514,10 +4590,10 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowStmt(pCxt, QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT); } break; case 242: /* cmd ::= SHOW TAGS FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy42, yymsp[-1].minor.yy42, OP_TYPE_EQUAL); } +{ pCxt->pRootNode = createShowStmtWithCond(pCxt, QUERY_NODE_SHOW_TAGS_STMT, yymsp[0].minor.yy140, yymsp[-1].minor.yy140, OP_TYPE_EQUAL); } break; case 243: /* cmd ::= SHOW TABLE TAGS tag_list_opt FROM table_name_cond from_db_opt */ -{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy42, yymsp[0].minor.yy42, yymsp[-3].minor.yy110); } +{ pCxt->pRootNode = createShowTableTagsStmt(pCxt, yymsp[-1].minor.yy140, yymsp[0].minor.yy140, yymsp[-3].minor.yy220); } break; case 244: /* cmd ::= SHOW VNODES NK_INTEGER */ { pCxt->pRootNode = createShowVnodesStmt(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0), NULL); } @@ -4526,767 +4602,773 @@ static YYACTIONTYPE yy_reduce( { pCxt->pRootNode = createShowVnodesStmt(pCxt, NULL, createValueNode(pCxt, TSDB_DATA_TYPE_VARCHAR, &yymsp[0].minor.yy0)); } break; case 246: /* cmd ::= SHOW db_name_cond_opt ALIVE */ -{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy42, QUERY_NODE_SHOW_DB_ALIVE_STMT); } +{ pCxt->pRootNode = createShowAliveStmt(pCxt, yymsp[-1].minor.yy140, QUERY_NODE_SHOW_DB_ALIVE_STMT); } break; case 247: /* cmd ::= SHOW CLUSTER ALIVE */ { pCxt->pRootNode = createShowAliveStmt(pCxt, NULL, QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT); } break; case 248: /* db_name_cond_opt ::= */ case 253: /* from_db_opt ::= */ yytestcase(yyruleno==253); -{ yymsp[1].minor.yy42 = createDefaultDatabaseCondValue(pCxt); } +{ yymsp[1].minor.yy140 = createDefaultDatabaseCondValue(pCxt); } break; case 249: /* db_name_cond_opt ::= db_name NK_DOT */ -{ yylhsminor.yy42 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy225); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createIdentifierValueNode(pCxt, &yymsp[-1].minor.yy881); } + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; case 250: /* like_pattern_opt ::= */ - case 321: /* subtable_opt ::= */ yytestcase(yyruleno==321); - case 436: /* case_when_else_opt ::= */ yytestcase(yyruleno==436); - case 466: /* from_clause_opt ::= */ yytestcase(yyruleno==466); - case 495: /* where_clause_opt ::= */ yytestcase(yyruleno==495); - case 504: /* twindow_clause_opt ::= */ yytestcase(yyruleno==504); - case 510: /* sliding_opt ::= */ yytestcase(yyruleno==510); - case 512: /* fill_opt ::= */ yytestcase(yyruleno==512); - case 526: /* having_clause_opt ::= */ yytestcase(yyruleno==526); - case 528: /* range_opt ::= */ yytestcase(yyruleno==528); - case 530: /* every_opt ::= */ yytestcase(yyruleno==530); - case 543: /* slimit_clause_opt ::= */ yytestcase(yyruleno==543); - case 547: /* limit_clause_opt ::= */ yytestcase(yyruleno==547); -{ yymsp[1].minor.yy42 = NULL; } + case 323: /* subtable_opt ::= */ yytestcase(yyruleno==323); + case 438: /* case_when_else_opt ::= */ yytestcase(yyruleno==438); + case 468: /* from_clause_opt ::= */ yytestcase(yyruleno==468); + case 497: /* where_clause_opt ::= */ yytestcase(yyruleno==497); + case 506: /* twindow_clause_opt ::= */ yytestcase(yyruleno==506); + case 512: /* sliding_opt ::= */ yytestcase(yyruleno==512); + case 514: /* fill_opt ::= */ yytestcase(yyruleno==514); + case 528: /* having_clause_opt ::= */ yytestcase(yyruleno==528); + case 530: /* range_opt ::= */ yytestcase(yyruleno==530); + case 532: /* every_opt ::= */ yytestcase(yyruleno==532); + case 545: /* slimit_clause_opt ::= */ yytestcase(yyruleno==545); + case 549: /* limit_clause_opt ::= */ yytestcase(yyruleno==549); +{ yymsp[1].minor.yy140 = NULL; } break; case 251: /* like_pattern_opt ::= LIKE NK_STRING */ -{ yymsp[-1].minor.yy42 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } +{ yymsp[-1].minor.yy140 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } break; case 252: /* table_name_cond ::= table_name */ -{ yylhsminor.yy42 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy225); } - yymsp[0].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy881); } + yymsp[0].minor.yy140 = yylhsminor.yy140; break; case 254: /* from_db_opt ::= FROM db_name */ -{ yymsp[-1].minor.yy42 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy225); } +{ yymsp[-1].minor.yy140 = createIdentifierValueNode(pCxt, &yymsp[0].minor.yy881); } break; case 258: /* tag_item ::= TBNAME */ -{ yylhsminor.yy42 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } - yymsp[0].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setProjectionAlias(pCxt, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL), &yymsp[0].minor.yy0); } + yymsp[0].minor.yy140 = yylhsminor.yy140; break; case 261: /* tag_item ::= column_name column_alias */ -{ yylhsminor.yy42 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy225), &yymsp[0].minor.yy225); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-1].minor.yy881), &yymsp[0].minor.yy881); } + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; case 262: /* tag_item ::= column_name AS column_alias */ -{ yylhsminor.yy42 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy225), &yymsp[0].minor.yy225); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setProjectionAlias(pCxt, createColumnNode(pCxt, NULL, &yymsp[-2].minor.yy881), &yymsp[0].minor.yy881); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 263: /* cmd ::= CREATE SMA INDEX not_exists_opt full_index_name ON full_table_name index_options */ -{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy103, yymsp[-3].minor.yy42, yymsp[-1].minor.yy42, NULL, yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_SMA, yymsp[-4].minor.yy587, yymsp[-3].minor.yy140, yymsp[-1].minor.yy140, NULL, yymsp[0].minor.yy140); } break; case 264: /* cmd ::= CREATE INDEX not_exists_opt full_index_name ON full_table_name NK_LP col_name_list NK_RP */ -{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_NORMAL, yymsp[-6].minor.yy103, yymsp[-5].minor.yy42, yymsp[-3].minor.yy42, yymsp[-1].minor.yy110, NULL); } +{ pCxt->pRootNode = createCreateIndexStmt(pCxt, INDEX_TYPE_NORMAL, yymsp[-6].minor.yy587, yymsp[-5].minor.yy140, yymsp[-3].minor.yy140, yymsp[-1].minor.yy220, NULL); } break; case 265: /* cmd ::= DROP INDEX exists_opt full_index_name */ -{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy103, yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createDropIndexStmt(pCxt, yymsp[-1].minor.yy587, yymsp[0].minor.yy140); } break; case 266: /* full_index_name ::= index_name */ -{ yylhsminor.yy42 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy225); } - yymsp[0].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createRealTableNodeForIndexName(pCxt, NULL, &yymsp[0].minor.yy881); } + yymsp[0].minor.yy140 = yylhsminor.yy140; break; case 267: /* full_index_name ::= db_name NK_DOT index_name */ -{ yylhsminor.yy42 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy225, &yymsp[0].minor.yy225); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createRealTableNodeForIndexName(pCxt, &yymsp[-2].minor.yy881, &yymsp[0].minor.yy881); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 268: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_RP sliding_opt sma_stream_opt */ -{ yymsp[-9].minor.yy42 = createIndexOption(pCxt, yymsp[-7].minor.yy110, releaseRawExprNode(pCxt, yymsp[-3].minor.yy42), NULL, yymsp[-1].minor.yy42, yymsp[0].minor.yy42); } +{ yymsp[-9].minor.yy140 = createIndexOption(pCxt, yymsp[-7].minor.yy220, releaseRawExprNode(pCxt, yymsp[-3].minor.yy140), NULL, yymsp[-1].minor.yy140, yymsp[0].minor.yy140); } break; case 269: /* index_options ::= FUNCTION NK_LP func_list NK_RP INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt sma_stream_opt */ -{ yymsp[-11].minor.yy42 = createIndexOption(pCxt, yymsp[-9].minor.yy110, releaseRawExprNode(pCxt, yymsp[-5].minor.yy42), releaseRawExprNode(pCxt, yymsp[-3].minor.yy42), yymsp[-1].minor.yy42, yymsp[0].minor.yy42); } +{ yymsp[-11].minor.yy140 = createIndexOption(pCxt, yymsp[-9].minor.yy220, releaseRawExprNode(pCxt, yymsp[-5].minor.yy140), releaseRawExprNode(pCxt, yymsp[-3].minor.yy140), yymsp[-1].minor.yy140, yymsp[0].minor.yy140); } break; case 272: /* func ::= sma_func_name NK_LP expression_list NK_RP */ -{ yylhsminor.yy42 = createFunctionNode(pCxt, &yymsp[-3].minor.yy225, yymsp[-1].minor.yy110); } - yymsp[-3].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = createFunctionNode(pCxt, &yymsp[-3].minor.yy881, yymsp[-1].minor.yy220); } + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; case 278: /* sma_stream_opt ::= */ - case 312: /* stream_options ::= */ yytestcase(yyruleno==312); -{ yymsp[1].minor.yy42 = createStreamOptions(pCxt); } + case 314: /* stream_options ::= */ yytestcase(yyruleno==314); +{ yymsp[1].minor.yy140 = createStreamOptions(pCxt); } break; case 279: /* sma_stream_opt ::= sma_stream_opt WATERMARK duration_literal */ - case 316: /* stream_options ::= stream_options WATERMARK duration_literal */ yytestcase(yyruleno==316); -{ ((SStreamOptions*)yymsp[-2].minor.yy42)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy42); yylhsminor.yy42 = yymsp[-2].minor.yy42; } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + case 318: /* stream_options ::= stream_options WATERMARK duration_literal */ yytestcase(yyruleno==318); +{ ((SStreamOptions*)yymsp[-2].minor.yy140)->pWatermark = releaseRawExprNode(pCxt, yymsp[0].minor.yy140); yylhsminor.yy140 = yymsp[-2].minor.yy140; } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 280: /* sma_stream_opt ::= sma_stream_opt MAX_DELAY duration_literal */ -{ ((SStreamOptions*)yymsp[-2].minor.yy42)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy42); yylhsminor.yy42 = yymsp[-2].minor.yy42; } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ ((SStreamOptions*)yymsp[-2].minor.yy140)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy140); yylhsminor.yy140 = yymsp[-2].minor.yy140; } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 281: /* sma_stream_opt ::= sma_stream_opt DELETE_MARK duration_literal */ - case 319: /* stream_options ::= stream_options DELETE_MARK duration_literal */ yytestcase(yyruleno==319); -{ ((SStreamOptions*)yymsp[-2].minor.yy42)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy42); yylhsminor.yy42 = yymsp[-2].minor.yy42; } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + case 321: /* stream_options ::= stream_options DELETE_MARK duration_literal */ yytestcase(yyruleno==321); +{ ((SStreamOptions*)yymsp[-2].minor.yy140)->pDeleteMark = releaseRawExprNode(pCxt, yymsp[0].minor.yy140); yylhsminor.yy140 = yymsp[-2].minor.yy140; } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 282: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS query_or_subquery */ -{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy103, &yymsp[-2].minor.yy225, yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createCreateTopicStmtUseQuery(pCxt, yymsp[-3].minor.yy587, &yymsp[-2].minor.yy881, yymsp[0].minor.yy140); } break; case 283: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS DATABASE db_name */ -{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy103, &yymsp[-3].minor.yy225, &yymsp[0].minor.yy225, false); } +{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-4].minor.yy587, &yymsp[-3].minor.yy881, &yymsp[0].minor.yy881, false); } break; case 284: /* cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS DATABASE db_name */ -{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-6].minor.yy103, &yymsp[-5].minor.yy225, &yymsp[0].minor.yy225, true); } +{ pCxt->pRootNode = createCreateTopicStmtUseDb(pCxt, yymsp[-6].minor.yy587, &yymsp[-5].minor.yy881, &yymsp[0].minor.yy881, true); } break; case 285: /* cmd ::= CREATE TOPIC not_exists_opt topic_name AS STABLE full_table_name */ -{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-4].minor.yy103, &yymsp[-3].minor.yy225, yymsp[0].minor.yy42, false); } +{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-4].minor.yy587, &yymsp[-3].minor.yy881, yymsp[0].minor.yy140, false); } break; case 286: /* cmd ::= CREATE TOPIC not_exists_opt topic_name WITH META AS STABLE full_table_name */ -{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-6].minor.yy103, &yymsp[-5].minor.yy225, yymsp[0].minor.yy42, true); } +{ pCxt->pRootNode = createCreateTopicStmtUseTable(pCxt, yymsp[-6].minor.yy587, &yymsp[-5].minor.yy881, yymsp[0].minor.yy140, true); } break; case 287: /* cmd ::= DROP TOPIC exists_opt topic_name */ -{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy103, &yymsp[0].minor.yy225); } +{ pCxt->pRootNode = createDropTopicStmt(pCxt, yymsp[-1].minor.yy587, &yymsp[0].minor.yy881); } break; case 288: /* cmd ::= DROP CONSUMER GROUP exists_opt cgroup_name ON topic_name */ -{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy103, &yymsp[-2].minor.yy225, &yymsp[0].minor.yy225); } +{ pCxt->pRootNode = createDropCGroupStmt(pCxt, yymsp[-3].minor.yy587, &yymsp[-2].minor.yy881, &yymsp[0].minor.yy881); } break; case 289: /* cmd ::= DESC full_table_name */ case 290: /* cmd ::= DESCRIBE full_table_name */ yytestcase(yyruleno==290); -{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createDescribeStmt(pCxt, yymsp[0].minor.yy140); } break; case 291: /* cmd ::= RESET QUERY CACHE */ { pCxt->pRootNode = createResetQueryCacheStmt(pCxt); } break; case 292: /* cmd ::= EXPLAIN analyze_opt explain_options query_or_subquery */ case 293: /* cmd ::= EXPLAIN analyze_opt explain_options insert_query */ yytestcase(yyruleno==293); -{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy103, yymsp[-1].minor.yy42, yymsp[0].minor.yy42); } +{ pCxt->pRootNode = createExplainStmt(pCxt, yymsp[-2].minor.yy587, yymsp[-1].minor.yy140, yymsp[0].minor.yy140); } break; case 296: /* explain_options ::= */ -{ yymsp[1].minor.yy42 = createDefaultExplainOptions(pCxt); } +{ yymsp[1].minor.yy140 = createDefaultExplainOptions(pCxt); } break; case 297: /* explain_options ::= explain_options VERBOSE NK_BOOL */ -{ yylhsminor.yy42 = setExplainVerbose(pCxt, yymsp[-2].minor.yy42, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setExplainVerbose(pCxt, yymsp[-2].minor.yy140, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; case 298: /* explain_options ::= explain_options RATIO NK_FLOAT */ -{ yylhsminor.yy42 = setExplainRatio(pCxt, yymsp[-2].minor.yy42, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; +{ yylhsminor.yy140 = setExplainRatio(pCxt, yymsp[-2].minor.yy140, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 299: /* cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt */ -{ pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-6].minor.yy103, yymsp[-8].minor.yy103, &yymsp[-5].minor.yy225, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy448, yymsp[0].minor.yy508); } + case 299: /* cmd ::= CREATE agg_func_opt FUNCTION not_exists_opt function_name AS NK_STRING OUTPUTTYPE type_name bufsize_opt language_opt */ +{ pCxt->pRootNode = createCreateFunctionStmt(pCxt, yymsp[-7].minor.yy587, yymsp[-9].minor.yy587, &yymsp[-6].minor.yy881, &yymsp[-4].minor.yy0, yymsp[-2].minor.yy682, yymsp[-1].minor.yy214, &yymsp[0].minor.yy881); } break; case 300: /* cmd ::= DROP FUNCTION exists_opt function_name */ -{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy103, &yymsp[0].minor.yy225); } +{ pCxt->pRootNode = createDropFunctionStmt(pCxt, yymsp[-1].minor.yy587, &yymsp[0].minor.yy881); } + break; + case 305: /* language_opt ::= */ +{ yymsp[1].minor.yy881 = nil_token; } + break; + case 306: /* language_opt ::= LANGUAGE NK_STRING */ +{ yymsp[-1].minor.yy881 = yymsp[0].minor.yy0; } break; - case 305: /* cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ -{ pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-9].minor.yy103, &yymsp[-8].minor.yy225, yymsp[-5].minor.yy42, yymsp[-7].minor.yy42, yymsp[-3].minor.yy110, yymsp[-2].minor.yy42, yymsp[0].minor.yy42, yymsp[-4].minor.yy110); } + case 307: /* cmd ::= CREATE STREAM not_exists_opt stream_name stream_options INTO full_table_name col_list_opt tag_def_or_ref_opt subtable_opt AS query_or_subquery */ +{ pCxt->pRootNode = createCreateStreamStmt(pCxt, yymsp[-9].minor.yy587, &yymsp[-8].minor.yy881, yymsp[-5].minor.yy140, yymsp[-7].minor.yy140, yymsp[-3].minor.yy220, yymsp[-2].minor.yy140, yymsp[0].minor.yy140, yymsp[-4].minor.yy220); } break; - case 306: /* cmd ::= DROP STREAM exists_opt stream_name */ -{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy103, &yymsp[0].minor.yy225); } + case 308: /* cmd ::= DROP STREAM exists_opt stream_name */ +{ pCxt->pRootNode = createDropStreamStmt(pCxt, yymsp[-1].minor.yy587, &yymsp[0].minor.yy881); } break; - case 313: /* stream_options ::= stream_options TRIGGER AT_ONCE */ -{ ((SStreamOptions*)yymsp[-2].minor.yy42)->triggerType = STREAM_TRIGGER_AT_ONCE; yylhsminor.yy42 = yymsp[-2].minor.yy42; } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + case 315: /* stream_options ::= stream_options TRIGGER AT_ONCE */ +{ ((SStreamOptions*)yymsp[-2].minor.yy140)->triggerType = STREAM_TRIGGER_AT_ONCE; yylhsminor.yy140 = yymsp[-2].minor.yy140; } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 314: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ -{ ((SStreamOptions*)yymsp[-2].minor.yy42)->triggerType = STREAM_TRIGGER_WINDOW_CLOSE; yylhsminor.yy42 = yymsp[-2].minor.yy42; } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + case 316: /* stream_options ::= stream_options TRIGGER WINDOW_CLOSE */ +{ ((SStreamOptions*)yymsp[-2].minor.yy140)->triggerType = STREAM_TRIGGER_WINDOW_CLOSE; yylhsminor.yy140 = yymsp[-2].minor.yy140; } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 315: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ -{ ((SStreamOptions*)yymsp[-3].minor.yy42)->triggerType = STREAM_TRIGGER_MAX_DELAY; ((SStreamOptions*)yymsp[-3].minor.yy42)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy42); yylhsminor.yy42 = yymsp[-3].minor.yy42; } - yymsp[-3].minor.yy42 = yylhsminor.yy42; + case 317: /* stream_options ::= stream_options TRIGGER MAX_DELAY duration_literal */ +{ ((SStreamOptions*)yymsp[-3].minor.yy140)->triggerType = STREAM_TRIGGER_MAX_DELAY; ((SStreamOptions*)yymsp[-3].minor.yy140)->pDelay = releaseRawExprNode(pCxt, yymsp[0].minor.yy140); yylhsminor.yy140 = yymsp[-3].minor.yy140; } + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; - case 317: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ -{ ((SStreamOptions*)yymsp[-3].minor.yy42)->ignoreExpired = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); yylhsminor.yy42 = yymsp[-3].minor.yy42; } - yymsp[-3].minor.yy42 = yylhsminor.yy42; + case 319: /* stream_options ::= stream_options IGNORE EXPIRED NK_INTEGER */ +{ ((SStreamOptions*)yymsp[-3].minor.yy140)->ignoreExpired = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); yylhsminor.yy140 = yymsp[-3].minor.yy140; } + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; - case 318: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ -{ ((SStreamOptions*)yymsp[-2].minor.yy42)->fillHistory = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); yylhsminor.yy42 = yymsp[-2].minor.yy42; } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + case 320: /* stream_options ::= stream_options FILL_HISTORY NK_INTEGER */ +{ ((SStreamOptions*)yymsp[-2].minor.yy140)->fillHistory = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); yylhsminor.yy140 = yymsp[-2].minor.yy140; } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 320: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ -{ ((SStreamOptions*)yymsp[-3].minor.yy42)->ignoreUpdate = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); yylhsminor.yy42 = yymsp[-3].minor.yy42; } - yymsp[-3].minor.yy42 = yylhsminor.yy42; + case 322: /* stream_options ::= stream_options IGNORE UPDATE NK_INTEGER */ +{ ((SStreamOptions*)yymsp[-3].minor.yy140)->ignoreUpdate = taosStr2Int8(yymsp[0].minor.yy0.z, NULL, 10); yylhsminor.yy140 = yymsp[-3].minor.yy140; } + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; - case 322: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ - case 511: /* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */ yytestcase(yyruleno==511); - case 531: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==531); -{ yymsp[-3].minor.yy42 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy42); } + case 324: /* subtable_opt ::= SUBTABLE NK_LP expression NK_RP */ + case 513: /* sliding_opt ::= SLIDING NK_LP duration_literal NK_RP */ yytestcase(yyruleno==513); + case 533: /* every_opt ::= EVERY NK_LP duration_literal NK_RP */ yytestcase(yyruleno==533); +{ yymsp[-3].minor.yy140 = releaseRawExprNode(pCxt, yymsp[-1].minor.yy140); } break; - case 323: /* cmd ::= KILL CONNECTION NK_INTEGER */ + case 325: /* cmd ::= KILL CONNECTION NK_INTEGER */ { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_CONNECTION_STMT, &yymsp[0].minor.yy0); } break; - case 324: /* cmd ::= KILL QUERY NK_STRING */ + case 326: /* cmd ::= KILL QUERY NK_STRING */ { pCxt->pRootNode = createKillQueryStmt(pCxt, &yymsp[0].minor.yy0); } break; - case 325: /* cmd ::= KILL TRANSACTION NK_INTEGER */ + case 327: /* cmd ::= KILL TRANSACTION NK_INTEGER */ { pCxt->pRootNode = createKillStmt(pCxt, QUERY_NODE_KILL_TRANSACTION_STMT, &yymsp[0].minor.yy0); } break; - case 326: /* cmd ::= BALANCE VGROUP */ + case 328: /* cmd ::= BALANCE VGROUP */ { pCxt->pRootNode = createBalanceVgroupStmt(pCxt); } break; - case 327: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ + case 329: /* cmd ::= MERGE VGROUP NK_INTEGER NK_INTEGER */ { pCxt->pRootNode = createMergeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0); } break; - case 328: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ -{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy110); } + case 330: /* cmd ::= REDISTRIBUTE VGROUP NK_INTEGER dnode_list */ +{ pCxt->pRootNode = createRedistributeVgroupStmt(pCxt, &yymsp[-1].minor.yy0, yymsp[0].minor.yy220); } break; - case 329: /* cmd ::= SPLIT VGROUP NK_INTEGER */ + case 331: /* cmd ::= SPLIT VGROUP NK_INTEGER */ { pCxt->pRootNode = createSplitVgroupStmt(pCxt, &yymsp[0].minor.yy0); } break; - case 330: /* dnode_list ::= DNODE NK_INTEGER */ -{ yymsp[-1].minor.yy110 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } - break; - case 332: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ -{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy42, yymsp[0].minor.yy42); } - break; - case 335: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ -{ yymsp[-6].minor.yy42 = createInsertStmt(pCxt, yymsp[-4].minor.yy42, yymsp[-2].minor.yy110, yymsp[0].minor.yy42); } - break; - case 336: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ -{ yymsp[-3].minor.yy42 = createInsertStmt(pCxt, yymsp[-1].minor.yy42, NULL, yymsp[0].minor.yy42); } - break; - case 337: /* literal ::= NK_INTEGER */ -{ yylhsminor.yy42 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 338: /* literal ::= NK_FLOAT */ -{ yylhsminor.yy42 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 339: /* literal ::= NK_STRING */ -{ yylhsminor.yy42 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 340: /* literal ::= NK_BOOL */ -{ yylhsminor.yy42 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 341: /* literal ::= TIMESTAMP NK_STRING */ -{ yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; - break; - case 342: /* literal ::= duration_literal */ - case 352: /* signed_literal ::= signed */ yytestcase(yyruleno==352); - case 373: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==373); - case 374: /* expression ::= literal */ yytestcase(yyruleno==374); - case 375: /* expression ::= pseudo_column */ yytestcase(yyruleno==375); - case 376: /* expression ::= column_reference */ yytestcase(yyruleno==376); - case 377: /* expression ::= function_expression */ yytestcase(yyruleno==377); - case 378: /* expression ::= case_when_expression */ yytestcase(yyruleno==378); - case 409: /* function_expression ::= literal_func */ yytestcase(yyruleno==409); - case 458: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==458); - case 462: /* boolean_primary ::= predicate */ yytestcase(yyruleno==462); - case 464: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==464); - case 465: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==465); - case 468: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==468); - case 470: /* table_reference ::= table_primary */ yytestcase(yyruleno==470); - case 471: /* table_reference ::= joined_table */ yytestcase(yyruleno==471); - case 475: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==475); - case 533: /* query_simple ::= query_specification */ yytestcase(yyruleno==533); - case 534: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==534); - case 537: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==537); - case 539: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==539); -{ yylhsminor.yy42 = yymsp[0].minor.yy42; } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 343: /* literal ::= NULL */ -{ yylhsminor.yy42 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 344: /* literal ::= NK_QUESTION */ -{ yylhsminor.yy42 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 345: /* duration_literal ::= NK_VARIABLE */ -{ yylhsminor.yy42 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 346: /* signed ::= NK_INTEGER */ -{ yylhsminor.yy42 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 347: /* signed ::= NK_PLUS NK_INTEGER */ -{ yymsp[-1].minor.yy42 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } - break; - case 348: /* signed ::= NK_MINUS NK_INTEGER */ + case 332: /* dnode_list ::= DNODE NK_INTEGER */ +{ yymsp[-1].minor.yy220 = createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &yymsp[0].minor.yy0)); } + break; + case 334: /* cmd ::= DELETE FROM full_table_name where_clause_opt */ +{ pCxt->pRootNode = createDeleteStmt(pCxt, yymsp[-1].minor.yy140, yymsp[0].minor.yy140); } + break; + case 337: /* insert_query ::= INSERT INTO full_table_name NK_LP col_name_list NK_RP query_or_subquery */ +{ yymsp[-6].minor.yy140 = createInsertStmt(pCxt, yymsp[-4].minor.yy140, yymsp[-2].minor.yy220, yymsp[0].minor.yy140); } + break; + case 338: /* insert_query ::= INSERT INTO full_table_name query_or_subquery */ +{ yymsp[-3].minor.yy140 = createInsertStmt(pCxt, yymsp[-1].minor.yy140, NULL, yymsp[0].minor.yy140); } + break; + case 339: /* literal ::= NK_INTEGER */ +{ yylhsminor.yy140 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 340: /* literal ::= NK_FLOAT */ +{ yylhsminor.yy140 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 341: /* literal ::= NK_STRING */ +{ yylhsminor.yy140 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 342: /* literal ::= NK_BOOL */ +{ yylhsminor.yy140 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 343: /* literal ::= TIMESTAMP NK_STRING */ +{ yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0)); } + yymsp[-1].minor.yy140 = yylhsminor.yy140; + break; + case 344: /* literal ::= duration_literal */ + case 354: /* signed_literal ::= signed */ yytestcase(yyruleno==354); + case 375: /* expr_or_subquery ::= expression */ yytestcase(yyruleno==375); + case 376: /* expression ::= literal */ yytestcase(yyruleno==376); + case 377: /* expression ::= pseudo_column */ yytestcase(yyruleno==377); + case 378: /* expression ::= column_reference */ yytestcase(yyruleno==378); + case 379: /* expression ::= function_expression */ yytestcase(yyruleno==379); + case 380: /* expression ::= case_when_expression */ yytestcase(yyruleno==380); + case 411: /* function_expression ::= literal_func */ yytestcase(yyruleno==411); + case 460: /* boolean_value_expression ::= boolean_primary */ yytestcase(yyruleno==460); + case 464: /* boolean_primary ::= predicate */ yytestcase(yyruleno==464); + case 466: /* common_expression ::= expr_or_subquery */ yytestcase(yyruleno==466); + case 467: /* common_expression ::= boolean_value_expression */ yytestcase(yyruleno==467); + case 470: /* table_reference_list ::= table_reference */ yytestcase(yyruleno==470); + case 472: /* table_reference ::= table_primary */ yytestcase(yyruleno==472); + case 473: /* table_reference ::= joined_table */ yytestcase(yyruleno==473); + case 477: /* table_primary ::= parenthesized_joined_table */ yytestcase(yyruleno==477); + case 535: /* query_simple ::= query_specification */ yytestcase(yyruleno==535); + case 536: /* query_simple ::= union_query_expression */ yytestcase(yyruleno==536); + case 539: /* query_simple_or_subquery ::= query_simple */ yytestcase(yyruleno==539); + case 541: /* query_or_subquery ::= query_expression */ yytestcase(yyruleno==541); +{ yylhsminor.yy140 = yymsp[0].minor.yy140; } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 345: /* literal ::= NULL */ +{ yylhsminor.yy140 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 346: /* literal ::= NK_QUESTION */ +{ yylhsminor.yy140 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 347: /* duration_literal ::= NK_VARIABLE */ +{ yylhsminor.yy140 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createDurationValueNode(pCxt, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 348: /* signed ::= NK_INTEGER */ +{ yylhsminor.yy140 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 349: /* signed ::= NK_PLUS NK_INTEGER */ +{ yymsp[-1].minor.yy140 = createValueNode(pCxt, TSDB_DATA_TYPE_UBIGINT, &yymsp[0].minor.yy0); } + break; + case 350: /* signed ::= NK_MINUS NK_INTEGER */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy42 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); + yylhsminor.yy140 = createValueNode(pCxt, TSDB_DATA_TYPE_BIGINT, &t); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; - case 349: /* signed ::= NK_FLOAT */ -{ yylhsminor.yy42 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy42 = yylhsminor.yy42; + case 351: /* signed ::= NK_FLOAT */ +{ yylhsminor.yy140 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy140 = yylhsminor.yy140; break; - case 350: /* signed ::= NK_PLUS NK_FLOAT */ -{ yymsp[-1].minor.yy42 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } + case 352: /* signed ::= NK_PLUS NK_FLOAT */ +{ yymsp[-1].minor.yy140 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &yymsp[0].minor.yy0); } break; - case 351: /* signed ::= NK_MINUS NK_FLOAT */ + case 353: /* signed ::= NK_MINUS NK_FLOAT */ { SToken t = yymsp[-1].minor.yy0; t.n = (yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n) - yymsp[-1].minor.yy0.z; - yylhsminor.yy42 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); + yylhsminor.yy140 = createValueNode(pCxt, TSDB_DATA_TYPE_DOUBLE, &t); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; - break; - case 353: /* signed_literal ::= NK_STRING */ -{ yylhsminor.yy42 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 354: /* signed_literal ::= NK_BOOL */ -{ yylhsminor.yy42 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 355: /* signed_literal ::= TIMESTAMP NK_STRING */ -{ yymsp[-1].minor.yy42 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } - break; - case 356: /* signed_literal ::= duration_literal */ - case 358: /* signed_literal ::= literal_func */ yytestcase(yyruleno==358); - case 429: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==429); - case 491: /* select_item ::= common_expression */ yytestcase(yyruleno==491); - case 501: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==501); - case 538: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==538); - case 540: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==540); - case 553: /* search_condition ::= common_expression */ yytestcase(yyruleno==553); -{ yylhsminor.yy42 = releaseRawExprNode(pCxt, yymsp[0].minor.yy42); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 357: /* signed_literal ::= NULL */ -{ yylhsminor.yy42 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 359: /* signed_literal ::= NK_QUESTION */ -{ yylhsminor.yy42 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 379: /* expression ::= NK_LP expression NK_RP */ - case 463: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==463); - case 552: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==552); -{ yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy42)); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; - break; - case 380: /* expression ::= NK_PLUS expr_or_subquery */ + yymsp[-1].minor.yy140 = yylhsminor.yy140; + break; + case 355: /* signed_literal ::= NK_STRING */ +{ yylhsminor.yy140 = createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 356: /* signed_literal ::= NK_BOOL */ +{ yylhsminor.yy140 = createValueNode(pCxt, TSDB_DATA_TYPE_BOOL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 357: /* signed_literal ::= TIMESTAMP NK_STRING */ +{ yymsp[-1].minor.yy140 = createValueNode(pCxt, TSDB_DATA_TYPE_TIMESTAMP, &yymsp[0].minor.yy0); } + break; + case 358: /* signed_literal ::= duration_literal */ + case 360: /* signed_literal ::= literal_func */ yytestcase(yyruleno==360); + case 431: /* star_func_para ::= expr_or_subquery */ yytestcase(yyruleno==431); + case 493: /* select_item ::= common_expression */ yytestcase(yyruleno==493); + case 503: /* partition_item ::= expr_or_subquery */ yytestcase(yyruleno==503); + case 540: /* query_simple_or_subquery ::= subquery */ yytestcase(yyruleno==540); + case 542: /* query_or_subquery ::= subquery */ yytestcase(yyruleno==542); + case 555: /* search_condition ::= common_expression */ yytestcase(yyruleno==555); +{ yylhsminor.yy140 = releaseRawExprNode(pCxt, yymsp[0].minor.yy140); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 359: /* signed_literal ::= NULL */ +{ yylhsminor.yy140 = createValueNode(pCxt, TSDB_DATA_TYPE_NULL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 361: /* signed_literal ::= NK_QUESTION */ +{ yylhsminor.yy140 = createPlaceholderValueNode(pCxt, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 381: /* expression ::= NK_LP expression NK_RP */ + case 465: /* boolean_primary ::= NK_LP boolean_value_expression NK_RP */ yytestcase(yyruleno==465); + case 554: /* subquery ::= NK_LP subquery NK_RP */ yytestcase(yyruleno==554); +{ yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, releaseRawExprNode(pCxt, yymsp[-1].minor.yy140)); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; + break; + case 382: /* expression ::= NK_PLUS expr_or_subquery */ { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy42)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, releaseRawExprNode(pCxt, yymsp[0].minor.yy140)); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; - case 381: /* expression ::= NK_MINUS expr_or_subquery */ + case 383: /* expression ::= NK_MINUS expr_or_subquery */ { - SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy42), NULL)); + SToken t = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &t, createOperatorNode(pCxt, OP_TYPE_MINUS, releaseRawExprNode(pCxt, yymsp[0].minor.yy140), NULL)); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; - case 382: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ + case 384: /* expression ::= expr_or_subquery NK_PLUS expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy42); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy140); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_ADD, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 383: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ + case 385: /* expression ::= expr_or_subquery NK_MINUS expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy42); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy140); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_SUB, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 384: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ + case 386: /* expression ::= expr_or_subquery NK_STAR expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy42); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy140); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_MULTI, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 385: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ + case 387: /* expression ::= expr_or_subquery NK_SLASH expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy42); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy140); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_DIV, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 386: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ + case 388: /* expression ::= expr_or_subquery NK_REM expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy42); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy140); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_REM, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 387: /* expression ::= column_reference NK_ARROW NK_STRING */ + case 389: /* expression ::= column_reference NK_ARROW NK_STRING */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_JSON_GET_VALUE, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[0].minor.yy0))); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 388: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ + case 390: /* expression ::= expr_or_subquery NK_BITAND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy42); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy140); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 389: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ + case 391: /* expression ::= expr_or_subquery NK_BITOR expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy42); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy140); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, OP_TYPE_BIT_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; - break; - case 392: /* column_reference ::= column_name */ -{ yylhsminor.yy42 = createRawExprNode(pCxt, &yymsp[0].minor.yy225, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy225)); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 393: /* column_reference ::= table_name NK_DOT column_name */ -{ yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy225, &yymsp[0].minor.yy225, createColumnNode(pCxt, &yymsp[-2].minor.yy225, &yymsp[0].minor.yy225)); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; - break; - case 394: /* pseudo_column ::= ROWTS */ - case 395: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==395); - case 397: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==397); - case 398: /* pseudo_column ::= QEND */ yytestcase(yyruleno==398); - case 399: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==399); - case 400: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==400); - case 401: /* pseudo_column ::= WEND */ yytestcase(yyruleno==401); - case 402: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==402); - case 403: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==403); - case 404: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==404); - case 405: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==405); - case 411: /* literal_func ::= NOW */ yytestcase(yyruleno==411); -{ yylhsminor.yy42 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } - yymsp[0].minor.yy42 = yylhsminor.yy42; - break; - case 396: /* pseudo_column ::= table_name NK_DOT TBNAME */ -{ yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy225, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy225)))); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; - break; - case 406: /* function_expression ::= function_name NK_LP expression_list NK_RP */ - case 407: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==407); -{ yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy225, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy225, yymsp[-1].minor.yy110)); } - yymsp[-3].minor.yy42 = yylhsminor.yy42; - break; - case 408: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ -{ yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy42), yymsp[-1].minor.yy448)); } - yymsp[-5].minor.yy42 = yylhsminor.yy42; - break; - case 410: /* literal_func ::= noarg_func NK_LP NK_RP */ -{ yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy225, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy225, NULL)); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; - break; - case 425: /* star_func_para_list ::= NK_STAR */ -{ yylhsminor.yy110 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } - yymsp[0].minor.yy110 = yylhsminor.yy110; - break; - case 430: /* star_func_para ::= table_name NK_DOT NK_STAR */ - case 494: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==494); -{ yylhsminor.yy42 = createColumnNode(pCxt, &yymsp[-2].minor.yy225, &yymsp[0].minor.yy0); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; - break; - case 431: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ -{ yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy110, yymsp[-1].minor.yy42)); } - yymsp[-3].minor.yy42 = yylhsminor.yy42; - break; - case 432: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ -{ yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy42), yymsp[-2].minor.yy110, yymsp[-1].minor.yy42)); } - yymsp[-4].minor.yy42 = yylhsminor.yy42; - break; - case 435: /* when_then_expr ::= WHEN common_expression THEN common_expression */ -{ yymsp[-3].minor.yy42 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42)); } - break; - case 437: /* case_when_else_opt ::= ELSE common_expression */ -{ yymsp[-1].minor.yy42 = releaseRawExprNode(pCxt, yymsp[0].minor.yy42); } - break; - case 438: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ - case 443: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==443); + yymsp[-2].minor.yy140 = yylhsminor.yy140; + break; + case 394: /* column_reference ::= column_name */ +{ yylhsminor.yy140 = createRawExprNode(pCxt, &yymsp[0].minor.yy881, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy881)); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 395: /* column_reference ::= table_name NK_DOT column_name */ +{ yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy881, &yymsp[0].minor.yy881, createColumnNode(pCxt, &yymsp[-2].minor.yy881, &yymsp[0].minor.yy881)); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; + break; + case 396: /* pseudo_column ::= ROWTS */ + case 397: /* pseudo_column ::= TBNAME */ yytestcase(yyruleno==397); + case 399: /* pseudo_column ::= QSTART */ yytestcase(yyruleno==399); + case 400: /* pseudo_column ::= QEND */ yytestcase(yyruleno==400); + case 401: /* pseudo_column ::= QDURATION */ yytestcase(yyruleno==401); + case 402: /* pseudo_column ::= WSTART */ yytestcase(yyruleno==402); + case 403: /* pseudo_column ::= WEND */ yytestcase(yyruleno==403); + case 404: /* pseudo_column ::= WDURATION */ yytestcase(yyruleno==404); + case 405: /* pseudo_column ::= IROWTS */ yytestcase(yyruleno==405); + case 406: /* pseudo_column ::= ISFILLED */ yytestcase(yyruleno==406); + case 407: /* pseudo_column ::= QTAGS */ yytestcase(yyruleno==407); + case 413: /* literal_func ::= NOW */ yytestcase(yyruleno==413); +{ yylhsminor.yy140 = createRawExprNode(pCxt, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, NULL)); } + yymsp[0].minor.yy140 = yylhsminor.yy140; + break; + case 398: /* pseudo_column ::= table_name NK_DOT TBNAME */ +{ yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy881, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[0].minor.yy0, createNodeList(pCxt, createValueNode(pCxt, TSDB_DATA_TYPE_BINARY, &yymsp[-2].minor.yy881)))); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; + break; + case 408: /* function_expression ::= function_name NK_LP expression_list NK_RP */ + case 409: /* function_expression ::= star_func NK_LP star_func_para_list NK_RP */ yytestcase(yyruleno==409); +{ yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy881, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-3].minor.yy881, yymsp[-1].minor.yy220)); } + yymsp[-3].minor.yy140 = yylhsminor.yy140; + break; + case 410: /* function_expression ::= CAST NK_LP expr_or_subquery AS type_name NK_RP */ +{ yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0, createCastFunctionNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy140), yymsp[-1].minor.yy682)); } + yymsp[-5].minor.yy140 = yylhsminor.yy140; + break; + case 412: /* literal_func ::= noarg_func NK_LP NK_RP */ +{ yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy881, &yymsp[0].minor.yy0, createFunctionNode(pCxt, &yymsp[-2].minor.yy881, NULL)); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; + break; + case 427: /* star_func_para_list ::= NK_STAR */ +{ yylhsminor.yy220 = createNodeList(pCxt, createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0)); } + yymsp[0].minor.yy220 = yylhsminor.yy220; + break; + case 432: /* star_func_para ::= table_name NK_DOT NK_STAR */ + case 496: /* select_item ::= table_name NK_DOT NK_STAR */ yytestcase(yyruleno==496); +{ yylhsminor.yy140 = createColumnNode(pCxt, &yymsp[-2].minor.yy881, &yymsp[0].minor.yy0); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; + break; + case 433: /* case_when_expression ::= CASE when_then_list case_when_else_opt END */ +{ yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, NULL, yymsp[-2].minor.yy220, yymsp[-1].minor.yy140)); } + yymsp[-3].minor.yy140 = yylhsminor.yy140; + break; + case 434: /* case_when_expression ::= CASE common_expression when_then_list case_when_else_opt END */ +{ yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0, createCaseWhenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy140), yymsp[-2].minor.yy220, yymsp[-1].minor.yy140)); } + yymsp[-4].minor.yy140 = yylhsminor.yy140; + break; + case 437: /* when_then_expr ::= WHEN common_expression THEN common_expression */ +{ yymsp[-3].minor.yy140 = createWhenThenNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140)); } + break; + case 439: /* case_when_else_opt ::= ELSE common_expression */ +{ yymsp[-1].minor.yy140 = releaseRawExprNode(pCxt, yymsp[0].minor.yy140); } + break; + case 440: /* predicate ::= expr_or_subquery compare_op expr_or_subquery */ + case 445: /* predicate ::= expr_or_subquery in_op in_predicate_value */ yytestcase(yyruleno==445); { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy42); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy2, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy140); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &e, createOperatorNode(pCxt, yymsp[-1].minor.yy794, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 439: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ + case 441: /* predicate ::= expr_or_subquery BETWEEN expr_or_subquery AND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy42); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy42), releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-4].minor.yy140); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &e, createBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-4].minor.yy140), releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } - yymsp[-4].minor.yy42 = yylhsminor.yy42; + yymsp[-4].minor.yy140 = yylhsminor.yy140; break; - case 440: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ + case 442: /* predicate ::= expr_or_subquery NOT BETWEEN expr_or_subquery AND expr_or_subquery */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy42); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy42), releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-5].minor.yy140); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &e, createNotBetweenAnd(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy140), releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } - yymsp[-5].minor.yy42 = yylhsminor.yy42; + yymsp[-5].minor.yy140 = yylhsminor.yy140; break; - case 441: /* predicate ::= expr_or_subquery IS NULL */ + case 443: /* predicate ::= expr_or_subquery IS NULL */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NULL, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), NULL)); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 442: /* predicate ::= expr_or_subquery IS NOT NULL */ + case 444: /* predicate ::= expr_or_subquery IS NOT NULL */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy42), NULL)); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-3].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &yymsp[0].minor.yy0, createOperatorNode(pCxt, OP_TYPE_IS_NOT_NULL, releaseRawExprNode(pCxt, yymsp[-3].minor.yy140), NULL)); } - yymsp[-3].minor.yy42 = yylhsminor.yy42; + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; - case 444: /* compare_op ::= NK_LT */ -{ yymsp[0].minor.yy2 = OP_TYPE_LOWER_THAN; } + case 446: /* compare_op ::= NK_LT */ +{ yymsp[0].minor.yy794 = OP_TYPE_LOWER_THAN; } break; - case 445: /* compare_op ::= NK_GT */ -{ yymsp[0].minor.yy2 = OP_TYPE_GREATER_THAN; } + case 447: /* compare_op ::= NK_GT */ +{ yymsp[0].minor.yy794 = OP_TYPE_GREATER_THAN; } break; - case 446: /* compare_op ::= NK_LE */ -{ yymsp[0].minor.yy2 = OP_TYPE_LOWER_EQUAL; } + case 448: /* compare_op ::= NK_LE */ +{ yymsp[0].minor.yy794 = OP_TYPE_LOWER_EQUAL; } break; - case 447: /* compare_op ::= NK_GE */ -{ yymsp[0].minor.yy2 = OP_TYPE_GREATER_EQUAL; } + case 449: /* compare_op ::= NK_GE */ +{ yymsp[0].minor.yy794 = OP_TYPE_GREATER_EQUAL; } break; - case 448: /* compare_op ::= NK_NE */ -{ yymsp[0].minor.yy2 = OP_TYPE_NOT_EQUAL; } + case 450: /* compare_op ::= NK_NE */ +{ yymsp[0].minor.yy794 = OP_TYPE_NOT_EQUAL; } break; - case 449: /* compare_op ::= NK_EQ */ -{ yymsp[0].minor.yy2 = OP_TYPE_EQUAL; } + case 451: /* compare_op ::= NK_EQ */ +{ yymsp[0].minor.yy794 = OP_TYPE_EQUAL; } break; - case 450: /* compare_op ::= LIKE */ -{ yymsp[0].minor.yy2 = OP_TYPE_LIKE; } + case 452: /* compare_op ::= LIKE */ +{ yymsp[0].minor.yy794 = OP_TYPE_LIKE; } break; - case 451: /* compare_op ::= NOT LIKE */ -{ yymsp[-1].minor.yy2 = OP_TYPE_NOT_LIKE; } + case 453: /* compare_op ::= NOT LIKE */ +{ yymsp[-1].minor.yy794 = OP_TYPE_NOT_LIKE; } break; - case 452: /* compare_op ::= MATCH */ -{ yymsp[0].minor.yy2 = OP_TYPE_MATCH; } + case 454: /* compare_op ::= MATCH */ +{ yymsp[0].minor.yy794 = OP_TYPE_MATCH; } break; - case 453: /* compare_op ::= NMATCH */ -{ yymsp[0].minor.yy2 = OP_TYPE_NMATCH; } + case 455: /* compare_op ::= NMATCH */ +{ yymsp[0].minor.yy794 = OP_TYPE_NMATCH; } break; - case 454: /* compare_op ::= CONTAINS */ -{ yymsp[0].minor.yy2 = OP_TYPE_JSON_CONTAINS; } + case 456: /* compare_op ::= CONTAINS */ +{ yymsp[0].minor.yy794 = OP_TYPE_JSON_CONTAINS; } break; - case 455: /* in_op ::= IN */ -{ yymsp[0].minor.yy2 = OP_TYPE_IN; } + case 457: /* in_op ::= IN */ +{ yymsp[0].minor.yy794 = OP_TYPE_IN; } break; - case 456: /* in_op ::= NOT IN */ -{ yymsp[-1].minor.yy2 = OP_TYPE_NOT_IN; } + case 458: /* in_op ::= NOT IN */ +{ yymsp[-1].minor.yy794 = OP_TYPE_NOT_IN; } break; - case 457: /* in_predicate_value ::= NK_LP literal_list NK_RP */ -{ yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy110)); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + case 459: /* in_predicate_value ::= NK_LP literal_list NK_RP */ +{ yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, createNodeListNode(pCxt, yymsp[-1].minor.yy220)); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 459: /* boolean_value_expression ::= NOT boolean_primary */ + case 461: /* boolean_value_expression ::= NOT boolean_primary */ { - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy42), NULL)); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-1].minor.yy0, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_NOT, releaseRawExprNode(pCxt, yymsp[0].minor.yy140), NULL)); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; - case 460: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ + case 462: /* boolean_value_expression ::= boolean_value_expression OR boolean_value_expression */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy42); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy140); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_OR, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 461: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ + case 463: /* boolean_value_expression ::= boolean_value_expression AND boolean_value_expression */ { - SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy42); - SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy42); - yylhsminor.yy42 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); + SToken s = getTokenFromRawExprNode(pCxt, yymsp[-2].minor.yy140); + SToken e = getTokenFromRawExprNode(pCxt, yymsp[0].minor.yy140); + yylhsminor.yy140 = createRawExprNodeExt(pCxt, &s, &e, createLogicConditionNode(pCxt, LOGIC_COND_TYPE_AND, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 467: /* from_clause_opt ::= FROM table_reference_list */ - case 496: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==496); - case 527: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==527); -{ yymsp[-1].minor.yy42 = yymsp[0].minor.yy42; } + case 469: /* from_clause_opt ::= FROM table_reference_list */ + case 498: /* where_clause_opt ::= WHERE search_condition */ yytestcase(yyruleno==498); + case 529: /* having_clause_opt ::= HAVING search_condition */ yytestcase(yyruleno==529); +{ yymsp[-1].minor.yy140 = yymsp[0].minor.yy140; } break; - case 469: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ -{ yylhsminor.yy42 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy42, yymsp[0].minor.yy42, NULL); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + case 471: /* table_reference_list ::= table_reference_list NK_COMMA table_reference */ +{ yylhsminor.yy140 = createJoinTableNode(pCxt, JOIN_TYPE_INNER, yymsp[-2].minor.yy140, yymsp[0].minor.yy140, NULL); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 472: /* table_primary ::= table_name alias_opt */ -{ yylhsminor.yy42 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy225, &yymsp[0].minor.yy225); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; + case 474: /* table_primary ::= table_name alias_opt */ +{ yylhsminor.yy140 = createRealTableNode(pCxt, NULL, &yymsp[-1].minor.yy881, &yymsp[0].minor.yy881); } + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; - case 473: /* table_primary ::= db_name NK_DOT table_name alias_opt */ -{ yylhsminor.yy42 = createRealTableNode(pCxt, &yymsp[-3].minor.yy225, &yymsp[-1].minor.yy225, &yymsp[0].minor.yy225); } - yymsp[-3].minor.yy42 = yylhsminor.yy42; + case 475: /* table_primary ::= db_name NK_DOT table_name alias_opt */ +{ yylhsminor.yy140 = createRealTableNode(pCxt, &yymsp[-3].minor.yy881, &yymsp[-1].minor.yy881, &yymsp[0].minor.yy881); } + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; - case 474: /* table_primary ::= subquery alias_opt */ -{ yylhsminor.yy42 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy42), &yymsp[0].minor.yy225); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; + case 476: /* table_primary ::= subquery alias_opt */ +{ yylhsminor.yy140 = createTempTableNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy140), &yymsp[0].minor.yy881); } + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; - case 476: /* alias_opt ::= */ -{ yymsp[1].minor.yy225 = nil_token; } + case 478: /* alias_opt ::= */ +{ yymsp[1].minor.yy881 = nil_token; } break; - case 478: /* alias_opt ::= AS table_alias */ -{ yymsp[-1].minor.yy225 = yymsp[0].minor.yy225; } + case 480: /* alias_opt ::= AS table_alias */ +{ yymsp[-1].minor.yy881 = yymsp[0].minor.yy881; } break; - case 479: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ - case 480: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==480); -{ yymsp[-2].minor.yy42 = yymsp[-1].minor.yy42; } + case 481: /* parenthesized_joined_table ::= NK_LP joined_table NK_RP */ + case 482: /* parenthesized_joined_table ::= NK_LP parenthesized_joined_table NK_RP */ yytestcase(yyruleno==482); +{ yymsp[-2].minor.yy140 = yymsp[-1].minor.yy140; } break; - case 481: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ -{ yylhsminor.yy42 = createJoinTableNode(pCxt, yymsp[-4].minor.yy638, yymsp[-5].minor.yy42, yymsp[-2].minor.yy42, yymsp[0].minor.yy42); } - yymsp[-5].minor.yy42 = yylhsminor.yy42; + case 483: /* joined_table ::= table_reference join_type JOIN table_reference ON search_condition */ +{ yylhsminor.yy140 = createJoinTableNode(pCxt, yymsp[-4].minor.yy852, yymsp[-5].minor.yy140, yymsp[-2].minor.yy140, yymsp[0].minor.yy140); } + yymsp[-5].minor.yy140 = yylhsminor.yy140; break; - case 482: /* join_type ::= */ -{ yymsp[1].minor.yy638 = JOIN_TYPE_INNER; } + case 484: /* join_type ::= */ +{ yymsp[1].minor.yy852 = JOIN_TYPE_INNER; } break; - case 483: /* join_type ::= INNER */ -{ yymsp[0].minor.yy638 = JOIN_TYPE_INNER; } + case 485: /* join_type ::= INNER */ +{ yymsp[0].minor.yy852 = JOIN_TYPE_INNER; } break; - case 484: /* query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ + case 486: /* query_specification ::= SELECT set_quantifier_opt select_list from_clause_opt where_clause_opt partition_by_clause_opt range_opt every_opt fill_opt twindow_clause_opt group_by_clause_opt having_clause_opt */ { - yymsp[-11].minor.yy42 = createSelectStmt(pCxt, yymsp[-10].minor.yy103, yymsp[-9].minor.yy110, yymsp[-8].minor.yy42); - yymsp[-11].minor.yy42 = addWhereClause(pCxt, yymsp[-11].minor.yy42, yymsp[-7].minor.yy42); - yymsp[-11].minor.yy42 = addPartitionByClause(pCxt, yymsp[-11].minor.yy42, yymsp[-6].minor.yy110); - yymsp[-11].minor.yy42 = addWindowClauseClause(pCxt, yymsp[-11].minor.yy42, yymsp[-2].minor.yy42); - yymsp[-11].minor.yy42 = addGroupByClause(pCxt, yymsp[-11].minor.yy42, yymsp[-1].minor.yy110); - yymsp[-11].minor.yy42 = addHavingClause(pCxt, yymsp[-11].minor.yy42, yymsp[0].minor.yy42); - yymsp[-11].minor.yy42 = addRangeClause(pCxt, yymsp[-11].minor.yy42, yymsp[-5].minor.yy42); - yymsp[-11].minor.yy42 = addEveryClause(pCxt, yymsp[-11].minor.yy42, yymsp[-4].minor.yy42); - yymsp[-11].minor.yy42 = addFillClause(pCxt, yymsp[-11].minor.yy42, yymsp[-3].minor.yy42); + yymsp[-11].minor.yy140 = createSelectStmt(pCxt, yymsp[-10].minor.yy587, yymsp[-9].minor.yy220, yymsp[-8].minor.yy140); + yymsp[-11].minor.yy140 = addWhereClause(pCxt, yymsp[-11].minor.yy140, yymsp[-7].minor.yy140); + yymsp[-11].minor.yy140 = addPartitionByClause(pCxt, yymsp[-11].minor.yy140, yymsp[-6].minor.yy220); + yymsp[-11].minor.yy140 = addWindowClauseClause(pCxt, yymsp[-11].minor.yy140, yymsp[-2].minor.yy140); + yymsp[-11].minor.yy140 = addGroupByClause(pCxt, yymsp[-11].minor.yy140, yymsp[-1].minor.yy220); + yymsp[-11].minor.yy140 = addHavingClause(pCxt, yymsp[-11].minor.yy140, yymsp[0].minor.yy140); + yymsp[-11].minor.yy140 = addRangeClause(pCxt, yymsp[-11].minor.yy140, yymsp[-5].minor.yy140); + yymsp[-11].minor.yy140 = addEveryClause(pCxt, yymsp[-11].minor.yy140, yymsp[-4].minor.yy140); + yymsp[-11].minor.yy140 = addFillClause(pCxt, yymsp[-11].minor.yy140, yymsp[-3].minor.yy140); } break; - case 487: /* set_quantifier_opt ::= ALL */ -{ yymsp[0].minor.yy103 = false; } + case 489: /* set_quantifier_opt ::= ALL */ +{ yymsp[0].minor.yy587 = false; } break; - case 490: /* select_item ::= NK_STAR */ -{ yylhsminor.yy42 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy42 = yylhsminor.yy42; + case 492: /* select_item ::= NK_STAR */ +{ yylhsminor.yy140 = createColumnNode(pCxt, NULL, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy140 = yylhsminor.yy140; break; - case 492: /* select_item ::= common_expression column_alias */ - case 502: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==502); -{ yylhsminor.yy42 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy42), &yymsp[0].minor.yy225); } - yymsp[-1].minor.yy42 = yylhsminor.yy42; + case 494: /* select_item ::= common_expression column_alias */ + case 504: /* partition_item ::= expr_or_subquery column_alias */ yytestcase(yyruleno==504); +{ yylhsminor.yy140 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy140), &yymsp[0].minor.yy881); } + yymsp[-1].minor.yy140 = yylhsminor.yy140; break; - case 493: /* select_item ::= common_expression AS column_alias */ - case 503: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==503); -{ yylhsminor.yy42 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), &yymsp[0].minor.yy225); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + case 495: /* select_item ::= common_expression AS column_alias */ + case 505: /* partition_item ::= expr_or_subquery AS column_alias */ yytestcase(yyruleno==505); +{ yylhsminor.yy140 = setProjectionAlias(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), &yymsp[0].minor.yy881); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 498: /* partition_by_clause_opt ::= PARTITION BY partition_list */ - case 523: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==523); - case 542: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==542); -{ yymsp[-2].minor.yy110 = yymsp[0].minor.yy110; } + case 500: /* partition_by_clause_opt ::= PARTITION BY partition_list */ + case 525: /* group_by_clause_opt ::= GROUP BY group_by_list */ yytestcase(yyruleno==525); + case 544: /* order_by_clause_opt ::= ORDER BY sort_specification_list */ yytestcase(yyruleno==544); +{ yymsp[-2].minor.yy220 = yymsp[0].minor.yy220; } break; - case 505: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */ -{ yymsp[-5].minor.yy42 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy42), releaseRawExprNode(pCxt, yymsp[-1].minor.yy42)); } + case 507: /* twindow_clause_opt ::= SESSION NK_LP column_reference NK_COMMA duration_literal NK_RP */ +{ yymsp[-5].minor.yy140 = createSessionWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy140), releaseRawExprNode(pCxt, yymsp[-1].minor.yy140)); } break; - case 506: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ -{ yymsp[-3].minor.yy42 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy42)); } + case 508: /* twindow_clause_opt ::= STATE_WINDOW NK_LP expr_or_subquery NK_RP */ +{ yymsp[-3].minor.yy140 = createStateWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-1].minor.yy140)); } break; - case 507: /* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */ -{ yymsp[-5].minor.yy42 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy42), NULL, yymsp[-1].minor.yy42, yymsp[0].minor.yy42); } + case 509: /* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_RP sliding_opt fill_opt */ +{ yymsp[-5].minor.yy140 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy140), NULL, yymsp[-1].minor.yy140, yymsp[0].minor.yy140); } break; - case 508: /* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */ -{ yymsp[-7].minor.yy42 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy42), releaseRawExprNode(pCxt, yymsp[-3].minor.yy42), yymsp[-1].minor.yy42, yymsp[0].minor.yy42); } + case 510: /* twindow_clause_opt ::= INTERVAL NK_LP duration_literal NK_COMMA duration_literal NK_RP sliding_opt fill_opt */ +{ yymsp[-7].minor.yy140 = createIntervalWindowNode(pCxt, releaseRawExprNode(pCxt, yymsp[-5].minor.yy140), releaseRawExprNode(pCxt, yymsp[-3].minor.yy140), yymsp[-1].minor.yy140, yymsp[0].minor.yy140); } break; - case 509: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ -{ yymsp[-6].minor.yy42 = createEventWindowNode(pCxt, yymsp[-3].minor.yy42, yymsp[0].minor.yy42); } + case 511: /* twindow_clause_opt ::= EVENT_WINDOW START WITH search_condition END WITH search_condition */ +{ yymsp[-6].minor.yy140 = createEventWindowNode(pCxt, yymsp[-3].minor.yy140, yymsp[0].minor.yy140); } break; - case 513: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ -{ yymsp[-3].minor.yy42 = createFillNode(pCxt, yymsp[-1].minor.yy410, NULL); } + case 515: /* fill_opt ::= FILL NK_LP fill_mode NK_RP */ +{ yymsp[-3].minor.yy140 = createFillNode(pCxt, yymsp[-1].minor.yy174, NULL); } break; - case 514: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */ -{ yymsp[-5].minor.yy42 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy110)); } + case 516: /* fill_opt ::= FILL NK_LP VALUE NK_COMMA literal_list NK_RP */ +{ yymsp[-5].minor.yy140 = createFillNode(pCxt, FILL_MODE_VALUE, createNodeListNode(pCxt, yymsp[-1].minor.yy220)); } break; - case 515: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA literal_list NK_RP */ -{ yymsp[-5].minor.yy42 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy110)); } + case 517: /* fill_opt ::= FILL NK_LP VALUE_F NK_COMMA literal_list NK_RP */ +{ yymsp[-5].minor.yy140 = createFillNode(pCxt, FILL_MODE_VALUE_F, createNodeListNode(pCxt, yymsp[-1].minor.yy220)); } break; - case 516: /* fill_mode ::= NONE */ -{ yymsp[0].minor.yy410 = FILL_MODE_NONE; } + case 518: /* fill_mode ::= NONE */ +{ yymsp[0].minor.yy174 = FILL_MODE_NONE; } break; - case 517: /* fill_mode ::= PREV */ -{ yymsp[0].minor.yy410 = FILL_MODE_PREV; } + case 519: /* fill_mode ::= PREV */ +{ yymsp[0].minor.yy174 = FILL_MODE_PREV; } break; - case 518: /* fill_mode ::= NULL */ -{ yymsp[0].minor.yy410 = FILL_MODE_NULL; } + case 520: /* fill_mode ::= NULL */ +{ yymsp[0].minor.yy174 = FILL_MODE_NULL; } break; - case 519: /* fill_mode ::= NULL_F */ -{ yymsp[0].minor.yy410 = FILL_MODE_NULL_F; } + case 521: /* fill_mode ::= NULL_F */ +{ yymsp[0].minor.yy174 = FILL_MODE_NULL_F; } break; - case 520: /* fill_mode ::= LINEAR */ -{ yymsp[0].minor.yy410 = FILL_MODE_LINEAR; } + case 522: /* fill_mode ::= LINEAR */ +{ yymsp[0].minor.yy174 = FILL_MODE_LINEAR; } break; - case 521: /* fill_mode ::= NEXT */ -{ yymsp[0].minor.yy410 = FILL_MODE_NEXT; } + case 523: /* fill_mode ::= NEXT */ +{ yymsp[0].minor.yy174 = FILL_MODE_NEXT; } break; - case 524: /* group_by_list ::= expr_or_subquery */ -{ yylhsminor.yy110 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); } - yymsp[0].minor.yy110 = yylhsminor.yy110; + case 526: /* group_by_list ::= expr_or_subquery */ +{ yylhsminor.yy220 = createNodeList(pCxt, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } + yymsp[0].minor.yy220 = yylhsminor.yy220; break; - case 525: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ -{ yylhsminor.yy110 = addNodeToList(pCxt, yymsp[-2].minor.yy110, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy42))); } - yymsp[-2].minor.yy110 = yylhsminor.yy110; + case 527: /* group_by_list ::= group_by_list NK_COMMA expr_or_subquery */ +{ yylhsminor.yy220 = addNodeToList(pCxt, yymsp[-2].minor.yy220, createGroupingSetNode(pCxt, releaseRawExprNode(pCxt, yymsp[0].minor.yy140))); } + yymsp[-2].minor.yy220 = yylhsminor.yy220; break; - case 529: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ -{ yymsp[-5].minor.yy42 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy42), releaseRawExprNode(pCxt, yymsp[-1].minor.yy42)); } + case 531: /* range_opt ::= RANGE NK_LP expr_or_subquery NK_COMMA expr_or_subquery NK_RP */ +{ yymsp[-5].minor.yy140 = createInterpTimeRange(pCxt, releaseRawExprNode(pCxt, yymsp[-3].minor.yy140), releaseRawExprNode(pCxt, yymsp[-1].minor.yy140)); } break; - case 532: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ + case 534: /* query_expression ::= query_simple order_by_clause_opt slimit_clause_opt limit_clause_opt */ { - yylhsminor.yy42 = addOrderByClause(pCxt, yymsp[-3].minor.yy42, yymsp[-2].minor.yy110); - yylhsminor.yy42 = addSlimitClause(pCxt, yylhsminor.yy42, yymsp[-1].minor.yy42); - yylhsminor.yy42 = addLimitClause(pCxt, yylhsminor.yy42, yymsp[0].minor.yy42); + yylhsminor.yy140 = addOrderByClause(pCxt, yymsp[-3].minor.yy140, yymsp[-2].minor.yy220); + yylhsminor.yy140 = addSlimitClause(pCxt, yylhsminor.yy140, yymsp[-1].minor.yy140); + yylhsminor.yy140 = addLimitClause(pCxt, yylhsminor.yy140, yymsp[0].minor.yy140); } - yymsp[-3].minor.yy42 = yylhsminor.yy42; + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; - case 535: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ -{ yylhsminor.yy42 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy42, yymsp[0].minor.yy42); } - yymsp[-3].minor.yy42 = yylhsminor.yy42; + case 537: /* union_query_expression ::= query_simple_or_subquery UNION ALL query_simple_or_subquery */ +{ yylhsminor.yy140 = createSetOperator(pCxt, SET_OP_TYPE_UNION_ALL, yymsp[-3].minor.yy140, yymsp[0].minor.yy140); } + yymsp[-3].minor.yy140 = yylhsminor.yy140; break; - case 536: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ -{ yylhsminor.yy42 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy42, yymsp[0].minor.yy42); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + case 538: /* union_query_expression ::= query_simple_or_subquery UNION query_simple_or_subquery */ +{ yylhsminor.yy140 = createSetOperator(pCxt, SET_OP_TYPE_UNION, yymsp[-2].minor.yy140, yymsp[0].minor.yy140); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 544: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ - case 548: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==548); -{ yymsp[-1].minor.yy42 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } + case 546: /* slimit_clause_opt ::= SLIMIT NK_INTEGER */ + case 550: /* limit_clause_opt ::= LIMIT NK_INTEGER */ yytestcase(yyruleno==550); +{ yymsp[-1].minor.yy140 = createLimitNode(pCxt, &yymsp[0].minor.yy0, NULL); } break; - case 545: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ - case 549: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==549); -{ yymsp[-3].minor.yy42 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } + case 547: /* slimit_clause_opt ::= SLIMIT NK_INTEGER SOFFSET NK_INTEGER */ + case 551: /* limit_clause_opt ::= LIMIT NK_INTEGER OFFSET NK_INTEGER */ yytestcase(yyruleno==551); +{ yymsp[-3].minor.yy140 = createLimitNode(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0); } break; - case 546: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ - case 550: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==550); -{ yymsp[-3].minor.yy42 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } + case 548: /* slimit_clause_opt ::= SLIMIT NK_INTEGER NK_COMMA NK_INTEGER */ + case 552: /* limit_clause_opt ::= LIMIT NK_INTEGER NK_COMMA NK_INTEGER */ yytestcase(yyruleno==552); +{ yymsp[-3].minor.yy140 = createLimitNode(pCxt, &yymsp[0].minor.yy0, &yymsp[-2].minor.yy0); } break; - case 551: /* subquery ::= NK_LP query_expression NK_RP */ -{ yylhsminor.yy42 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy42); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + case 553: /* subquery ::= NK_LP query_expression NK_RP */ +{ yylhsminor.yy140 = createRawExprNodeExt(pCxt, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-1].minor.yy140); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 556: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ -{ yylhsminor.yy42 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy42), yymsp[-1].minor.yy106, yymsp[0].minor.yy599); } - yymsp[-2].minor.yy42 = yylhsminor.yy42; + case 558: /* sort_specification ::= expr_or_subquery ordering_specification_opt null_ordering_opt */ +{ yylhsminor.yy140 = createOrderByExprNode(pCxt, releaseRawExprNode(pCxt, yymsp[-2].minor.yy140), yymsp[-1].minor.yy866, yymsp[0].minor.yy697); } + yymsp[-2].minor.yy140 = yylhsminor.yy140; break; - case 557: /* ordering_specification_opt ::= */ -{ yymsp[1].minor.yy106 = ORDER_ASC; } + case 559: /* ordering_specification_opt ::= */ +{ yymsp[1].minor.yy866 = ORDER_ASC; } break; - case 558: /* ordering_specification_opt ::= ASC */ -{ yymsp[0].minor.yy106 = ORDER_ASC; } + case 560: /* ordering_specification_opt ::= ASC */ +{ yymsp[0].minor.yy866 = ORDER_ASC; } break; - case 559: /* ordering_specification_opt ::= DESC */ -{ yymsp[0].minor.yy106 = ORDER_DESC; } + case 561: /* ordering_specification_opt ::= DESC */ +{ yymsp[0].minor.yy866 = ORDER_DESC; } break; - case 560: /* null_ordering_opt ::= */ -{ yymsp[1].minor.yy599 = NULL_ORDER_DEFAULT; } + case 562: /* null_ordering_opt ::= */ +{ yymsp[1].minor.yy697 = NULL_ORDER_DEFAULT; } break; - case 561: /* null_ordering_opt ::= NULLS FIRST */ -{ yymsp[-1].minor.yy599 = NULL_ORDER_FIRST; } + case 563: /* null_ordering_opt ::= NULLS FIRST */ +{ yymsp[-1].minor.yy697 = NULL_ORDER_FIRST; } break; - case 562: /* null_ordering_opt ::= NULLS LAST */ -{ yymsp[-1].minor.yy599 = NULL_ORDER_LAST; } + case 564: /* null_ordering_opt ::= NULLS LAST */ +{ yymsp[-1].minor.yy697 = NULL_ORDER_LAST; } break; default: break; diff --git a/source/libs/parser/test/parInitialCTest.cpp b/source/libs/parser/test/parInitialCTest.cpp index 8ba5802ad69598313e9274e8856988ab703cf3ae..19ed7975d026f912e739a0a7c397d88b12f413fa 100644 --- a/source/libs/parser/test/parInitialCTest.cpp +++ b/source/libs/parser/test/parInitialCTest.cpp @@ -13,6 +13,8 @@ * along with this program. If not, see . */ +#include + #include "parTestUtil.h" using namespace std; @@ -381,7 +383,8 @@ TEST_F(ParserInitialCTest, createDnode) { } /* - * CREATE [AGGREGATE] FUNCTION [IF NOT EXISTS] func_name AS library_path OUTPUTTYPE type_name [BUFSIZE value] + * CREATE [AGGREGATE] FUNCTION [IF NOT EXISTS] func_name + * AS library_path OUTPUTTYPE type_name [BUFSIZE value] [LANGUAGE value] */ TEST_F(ParserInitialCTest, createFunction) { useDb("root", "test"); @@ -389,12 +392,13 @@ TEST_F(ParserInitialCTest, createFunction) { SCreateFuncReq expect = {0}; auto setCreateFuncReq = [&](const char* pUdfName, int8_t outputType, int32_t outputBytes = 0, - int8_t funcType = TSDB_FUNC_TYPE_SCALAR, int8_t igExists = 0, int32_t bufSize = 0) { + int8_t funcType = TSDB_FUNC_TYPE_SCALAR, int8_t igExists = 0, int32_t bufSize = 0, + int8_t language = TSDB_FUNC_SCRIPT_BIN_LIB) { memset(&expect, 0, sizeof(SCreateFuncReq)); strcpy(expect.name, pUdfName); expect.igExists = igExists; expect.funcType = funcType; - expect.scriptType = TSDB_FUNC_SCRIPT_BIN_LIB; + expect.scriptType = language; expect.outputType = outputType; expect.outputLen = outputBytes > 0 ? outputBytes : tDataTypes[outputType].bytes; expect.bufSize = bufSize; @@ -412,13 +416,25 @@ TEST_F(ParserInitialCTest, createFunction) { ASSERT_EQ(req.outputType, expect.outputType); ASSERT_EQ(req.outputLen, expect.outputLen); ASSERT_EQ(req.bufSize, expect.bufSize); + + tFreeSCreateFuncReq(&req); }); + struct udfFile { + udfFile(const std::string& filename) : path_(filename) { + std::ofstream file(filename, std::ios::binary); + file << 123 << "abc" << '\n'; + file.close(); + } + ~udfFile() { remove(path_.c_str()); } + std::string path_; + } udffile("udf"); + setCreateFuncReq("udf1", TSDB_DATA_TYPE_INT); - // run("CREATE FUNCTION udf1 AS './build/lib/libudf1.so' OUTPUTTYPE INT"); + run("CREATE FUNCTION udf1 AS 'udf' OUTPUTTYPE INT"); - setCreateFuncReq("udf2", TSDB_DATA_TYPE_DOUBLE, 0, TSDB_FUNC_TYPE_AGGREGATE, 1, 8); - // run("CREATE AGGREGATE FUNCTION IF NOT EXISTS udf2 AS './build/lib/libudf2.so' OUTPUTTYPE DOUBLE BUFSIZE 8"); + setCreateFuncReq("udf2", TSDB_DATA_TYPE_DOUBLE, 0, TSDB_FUNC_TYPE_AGGREGATE, 1, 8, TSDB_FUNC_SCRIPT_PYTHON); + run("CREATE AGGREGATE FUNCTION IF NOT EXISTS udf2 AS 'udf' OUTPUTTYPE DOUBLE BUFSIZE 8 LANGUAGE 'python'"); } /* diff --git a/tests/docs-examples-test/python.sh b/tests/docs-examples-test/python.sh index 31342b33d7a6a0038bb02c32e2ce99c788957792..a7501b54ed56b64121ee13913f8abd52bba9e381 100644 --- a/tests/docs-examples-test/python.sh +++ b/tests/docs-examples-test/python.sh @@ -85,3 +85,9 @@ python3 fast_write_example.py pip3 install kafka-python python3 kafka_example_consumer.py +# 21 +pip3 install taos-ws-py +python3 conn_websocket_pandas.py + +# 22 +python3 connect_websocket_examples.py diff --git a/tests/parallel_test/container_build.sh b/tests/parallel_test/container_build.sh index d0086c733e2e3fb7271aafe4f85f4826dcd69a9f..edb9b4ab3cae80af399f3ed3b22d4416bf1902d8 100755 --- a/tests/parallel_test/container_build.sh +++ b/tests/parallel_test/container_build.sh @@ -51,10 +51,24 @@ else REP_DIR=/home/TDinternal REP_REAL_PATH=$WORKDIR/TDinternal REP_MOUNT_PARAM=$REP_REAL_PATH:/home/TDinternal + fi date docker run \ -v $REP_MOUNT_PARAM \ + -v /root/.cargo/registry:/root/.cargo/registry \ + -v /root/.cargo/git:/root/.cargo/git \ + -v /root/go/pkg/mod:/root/go/pkg/mod \ + -v /root/.cache/go-build:/root/.cache/go-build \ + -v ${REP_REAL_PATH}/enterprise/src/plugins/taosx/target:${REP_DIR}/enterprise/src/plugins/taosx/target \ + -v ${REP_REAL_PATH}/community/tools/taosws-rs/target:${REP_DIR}/community/tools/taosws-rs/target \ + -v ${REP_REAL_PATH}/community/contrib/cJson/:${REP_DIR}/community/contrib/cJson \ + -v ${REP_REAL_PATH}/community/contrib/googletest/:${REP_DIR}/community/contrib/googletest \ + -v ${REP_REAL_PATH}/community/contrib/cpp-stub/:${REP_DIR}/community/contrib/cpp-stub \ + -v ${REP_REAL_PATH}/community/contrib/libuv/:${REP_DIR}/community/contrib/libuv \ + -v ${REP_REAL_PATH}/community/contrib/lz4/:${REP_DIR}/community/contrib/lz4 \ + -v ${REP_REAL_PATH}/community/contrib/zlib/:${REP_DIR}/community/contrib/zlib \ + -v ${REP_REAL_PATH}/community/contrib/jemalloc/:${REP_DIR}/community/contrib/jemalloc \ --rm --ulimit core=-1 taos_test:v1.0 sh -c "pip uninstall taospy -y;pip3 install taospy==2.7.2;cd $REP_DIR;rm -rf debug;mkdir -p debug;cd debug;cmake .. -DBUILD_HTTP=false -DBUILD_TOOLS=true -DBUILD_TEST=true -DWEBSOCKET=true -DBUILD_TAOSX=true;make -j || exit 1" if [[ -d ${WORKDIR}/debugNoSan ]] ;then @@ -70,6 +84,19 @@ mv ${REP_REAL_PATH}/debug ${WORKDIR}/debugNoSan date docker run \ -v $REP_MOUNT_PARAM \ + -v /root/.cargo/registry:/root/.cargo/registry \ + -v /root/.cargo/git:/root/.cargo/git \ + -v /root/go/pkg/mod:/root/go/pkg/mod \ + -v /root/.cache/go-build:/root/.cache/go-build \ + -v ${REP_REAL_PATH}/enterprise/src/plugins/taosx/target:${REP_DIR}/enterprise/src/plugins/taosx/target \ + -v ${REP_REAL_PATH}/community/tools/taosws-rs/target:${REP_DIR}/community/tools/taosws-rs/target \ + -v ${REP_REAL_PATH}/community/contrib/cJson/:${REP_DIR}/community/contrib/cJson \ + -v ${REP_REAL_PATH}/community/contrib/googletest/:${REP_DIR}/community/contrib/googletest \ + -v ${REP_REAL_PATH}/community/contrib/cpp-stub/:${REP_DIR}/community/contrib/cpp-stub \ + -v ${REP_REAL_PATH}/community/contrib/libuv/:${REP_DIR}/community/contrib/libuv \ + -v ${REP_REAL_PATH}/community/contrib/lz4/:${REP_DIR}/community/contrib/lz4 \ + -v ${REP_REAL_PATH}/community/contrib/zlib/:${REP_DIR}/community/contrib/zlib \ + -v ${REP_REAL_PATH}/community/contrib/jemalloc/:${REP_DIR}/community/contrib/jemalloc \ --rm --ulimit core=-1 taos_test:v1.0 sh -c "pip uninstall taospy -y;pip3 install taospy==2.7.2;cd $REP_DIR;rm -rf debug;mkdir -p debug;cd debug;cmake .. -DBUILD_HTTP=false -DBUILD_TOOLS=true -DBUILD_TEST=true -DWEBSOCKET=true -DBUILD_SANITIZER=1 -DTOOLS_SANITIZE=true -DTOOLS_BUILD_TYPE=Debug -DBUILD_TAOSX=true;make -j || exit 1 " mv ${REP_REAL_PATH}/debug ${WORKDIR}/debugSan