You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-09-02 12:41:17 +03:00
The following functions are created: Create function JSON_VALID and test cases Create function JSON_DEPTH and test cases Create function JSON_LENGTH and test cases Create function JSON_EQUALS and test cases Create function JSON_NORMALIZE and test cases Create function JSON_TYPE and test cases Create function JSON_OBJECT and test cases Create function JSON_ARRAY and test cases Create function JSON_KEYS and test cases Create function JSON_EXISTS and test cases Create function JSON_QUOTE/JSON_UNQUOTE and test cases Create function JSON_COMPACT/DETAILED/LOOSE and test cases Create function JSON_MERGE and test cases Create function JSON_MERGE_PATCH and test cases Create function JSON_VALUE and test cases Create function JSON_QUERY and test cases Create function JSON_CONTAINS and test cases Create function JSON_ARRAY_APPEND and test cases Create function JSON_ARRAY_INSERT and test cases Create function JSON_INSERT/REPLACE/SET and test cases Create function JSON_REMOVE and test cases Create function JSON_CONTAINS_PATH and test cases Create function JSON_OVERLAPS and test cases Create function JSON_EXTRACT and test cases Create function JSON_SEARCH and test cases Note: Some functions output differs from MDB because session variables that affects functions output,e.g JSON_QUOTE/JSON_UNQUOTE This depends on MCOL-5212
Objective --------- The 'columnstore' test suite includes tests suites aimed at testing MariaDB Columnstore Database Engine (MCS). https://mariadb.com/kb/en/mariadb-columnstore/ Test Repo --------- https://github.com/mariadb-corporation/columnstore-tests/tree/master/mysql-test/suite/columnstore Test structure -------------- The current directory structure is shown below: columnstore/ ├── basic │ ├── r │ └── t ├── csinternal │ ├── autopilot │ │ ├── r │ │ └── t │ ├── devregression │ │ ├── r │ │ └── t │ └── include │ ├── dbt3 │ └── ssb ├── extended ├── include └── std_data 't' dir contains the tests. 'r' dir contains the expected result files. 'include' dir contains common libraries used by the tests. 'std_data' dir containt test data files. Test suites: 1. basic Mostly sanity, high value, shorter execution time tests 2. extended More complex and involved tests - longer execution time, variations 3. csinternal Limited to CS internal team - Uses seeded test data. The tests in this are divided into the following two sub-suites: autopilot - Autopilot cases migrated to MTR devregression - Part of Dev test suite migrated to MTR Prerequisites ------------- 1. MariaDB Server and Columnstore are already installed on the test box, let's call it INSTALL_DIR. Usually it is /usr/share/mysql. mysql-test is already installed, let's call it MYSQLTEST_DIR. Usually it is /usr/share/mysql-test. Columnstore-tests local repository, let's call it MCSTEST_DIR. Usually it is columnstore-tests/mysql-test/suite/columnstore cd MYSQLTEST_DIR ln -s MCSTEST_DIR MYSQLTEST_DIR/suite/columnstore 2. Only for csinternal tests For csinternal test run requires the test data 'dbt3' and 'ssb' stored at https://drive.google.com/drive/folders/1dAV4ltxLrvC_7TrZ4zLu42gxx17wzH15?usp=sharing to be available at the following location on the test box: /data/qa/source/ dbt3 ssb Setup test environment by running the following: ./mtr --suite=columnstore/csinternal regression_env_setup --extern socket=/var/lib/mysql/mysql.sock Test Run -------- Run test suite: mtr --force --suite=columnstore/basic --extern socket=/var/lib/mysql/mysql.sock mtr --force --suite=columnstore/extended --extern socket=/var/lib/mysql/mysql.sock mtr --force --suite=columnstore/csinternal --extern socket=/var/lib/mysql/mysql.sock mtr --force --suite=columnstore/csinternal/autopilot --extern socket=/var/lib/mysql/mysql.sock mtr --force --suite=columnstore/csinternal/devregression --extern socket=/var/lib/mysql/mysql.sock Run individual test: example mtr --suite=columnstore/basic mcs12_alter_table.test --extern socket=/var/lib/mysql/mysql.sock Run by skipping list of tests: example mtr --force --skip-test-list=failed.def --suite=columnstore/basic --extern socket=/var/lib/mysql/mysql.sock failed.def file lists test names in separated lines.