Sachin, hello. > Hi Everyone! > > Suppose this case > > CREATE USER > user1@localhost IDENTIFIED BY 'BsG9#9.cem#!85', > user2@localhost IDENTIFIED BY 'x'; > > user2 has too short passowrd which will give error (if we use security plugin) > > IN the case of *mariadb* we will create user1 and wont create user2 > In the case of *mysql (8.0)* we will return error and we will not > create any user > > Our approach create a lots of problem for binary log and > replication(MDEV-14716, MDEV-16728) > Because in Query_log_event::write() we write the whole query not the > parts of it. > So we have 2 options to solve this either write modified query into > binlog or do what mysql does. > > So what you think , which approach we should use ? Or there is another > better way ?
Actually as people asked already 5.7 exposes a third behavior to log with an error like # at 477 #180903 10:47:40 server id 1 end_log_pos 777 CRC32 0x13d70f7f Query thread_id=3 exec_time=0 error_code=1396 SET TIMESTAMP=1535960860/*!*/; CREATE USER 'user1'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*BF2598DC3E1E89DF9EBEF90FE77AA0486DABDC06','user2'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*B69027D44F6E5EDC07F1AEAD1477967B16F28227' /*!*/; While rewriting the query to leave only succeeded items makes sense I think the 5.7 method is not that bad. Actually recording an error is still a standard for Mariadb when rollback is impossible. So I think it's better off to stay with that. Hopefully we turn such DDL and others to atomic in future. Cheers, Andrei _______________________________________________ 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