Fix error 9731 on Windows when running SELECT INTO OUTFILE PARQUET with default permissions
Open
Nobody has claimed this yet.
dima
type: bug
- Dominant language
- C++
- Stars
- 2.9k
- Forks
- 339
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 52
Description
Description
When executing SELECT INTO OUTFILE PARQUET on Windows with default permissions, error 9731 is returned.
Actual Result:
Error 9731 occurs.
Expected Result:
The command should execute successfully.
Steps to Reproduce
- Log into the target machine.
- Navigate to the directory:
/obdata/data/AndroidTest/ob_opensource_test/tools/deploy - Execute the following commands to set up the test environment and run the specific mysqltest:
export OCEANBASE_HOME=/obdata/data/AndroidTest/ob_opensource_test/ cd ${OCEANBASE_HOME}/tools/deploy source activate_obd.sh export OBD_SEEKDB_STATUS_FALLBACK_TCP=1 obd test mysqltest test_env --mysqltest-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/mysqltest --obclient-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/obclient --init-only --init-sql-dir=${OCEANBASE_HOME}/tools/deploy --init-sql-files='init.sql,init_user.sql|root@sys|test' obd test mysqltest test_env --mysqltest-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/mysqltest --obclient-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/obclient --disable-reboot --test-set=select_into_outfile_parquet_orc_sqlqa.select_outfile_parquet_from_mysql - Prepare the output directory and clean any existing files:
mkdir -p /obdata/data/AndroidTest/ob_opensource_test/tools/deploy/outfile_data_parquet rm -f /obdata/data/AndroidTest/ob_opensource_test/tools/deploy/outfile_data_parquet/tmp_parquet* - Execute the following SQL to reproduce the issue (note the absolute path in the
INTO OUTFILEclause):CREATE DATABASE IF NOT EXISTS zct; USE zct; DROP TABLE IF EXISTS zct1; CREATE TABLE zct1( a INT, b VARCHAR(50), c DATE, d DATETIME, e TIMESTAMP, f TIME, g SMALLINT, h CHAR(10), i BINARY(10), j FLOAT, k DOUBLE, l DECIMAL(10,2), m BIGINT ); INSERT INTO zct1 VALUES (1, '一', '2020-01-01', '2020-01-01 00:00:00', '2020-01-01 00:00:00', '00:00:00', 2020, 'blob', 'text', 1.1, 2.2, 3.3, 1), (2, ' ', '2020-01-02', '2020-01-02 00:00:00', '2020-01-02 00:00:00', '00:00:01', 2021, 'Blob', 'Text', 2.1, 3.2, 4.3, 2); -- Core statement corresponding to the test case (using an absolute path) SELECT * FROM zct1 INTO OUTFILE '/obdata/data/AndroidTest/ob_opensource_test/tools/deploy/outfile_data_parquet/tmp_parquet.parquet' FORMAT( type='parquet' COMPRESSION='UNCOMPRESSED' ROW_GROUP_SIZE='1MB' ) single = true;
mysqltest Actual Result:
The test fails with error 9731.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the named mysqltest case select_into_outfile_parquet_orc_sqlqa.select_outfile_parquet_from_mysql with the provided setup, then reproduce the absolute-path SELECT INTO OUTFILE PARQUET statement under Windows default permissions. Done means the test and SQL command execute successfully without error 9731.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- sql
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100