* [fix](fe) select stmt will make BE coredump when its castExpr is like cast(int as array<>)
* fix implicit cast scalar type bug
* Revert "fix implicit cast scalar type bug"
This reverts commit 1f05b6bab72430214dca88f386b50ef9a081e60a.
* only check array cast, retrigger
Add ntile function.
For non-vectorized-engine, I just implemented like Impala, rewrite ntile to row_number and count.
But for vectorized-engine, I implemented WindowFunctionNTile.
in concurrent stream load, fe will run publish version task concurrently,
which cause publish task disorder in be.
For example:
fe publish task with version 1 2 3 4
be may handle task with sequence 1 2 4 3
In case above, when report tablet info, be found that version 4
published but version 3 not visible, it'll report version miss to fe,
and fe will set replica lastFailedVersion, and finally makes transaction
commits fail while no quorum health replicas。
Add a time condition if a version miss for 60 seconds then report version miss.
Only support one level array now.
for example:
- nullable(array(nullable(tinyint))) is **support**.
- nullable(array(nullable(array(xx))) is **not support**.
In order to cooperate with Doris's successful graduation from Apache, the Doris official website also needs a new look
and more powerful feature, so we decided to redesign the Doris official website.
The code and documents of the new official website are included in this PR.
Since the new website is completely rewritten, the content and structure of the project are different from the previous one.
In particular, the directory structure of documents has changed, and the number of documents is large, so the number of
files in this PR is very large.
In the old website,all English documents are in the en/ directory, and Chinese documents in the zh-CN/ directory,
but in the new website,the documents are split into multiple directories according to the nav.
The document's directory structure changes as follows:
```
docs (old website)
| |—— .vuepress (library)
| |—— en
| | |—— admin-manual
│ │ |—— advanced
| | |—— article
| | |—— benchmark
| | |—— case-user
| | |—— community
| | |—— data-operate
| | |—— data-table
| | |—— design
| | |—— developer-guide
| | |—— downloads
| | |—— ecosystem
| | |—— faq
| | |—— get-starting
| | |—— install
| | |—— sql-manual
| | |—— summary
| | |___ README.md
| |—— zh-CN
...
docs (new website)
| |—— .vuepress (library)
| |—— en
| | |—— community (unchanged, community nav)
│ │ |—— developer (new directory, developer nav)
│ │ | |—— design (moved from en/design)
│ │ | |__ developer-guide (moved from en/developer-guide)
| | |—— docs (new directory, all children directories moved from en/, document nav)
│ │ | |—— admin-manual
│ │ | |—— advanced
│ │ | |—— benchmark
│ │ | |—— data-operate
│ │ | |—— data-table
│ │ | |—— ecosystem
│ │ | |—— faq
│ │ | |—— get-starting
│ │ | |—— install
│ │ | |—— sql-manual
│ │ | |—— summary
| | |—— downloads (unchanged, downloads nav)
| | |—— userCase (moved from en/case-user, user nav)
| | |___ README.md
| |—— zh-CN
...
```
In SetOperationNode we do passthrough, if we child output is same with itself output.
In method isChildPassthrough we only consider memory layout.
When we use vectorized engine, we need to use SlotDesc offset in TupleDesc instead of
memory layout to check whether pass-through can be performed
closed#9644
Second step of statistics derivation: implementation of nodes other than scan_node.
The statistical information derivation interface of all nodes is uniformly placed in DeriveFactory.java.
Added one-sided to verify the derivation is correct.
Statistics derivation for each node is placed in its own *StatsDerive.java
detailed design: https://docs.google.com/document/d/1u1L6XhyzKShoyYRwFQ6kE1rnvY2iFwauwg289au5Qq0/edit
Currently, only the root user has node_priv privileges.
That is, only the root user can operate the addition and deletion of nodes.
In the original design of Doris, there is an Operator role. This role can have node_priv for node operations.
This PR supports assigning node_priv to users other than root.
However, only users who have both grant_priv and node_priv can assign node_priv to other users.
This ensures that only the root user has this permission, and users who are given node_priv
cannot continue to expand this permission outward.
* Add regression test method for regression function
* Add regression test method for regression function
* Add regression test case for math function
* delete math function
Co-authored-by: manyi <fop@freeoneplus.com>