Hi James, Well, I liked the good news part. :)
I will share the test results with you too. And yeah, will look into the create view comments. Thanks, Sriram On Thu, Jun 19, 2014 at 2:48 PM, James Briggs <james.bri...@yahoo.com> wrote: > Hi Sriram. > > The good news ... nice catch, you earned your GSoC salary! > > The mysql_register_view() has a dozen > different ways to fail: > > - RAM: my_error(ER_OUT_OF_RESOURCES, MYF(0)); > - disk: sql_create_definition_file() > - name collision > - etc. > > So the create view statement can > definitely fail on the master, > and should not replicate when that happens. > > Note that warnings can also be set, so > investigate if that affects replication: > > push_warning(thd, > Sql_condition::WARN_LEVEL_WARN, > ER_WARN_VIEW_MERGE, > ER(ER_WARN_VIEW_MERGE)); > > The bad news ... I read over the create view source, > and there's tons of work that hasn't been finished yet > (just read the comments about union and restrict/ > cascade for starters.) > > Another future project! > > Thanks, James. > > -------------------------------------------- > On Thu, 6/19/14, sriram patil <spsrirampa...@gmail.com> wrote: > > Subject: [Maria-developers] Doubt in bin logging for CREATE VIEW > To: maria-developers@lists.launchpad.net > Date: Thursday, June 19, 2014, 12:54 AM > > Hi All, > I was checking the behavior of bin logging in > various methods. I found out CREATE VIEW differs a little > bit than others in bin logging. > The query is written into bin log if query is > executed successfully. If there is any error the query is > not logged. This behavior is observed across all the > commands. > > > In case of CREATE VIEW (method: mysql_create_view > file: sql/sql_view.cc), while the bin logging is skipped for > most of the errors by jumping to "err" label, it > is not skipped in following code snippet (line number: > 616) > > > res= mysql_register_view(thd, view, > mode); > /* View TABLE_SHARE must be > removed from the table definition cache in order > to make ALTER VIEW work properly. Otherwise, > we would not be able to detect > > meta-data changes after ALTER > VIEW.*/ > if (!res) tdc_remove_table(thd, > TDC_RT_REMOVE_ALL, view->db, view->table_name, > false); > if (mysql_bin_log.is_open()) > > { // this is where the log is > written} > > If an error occurs in mysql_register_view, e.g. > ER_OUT_OF_RESOURCES, ER_TABLE_EXISTS_ERROR, etc. the query > is still logged. > > > Is there a specific reason why it is logged even > though an error occurs? Or is it a bug? > Thanks & > Regards,Sriram > -----Inline Attachment Follows----- > > _______________________________________________ > 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 > >
_______________________________________________ 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