diff --git a/README.md b/README.md index b7381a1e4d..cd986e75ef 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@
## Try GreptimeDB
### 1. [Live Demo](https://greptime.com/playground)
-Try out the features of GreptimeDB right from your browser.
+Experience GreptimeDB directly in your browser.
### 2. [GreptimeCloud](https://console.greptime.cloud/)
Start instantly with a free cluster.
-### 3. Docker Image
-
-To install GreptimeDB locally, the recommended way is via Docker:
+### 3. Docker (Local Quickstart)
```shell
docker pull greptime/greptimedb
```
-Start a GreptimeDB container with:
-
```shell
docker run -p 127.0.0.1:4000-4003:4000-4003 \
- -v "$(pwd)/greptimedb:./greptimedb_data" \
+ -v "$(pwd)/greptimedb:/greptimedb_data" \
--name greptime --rm \
greptime/greptimedb:latest standalone start \
--http-addr 0.0.0.0:4000 \
@@ -124,114 +129,90 @@ docker run -p 127.0.0.1:4000-4003:4000-4003 \
--mysql-addr 0.0.0.0:4002 \
--postgres-addr 0.0.0.0:4003
```
+Dashboard: [http://localhost:4000/dashboard](http://localhost:4000/dashboard)
+[Full Install Guide](https://docs.greptime.com/getting-started/installation/overview)
-Access the dashboard via `http://localhost:4000/dashboard`.
-
-Read more about [Installation](https://docs.greptime.com/getting-started/installation/overview) on docs.
+**Troubleshooting:**
+* Cannot connect to the database? Ensure that ports `4000`, `4001`, `4002`, and `4003` are not blocked by a firewall or used by other services.
+* Failed to start? Check the container logs with `docker logs greptime` for further details.
## Getting Started
-* [Quickstart](https://docs.greptime.com/getting-started/quick-start)
-* [User Guide](https://docs.greptime.com/user-guide/overview)
-* [Demos](https://github.com/GreptimeTeam/demo-scene)
-* [FAQ](https://docs.greptime.com/faq-and-others/faq)
+- [Quickstart](https://docs.greptime.com/getting-started/quick-start)
+- [User Guide](https://docs.greptime.com/user-guide/overview)
+- [Demo Scenes](https://github.com/GreptimeTeam/demo-scene)
+- [FAQ](https://docs.greptime.com/faq-and-others/faq)
-## Build
-
-Check the prerequisite:
+## Build From Source
+**Prerequisites:**
* [Rust toolchain](https://www.rust-lang.org/tools/install) (nightly)
* [Protobuf compiler](https://grpc.io/docs/protoc-installation/) (>= 3.15)
* C/C++ building essentials, including `gcc`/`g++`/`autoconf` and glibc library (eg. `libc6-dev` on Ubuntu and `glibc-devel` on Fedora)
* Python toolchain (optional): Required only if using some test scripts.
-Build GreptimeDB binary:
-
-```shell
+**Build and Run:**
+```bash
make
-```
-
-Run a standalone server:
-
-```shell
cargo run -- standalone start
```
## Tools & Extensions
-### Kubernetes
-
-- [GreptimeDB Operator](https://github.com/GrepTimeTeam/greptimedb-operator)
-
-### Dashboard
-
-- [The dashboard UI for GreptimeDB](https://github.com/GreptimeTeam/dashboard)
-
-### SDK
-
-- [GreptimeDB Go Ingester](https://github.com/GreptimeTeam/greptimedb-ingester-go)
-- [GreptimeDB Java Ingester](https://github.com/GreptimeTeam/greptimedb-ingester-java)
-- [GreptimeDB C++ Ingester](https://github.com/GreptimeTeam/greptimedb-ingester-cpp)
-- [GreptimeDB Erlang Ingester](https://github.com/GreptimeTeam/greptimedb-ingester-erl)
-- [GreptimeDB Rust Ingester](https://github.com/GreptimeTeam/greptimedb-ingester-rust)
-- [GreptimeDB JavaScript Ingester](https://github.com/GreptimeTeam/greptimedb-ingester-js)
-
-### Grafana Dashboard
-
-Our official Grafana dashboard for monitoring GreptimeDB is available at [grafana](grafana/README.md) directory.
+- **Kubernetes:** [GreptimeDB Operator](https://github.com/GrepTimeTeam/greptimedb-operator)
+- **Helm Charts:** [Greptime Helm Charts](https://github.com/GreptimeTeam/helm-charts)
+- **Dashboard:** [Web UI](https://github.com/GreptimeTeam/dashboard)
+- **SDKs/Ingester:** [Go](https://github.com/GreptimeTeam/greptimedb-ingester-go), [Java](https://github.com/GreptimeTeam/greptimedb-ingester-java), [C++](https://github.com/GreptimeTeam/greptimedb-ingester-cpp), [Erlang](https://github.com/GreptimeTeam/greptimedb-ingester-erl), [Rust](https://github.com/GreptimeTeam/greptimedb-ingester-rust), [JS](https://github.com/GreptimeTeam/greptimedb-ingester-js)
+- **Grafana**: [Official Dashboard](https://github.com/GreptimeTeam/greptimedb/blob/main/grafana/README.md)
## Project Status
-GreptimeDB is currently in Beta. We are targeting GA (General Availability) with v1.0 release by Early 2025.
+> **Status:** Beta.
+> **GA (v1.0):** Targeted for mid 2025.
-While in Beta, GreptimeDB is already:
-
-* Being used in production by early adopters
-* Actively maintained with regular releases, [about version number](https://docs.greptime.com/nightly/reference/about-greptimedb-version)
-* Suitable for testing and evaluation
+- Used in production by early adopters
+- Stable, actively maintained, with regular releases ([version info](https://docs.greptime.com/nightly/reference/about-greptimedb-version))
+- Suitable for evaluation and pilot deployments
For production use, we recommend using the latest stable release.
+[](https://www.star-history.com/#GreptimeTeam/GreptimeDB&Date)
+
+If you find this project useful, a ⭐ would mean a lot to us!
+
## Community
-Our core team is thrilled to see you participate in any ways you like. When you are stuck, try to
-ask for help by filling an issue with a detailed description of what you were trying to do
-and what went wrong. If you have any questions or if you would like to get involved in our
-community, please check out:
+We invite you to engage and contribute!
-- GreptimeDB Community on [Slack](https://greptime.com/slack)
-- GreptimeDB [GitHub Discussions forum](https://github.com/GreptimeTeam/greptimedb/discussions)
-- Greptime official [website](https://greptime.com)
-
-In addition, you may:
-
-- View our official [Blog](https://greptime.com/blogs/)
-- Connect us with [Linkedin](https://www.linkedin.com/company/greptime/)
-- Follow us on [Twitter](https://twitter.com/greptime)
-
-## Commercial Support
-
-If you are running GreptimeDB OSS in your organization, we offer additional
-enterprise add-ons, installation services, training, and consulting. [Contact
-us](https://greptime.com/contactus) and we will reach out to you with more
-detail of our commercial license.
+- [Slack](https://greptime.com/slack)
+- [Discussions](https://github.com/GreptimeTeam/greptimedb/discussions)
+- [Official Website](https://greptime.com/)
+- [Blog](https://greptime.com/blogs/)
+- [LinkedIn](https://www.linkedin.com/company/greptime/)
+- [Twitter](https://twitter.com/greptime)
## License
-GreptimeDB uses the [Apache License 2.0](https://apache.org/licenses/LICENSE-2.0.txt) to strike a balance between
-open contributions and allowing you to use the software however you want.
+GreptimeDB is licensed under the [Apache License 2.0](https://apache.org/licenses/LICENSE-2.0.txt).
+
+## Commercial Support
+
+Running GreptimeDB in your organization?
+We offer enterprise add-ons, services, training, and consulting.
+[Contact us](https://greptime.com/contactus) for details.
## Contributing
-Please refer to [contribution guidelines](CONTRIBUTING.md) and [internal concepts docs](https://docs.greptime.com/contributor-guide/overview.html) for more information.
+- Read our [Contribution Guidelines](https://github.com/GreptimeTeam/greptimedb/blob/main/CONTRIBUTING.md).
+- Explore [Internal Concepts](https://docs.greptime.com/contributor-guide/overview.html) and [DeepWiki](https://deepwiki.com/GreptimeTeam/greptimedb).
+- Pick up a [good first issue](https://github.com/GreptimeTeam/greptimedb/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) and join the #contributors [Slack](https://greptime.com/slack) channel.
## Acknowledgement
-Special thanks to all the contributors who have propelled GreptimeDB forward. For a complete list of contributors, please refer to [AUTHOR.md](AUTHOR.md).
+Special thanks to all contributors! See [AUTHORS.md](https://github.com/GreptimeTeam/greptimedb/blob/main/AUTHOR.md).
-- GreptimeDB uses [Apache Arrow™](https://arrow.apache.org/) as the memory model and [Apache Parquet™](https://parquet.apache.org/) as the persistent file format.
-- GreptimeDB's query engine is powered by [Apache Arrow DataFusion™](https://arrow.apache.org/datafusion/).
-- [Apache OpenDAL™](https://opendal.apache.org) gives GreptimeDB a very general and elegant data access abstraction layer.
-- GreptimeDB's meta service is based on [etcd](https://etcd.io/).
-
-
\ No newline at end of file
+- Uses [Apache Arrow™](https://arrow.apache.org/) (memory model)
+- [Apache Parquet™](https://parquet.apache.org/) (file storage)
+- [Apache Arrow DataFusion™](https://arrow.apache.org/datafusion/) (query engine)
+- [Apache OpenDAL™](https://opendal.apache.org/) (data access abstraction)
+- [etcd](https://etcd.io/) (meta service)
diff --git a/docs/architecture.png b/docs/architecture.png
new file mode 100644
index 0000000000..992b6c856d
Binary files /dev/null and b/docs/architecture.png differ
diff --git a/src/flow/src/expr/signature.rs b/src/flow/src/expr/signature.rs
index 82506d1293..526d00b96e 100644
--- a/src/flow/src/expr/signature.rs
+++ b/src/flow/src/expr/signature.rs
@@ -60,7 +60,7 @@ pub enum GenericFn {
Mul,
Div,
Mod,
- // varadic func
+ // variadic func
And,
Or,
// unmaterized func