Further research: It *does not work* with the .msi package for Windows: select version(); -- 10.1.8-MariaDB CREATE TABLE `t1_virtual_uk` ( `f1` int(11) DEFAULT NULL, `gc` int(11) AS (f1 + 1) VIRTUAL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into `t1_virtual_uk` values (1,2); -- Error Code: 1906 The value specified for computed column 'gc' in table 't1_virtual_uk' ignored select * from `test`.`t1_virtual_uk`; -- empty set It *does work* on Windows using the .zip package (simply starting server with"mysqld --port = xxxx"), however. So the problem seems to be a packaging issue with the .msi. Some old/wrong code seems to go in there. -- Peter On Fri, Nov 6, 2015 at 12:21 PM, Peter Laursen <peter_laursen@webyog.com> wrote:
Correction .. there is no error (except for my copy-paste error). This is perfect and exactly as I think it should be.
SELECT VERSION(); -- 10.1.8-MariaDB
CREATE DATABASE vctest; USE vctest;
CREATE TABLE `t1`( `id` INT NOT NULL, `id3` INT AS ( id*3 ) VIRTUAL );
INSERT INTO `t1` VALUES (1,3);
SHOW WARNINGS; -- 1906 The value specified for computed column 'id3' in table 't1' ignored
SELECT * FROM t1; /* id id3 ------ -------- 1 3 */
On Fri, Nov 6, 2015 at 12:10 PM, Peter Laursen <peter_laursen@webyog.com> wrote:
yup .. this is good!
SELECT VERSION(); -- 10.1.8-MariaDB
CREATE DATABASE vctest; USE vctest;
CREATE TABLE `t1`( `id` INT NOT NULL, `id3` INT AS ( id*3 ) VIRTUAL );
INSERT INTO `t1` VALUES (1,3); -- retruns: Error Code: 1906 - The value specified for computed column 'id3' in table 't1' ignored
SHOW WARNINGS; -- 1906 The value specified for computed column 'id3' in table 't1' ignored
SELECT * FROM t1; /* id id3 ------ -------- 1 3 */
On Fri, Nov 6, 2015 at 11:52 AM, Ian Gilfillan <ian@mariadb.org> wrote:
The insert statement returns a warning:
INSERT INTO `test`.`t1` VALUES (1,3); Query OK, 1 row affected, 1 warning (0.07 sec)
Warning (Code 1906): The value specified for computed column 'id3' in table 't1' ignored
On 06/11/2015 08:09, Peter Laursen wrote:
OK, I should have upgraded. But I am currently travelling an with a small laptop only and an Internet connectivity not fit for downloads (call it a bad excuse if you want! :-) )
So it actually INSERTS. That is nice. But does it return an error or warning or nothing? It should not be an error IMO as various clients would 'abort on error' and flood its log with error messages.
-- Peter
On Fri, Nov 6, 2015 at 11:32 AM, Ian Gilfillan <ian@mariadb.org> wrote:
06/11/2015 07:51, Peter Laursen wrote:
I reported this bug report to Oracle: <http://bugs.mysql.com/bug.php?id=79148> http://bugs.mysql.com/bug.php?id=79148
It is almost the same in MariaDB - but the error message is different, see
SELECT VERSION(); -- 10.1.2-MariaDB-log
CREATE TABLE `vc_test`.`t1`( `id` INT NOT NULL, `id3` INT AS ( id*3 ) VIRTUAL );
INSERT INTO `vc_test`.`t1` VALUES (1,3); -- retruns: Error Code: 1906 - The value specified for computed column 'id3' in table 't1' ignored
SELECT * FROM t1; -- returns empty set
So here the error message is that "value is ignored" (not that it is "not allowed"). It looks to me like somebody in MariaDB actually identified the problem, but forgot to finish things.
The statement should succeed (maybe raise a warning), and the "specified value should be ignored" as the error message says, but what it in reality is not.
What say?
In 10.1.8, the above returns: SELECT * FROM t1; +----+------+ | id | id3 | +----+------+ | 1 | 3 | +----+------+
_______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp