• kroki/tomash@moonlight.intranet's avatar
    BUG#20953: create proc with a create view that uses local vars/params · 591c06d4
    kroki/tomash@moonlight.intranet authored
               should fail to create
    
    The problem was that this type of errors was checked during view
    creation, which doesn't happen when CREATE VIEW is a statement of
    a created stored routine.
    
    The solution is to perform the checks at parse time.  The idea of the
    fix is that the parser checks if a construction just parsed is allowed
    in current circumstances by testing certain flags, and this flags are
    reset for VIEWs.
    
    The side effect of this change is that if the user already have
    such bogus routines, it will now get a error when trying to do
    
      SHOW CREATE PROCEDURE proc;
    
    (and some other) and when trying to execute such routine he will get
    
      ERROR 1457 (HY000): Failed to load routine test.p5. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6)
    
    However there should be very few such users (if any), and they may
    (and should) drop these bogus routines.
    591c06d4
sql_view.cc 47.5 KB