Bug #78579 | load data infile does not populate stored generated columns | ||
---|---|---|---|
Submitted: | 26 Sep 2015 22:42 | Modified: | 28 Sep 2015 0:44 |
Reporter: | James Dempster | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server: JSON | Severity: | S3 (Non-critical) |
Version: | 5.7.8-rc | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[26 Sep 2015 22:42]
James Dempster
[26 Sep 2015 22:44]
James Dempster
Added MySQL version.
[28 Sep 2015 0:44]
MySQL Verification Team
Thank you for the bug report. Repeatable with released version 5.7.8 but not anymore with current server source build. c:\mysql\mysql-5.7.8-rc-winx64>bin\mysql -uroot -p Enter password: ****** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.8-rc MySQL Community Server (GPL) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database d1; Query OK, 1 row affected (0.00 sec) mysql> use d1 Database changed mysql> CREATE TABLE `tt` ( -> `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, -> `details` json DEFAULT NULL, -> `details_name` VARCHAR(30) GENERATED ALWAYS AS (JSON_UNQUOTE(JSON_EXTRACT(details,"$.name"))) STORED, -> PRIMARY KEY (`id`) -> ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; Query OK, 0 rows affected (0.53 sec) mysql> LOAD DATA INFILE 'c:/tmp/tt.dat' INTO TABLE tt (id, details); Query OK, 15000 rows affected (4.02 sec) Records: 15000 Deleted: 0 Skipped: 0 Warnings: 0 mysql> select * from tt limit 2\G *************************** 1. row *************************** id: 1 details: {"age": 18, "ice": {"age": 31, "name": "Shannon Johnson", "text": "Est odit id accusantium autem. Assumenda cumqu e fugit et eligendi explicabo. Sit nulla aut soluta officia.", "email": "Quentin84@example.net", "address": "Studio 52b\nStefan Burg\nSouth Phoebe\nX5 9VF", "company": "Davis, Hunt and Palmer"}, "name": "Caitlin Wright", "text": "Facere consectetur incid unt voluptatibus voluptas laudantium velit. Ipsum sit eum commodi odio sed aut earum tempore. Placeat est laudantium maxime fug it dolorem.", "email": "Gordon.Williams@example.org", "address": "Studio 88\nGreen Junctions\nWilliamborough\nY0 5NH", "company ": "Cooper, Cook and Rose"} details_name: NULL *************************** 2. row *************************** id: 2 details: {"age": 37, "ice": {"age": 33, "name": "Isobel James", "text": "Explicabo occaecati maxime totam sit et et. Corpo ris dolores rem aspernatur et nobis nostrum. Sapiente accusamus nihil consectetur. Similique autem aut qui dolorem veritatis in ventore voluptatibus.", "email": "Tim.Turner@example.org", "address": "Studio 07o\nOwen Spring\nNicoleborough\nE2 6JU", "compan y": "Clarke-Knight"}, "name": "Theo Robinson", "text": "Dolores molestiae recusandae ab et perspiciatis sunt qui. Doloremque pr aesentium laudantium quia mollitia. Dolorem quia quis modi perferendis aut.", "email": "Miller.Barry@example.org", "address": " 27 Leanne Valley\nNorth Claire\nR80 4WF", "company": "Powell-Mitchell"} details_name: NULL 2 rows in set (0.00 sec) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ c:\dbs>5.7\bin\mysql -uroot -p Enter password: ****** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.10 Source distribution PULL: 2015-SEP-26 Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database d1; Query OK, 1 row affected (0.25 sec) mysql> use d1 Database changed mysql> CREATE TABLE `tt` ( -> `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, -> `details` json DEFAULT NULL, -> `details_name` VARCHAR(30) GENERATED ALWAYS AS (JSON_UNQUOTE(JSON_EXTRACT(details,"$.name"))) STORED, -> PRIMARY KEY (`id`) -> ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4; Query OK, 0 rows affected (0.42 sec) mysql> LOAD DATA INFILE 'c:/tmp/tt.dat' INTO TABLE tt (id, details); Query OK, 15000 rows affected (4.42 sec) Records: 15000 Deleted: 0 Skipped: 0 Warnings: 0 mysql> select * from tt limit 2\G *************************** 1. row *************************** id: 1 details: {"age": 18, "ice": {"age": 31, "name": "Shannon Johnson", "text": "Est odit id accusantium autem. Assumenda cumqu e fugit et eligendi explicabo. Sit nulla aut soluta officia.", "email": "Quentin84@example.net", "address": "Studio 52b\nStefan Burg\nSouth Phoebe\nX5 9VF", "company": "Davis, Hunt and Palmer"}, "name": "Caitlin Wright", "text": "Facere consectetur incid unt voluptatibus voluptas laudantium velit. Ipsum sit eum commodi odio sed aut earum tempore. Placeat est laudantium maxime fug it dolorem.", "email": "Gordon.Williams@example.org", "address": "Studio 88\nGreen Junctions\nWilliamborough\nY0 5NH", "company ": "Cooper, Cook and Rose"} details_name: Caitlin Wright *************************** 2. row *************************** id: 2 details: {"age": 37, "ice": {"age": 33, "name": "Isobel James", "text": "Explicabo occaecati maxime totam sit et et. Corpo ris dolores rem aspernatur et nobis nostrum. Sapiente accusamus nihil consectetur. Similique autem aut qui dolorem veritatis in ventore voluptatibus.", "email": "Tim.Turner@example.org", "address": "Studio 07o\nOwen Spring\nNicoleborough\nE2 6JU", "compan y": "Clarke-Knight"}, "name": "Theo Robinson", "text": "Dolores molestiae recusandae ab et perspiciatis sunt qui. Doloremque pr aesentium laudantium quia mollitia. Dolorem quia quis modi perferendis aut.", "email": "Miller.Barry@example.org", "address": " 27 Leanne Valley\nNorth Claire\nR80 4WF", "company": "Powell-Mitchell"} details_name: Theo Robinson 2 rows in set (0.04 sec)