Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.github: check connectivity of external links via GitHub action (#4135) #4137

Merged
merged 4 commits into from
Nov 3, 2020
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ jobs:
markdownlint $(git diff-tree --name-only --no-commit-id -r upstream/release-3.0..HEAD -- '*.md' ':(exclude).github/*')

- run:
name: "Check links"
name: "Check internal links"
command: |
scripts/verify-links.sh

- run:
name: "Check link anchors"
name: "Check internal link anchors"
command: |
scripts/verify-link-anchors.sh

Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/link-check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: external-link-check

on: [pull_request]

jobs:
base:
runs-on: ubuntu-18.04
steps:
- name: Check out code
uses: actions/checkout@v2

# NOTE:
# - the check process can be very fast,
# but if `-c` is too large then `Too Many Requests (HTTP error 429)` may be reported from `https://github.com/*`.
# - we hardcode `--document-root` to `/github/workspace` in the container now.
# - we use `http://172.*` as sample addresses in some docs, so we need to exclude them.
- name: Check external links
id: lc
uses: peter-evans/link-checker@v1
with:
args: -c 32 -d /github/workspace -r -x "http://172.*|https://github.com/.*/pull/.*|https://github.com/.*/issues/.*|https://github.com/[^.\n]*$|http://127.0.0.1.*|http://localhost.*|http://.*:.*|https://static.googleusercontent.com/media/research.google.com/.*|https://www.crunchbase.com/organization/.*|http://www.brendangregg.com/perf.html.*|.*.md" .

- name: Fail if there were external link errors
if: ${{ steps.lc.outputs.exit_code }}
run: |
echo "Please check the broken links reported in the previous step \"Check external links\"."
exit ${{ steps.lc.outputs.exit_code }}
# Debug via SSH if previous steps failed
#- name: Set up tmate session
# if: ${{ failure() }}
# uses: mxschmitt/action-tmate@v2
11 changes: 5 additions & 6 deletions adopters.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ This is a list of TiDB adopters in various industries.
|[Xiaohongshu](https://en.wikipedia.org/wiki/Xiaohongshu)|E-commerce|[English](https://pingcap.com/case-studies/how-we-use-a-scale-out-htap-database-for-real-time-analytics-and-complex-queries); Chinese [#1](https://pingcap.com/cases-cn/user-case-xiaohongshu/), [#2](https://pingcap.com/cases-cn/user-case-xiaohongshu-2/)|
|[Happigo.com](https://www.crunchbase.com/organization/happigo-com)|E-commerce||
|[Yimutian](http://www.ymt.com/)|E-commerce||
|[Youju Tech](https://www.ujuz.cn/)|E-commerce||
|[Youju Tech](https://nn.yjyz.com/)|E-commerce||
|[Maizuo](https://www.crunchbase.com/organization/maizhuo)|E-commerce||
|[Mogujie](https://www.crunchbase.com/organization/mogujie)|E-commerce||
|[Zhihu](https://en.wikipedia.org/wiki/Zhihu)|Knowledge Sharing|[English](https://pingcap.com/case-studies/lesson-learned-from-queries-over-1.3-trillion-rows-of-data-within-milliseconds-of-response-time-at-zhihu/); [Chinese](https://pingcap.com/cases-cn/user-case-zhihu/)|
Expand All @@ -43,9 +43,9 @@ This is a list of TiDB adopters in various industries.
|[CAASDATA](https://www.caasdata.com/)|Big Data|[Chinese](https://pingcap.com/cases-cn/user-case-kasi/)|
|[Mobikok](http://www.mobikok.com/en/)|AdTech|[Chinese](https://pingcap.com/cases-cn/user-case-mobikok/)|
|[ZTO Express](https://www.crunchbase.com/organization/zto-express)| Logistics|[English](https://pingcap.com/case-studies/why-we-migrated-from-exadata-to-a-scale-out-htap-database-for-near-real-time-analytics); [Chinese](https://pingcap.com/cases-cn/user-case-zto-express/)|
|[G7 Networks](https://www.english.g7.com.cn/)| Logistics|[Chinese](https://pingcap.com/cases-cn/user-case-g7/)|
|[G7 Networks](https://www.crunchbase.com/organization/g7)| Logistics|[Chinese](https://pingcap.com/cases-cn/user-case-g7/)|
|[Hive-Box](http://www.fcbox.com/en/pc/index.html#/)|Logistics|[Chinese](https://pingcap.com/cases-cn/user-case-fengchao/)|
|[GAEA](http://www.gaea.com/en/)|Gaming|[English](https://pingcap.com/blog/2017-05-22-Comparison-between-MySQL-and-TiDB-with-tens-of-millions-of-data-per-day/); [Chinese](https://pingcap.com/cases-cn/user-case-gaea-ad/)|
|[GAEA](http://www.gaea.com/en/)|Gaming|[English](https://pingcap.com/case-studies/2017-05-22-Comparison-between-MySQL-and-TiDB-with-tens-of-millions-of-data-per-day); [Chinese](https://pingcap.com/cases-cn/user-case-gaea-ad/)|
|[YOOZOO Games](https://www.crunchbase.com/organization/yoozoo-games)|Gaming|[Chinese](https://pingcap.com/cases-cn/user-case-youzu/)|
|[Seasun Games](https://www.crunchbase.com/organization/seasun)|Gaming|[Chinese](https://pingcap.com/cases-cn/user-case-xishanju/)|
|[NetEase Games](https://game.163.com/en/)|Gaming||
Expand All @@ -72,15 +72,14 @@ This is a list of TiDB adopters in various industries.
|[360 Finance](https://www.crunchbase.com/organization/360-finance)|FinTech|[Chinese](https://pingcap.com/cases-cn/user-case-360/)|
|[Tongdun Technology](https://www.crunchbase.com/organization/tongdun-technology)|FinTech||
|[Wacai](https://www.crunchbase.com/organization/wacai)|FinTech||
|[Tree Finance](https://www.treefinance.com.cn/)|FinTech||
|[Tree Finance](http://treefinancegroup.com.au/)|FinTech||
|[Mashang Consumer Finance](https://www.crunchbase.com/organization/ms-finance)|FinTech||
|[Snowball Finance](https://www.crunchbase.com/organization/snowball-finance)|FinTech||
|[Shuangchuang Huipu](http://scphjt.com/)|FinTech||
|[QuantGroup](https://www.crunchbase.com/organization/quantgroup)|FinTech||
|[FINUP](https://www.crunchbase.com/organization/finup)|FinTech||
|[Meili Finance](https://www.crunchbase.com/organization/meili-jinrong)|FinTech||
|[Guolian Securities](https://www.crunchbase.com/organization/guolian-securities)|Financial Services||
|[Founder Securities](https://www.linkedin.com/company/founder-securities-co-ltd-/)|Financial Services||
|[Founder Securities](https://www.crunchbase.com/organization/keruyun-technology-beijing-co-ltd)|Financial Services||
|[China Telecom Shanghai](http://www.189.cn/sh/)|Telecom||
|[State Administration of Taxation](https://en.wikipedia.org/wiki/State_Administration_of_Taxation)|Finance||
|[Hainan eKing Technology](https://www.crunchbase.com/organization/hainan-eking-technology)|Enterprise Technology|[Chinese](https://pingcap.com/cases-cn/user-case-ekingtech/)|
Expand Down
6 changes: 3 additions & 3 deletions connectors-and-apis.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ TiDB is compatible with all Connectors and APIs of MySQL (5.6, 5.7), including:
- [MySQL Connector/Net](https://dev.mysql.com/doc/refman/5.7/en/connector-net-info.html)
- [MySQL Connector/ODBC](https://dev.mysql.com/doc/refman/5.7/en/connector-odbc-info.html)
- [MySQL Connector/Python](https://dev.mysql.com/doc/refman/5.7/en/connector-python-info.html)
- [MySQL C API](https://dev.mysql.com/doc/refman/5.7/en/c-api.html)
- [MySQL C API](https://dev.mysql.com/doc/refman/5.7/en/c-api-info.html)
- [MySQL PHP API](https://dev.mysql.com/doc/refman/5.7/en/apis-php-info.html)
- [MySQL Perl API](https://dev.mysql.com/doc/refman/5.7/en/apis-perl.html)
- [MySQL Python API](https://dev.mysql.com/doc/refman/5.7/en/apis-python.html)
Expand All @@ -40,7 +40,7 @@ Oracle develops the following APIs and TiDB is compatible with all of them:

## Connect to TiDB using MySQL C API

If you use C language programs to connect to TiDB, you can connect to `libmysqlclient` directly and use the MySQL [C API](https://dev.mysql.com/doc/refman/5.7/en/c-api.html). This is one of the major connection methods using C language, widely used by various clients and APIs, including Connector/C.
If you use C language programs to connect to TiDB, you can connect to `libmysqlclient` directly and use the MySQL [C API](https://dev.mysql.com/doc/refman/5.7/en/c-api-info.html). This is one of the major connection methods using C language, widely used by various clients and APIs, including Connector/C.

## Connect to TiDB using third-party MySQL APIs

Expand All @@ -49,7 +49,7 @@ The third-party APIs are not developed by Oracle. The following table lists the
| Environment | API | Type | Notes |
| -------------- | ---------------------------------------- | -------------------------------- | ---------------------------------------- |
| Ada | GNU Ada MySQL Bindings | `libmysqlclient` | See [MySQL Bindings for GNU Ada](http://gnade.sourceforge.net/) |
| C | C API | `libmysqlclient` | See [Section 27.8, “MySQL C API](https://dev.mysql.com/doc/refman/5.7/en/c-api.html) |
| C | C API | `libmysqlclient` | See [MySQL C API](https://dev.mysql.com/doc/refman/5.7/en/c-api-info.html) |
| C++ | Connector/C++ | `libmysqlclient` | See [MySQL Connector/C++ Developer Guide](https://dev.mysql.com/doc/connector-cpp/en/) |
| | MySQL++ | `libmysqlclient` | See [MySQL++ Web site](http://tangentsoft.net/mysql++/doc/) |
| | MySQL wrapped | `libmysqlclient` | See [MySQL wrapped](http://www.alhem.net/project/mysql/) |
Expand Down
2 changes: 1 addition & 1 deletion sql-statements/sql-statement-admin.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ mysql> admin show ddl jobs;
* `JOB_TYPE`: the type of the DDL operations.
* `SCHEMA_STATE`: the current state of the schema. If the `JOB_TYPE` is `add index`, it is the state of the index; if the `JOB_TYPE` is `add column`, it is the state of the column; if the `JOB_TYPE` is `create table`, it is the state of the table. The common states include:
* `none`: it indicates not existing. When the `drop` or `create` operation fails and rolls back, it usually becomes the `none` state.
* `delete only`, `write only`, `delete reorganization`, `write reorganization`: these four states are intermediate states. For details, see the paper [Online, Asynchronous Schema Change in F1](http://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/41376.pdf). These states are not visible in common operations, because the conversion from the intermediate states is so quick. You can see the `write reorganization` state only in `add index` operations, which means that the index data is being added.
* `delete only`, `write only`, `delete reorganization`, `write reorganization`: these four states are intermediate states. For details, see the paper [Online, Asynchronous Schema Change in F1](https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/41376.pdf). These states are not visible in common operations, because the conversion from the intermediate states is so quick. You can see the `write reorganization` state only in `add index` operations, which means that the index data is being added.
* `public`: it indicates existing and usable. When operations like `create table` and `add index/column` are finished, it usually becomes the `public` state, which means that the created table/column/index can be normally read and written now.
* `SCHEMA_ID`: the ID of the database on which the DDL operations are performed.
* `TABLE_ID`: the ID of the table on which the DDL operations are performed.
Expand Down