Hi Alexander and all,

Following are the steps that I am following for implementing "CREATE OR
REPLACE" for DATABASE

"..." signifies, there exists one or more lines of code in that block of
the function.

mysql_create_db(...)
  ...
  ...
  if(db exists) {
    if(create_or_replace) {
      if(DROP_ACL access not granted) {
        // Error 1
        DBUG_RETURN(-1)
      }

      if(mysql_rm_db(...) unsuccessful) {
        // Error 2
        DBUG_RETURN(-1)
      }

      Reset m_status from diagnostics cause it is changed by mysql_rm_db.
      Proceed with normal create db.
    }
    else if(if not exists) {
      ...
    }
    else
      ...
  }
  ...
  ...
}

Is the above algorithm correct? Also, I am not yet sure which errors should
be displayed at both the places "Error 1" and "Error 2".

I have written and tested the above code. It is working fine. Testing
involves running all the existing test cases and executing "CREATE OR
REPLACE DATABASE" command on the console manually. "IF NOT EXISTS" gives
error if used with "CREATE OR REPLACE".

Any other test cases I need to consider?

Thanks,
Sriram
_______________________________________________
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

Reply via email to