maria-developers team mailing list archive
Mailing list archive
Re: MDEV-318 IF (NOT) EXIST clauses for ALTER TABLE
On Jul 16, Alexey Botchkov wrote:
> Hi, Sergei.
> +++ sql/field.cc 2012-07-11 14:28:40 +0000
> @@ -9182,6 +9182,7 @@ void Create_field::init_for_tmp_table(en
> > First: please, see the last section in
> > http://kb.askmonty.org/en/how-to-get-more-out-of-bzr-when-working-on-mariadb/
> > and do as it suggests
> > I had to apply your patch locally and re-run bzr diff
> > to get the function names in the diff :(
> Wasn't able to start that last section.
> I created the .bazaar/diff_p/, the __init__.py, and .bazaar/rules files,
> then get:
it should be .bazaar/plugins/diff_p/
> $ bzr diff >dif2
> bzr: ERROR: exceptions.UnboundLocalError: local variable 'diff_file'
> referenced before assignment
Python is sentisive to indentation levels. May be you've messed up the
whitespace when copy-pasting from the kb? I'll attach the correct
__init__.py to this email.
> Although i used other tips from that page so my diff includes the
> function's names already. Maybe that's enough.
diff_p plugin is better because it adds function names to (almost) *all*
diffs. Not only to 'bzr diff', but also to 'bzr commit' generated
emails, 'bzr log', etc.
"""diff -p everywhere"""
version_info = (0, 0, 3)
from bzrlib import diff
from bzrlib.trace import mutter
old_init = diff.DiffText.__init__
def new_init(self, old_tree, new_tree, to_file, path_encoding='utf-8',
old_label='', new_label='', differ=diff.internal_diff):
if differ == diff.internal_diff:
def diff_file(old_filename, oldlines, new_filename, newlines, to_file,
allow_binary=False, sequence_matcher=None, path_encoding='utf8'):
re = old_tree.iter_search_rules([filename], ['diff_show_function_regex'])
diff.external_diff(old_filename, oldlines, new_filename,
newlines, to_file, ['-F', re.next()])
except (ValueError, IndexError):
mutter("Failed to use diff_p for %s" % old_filename)
diff.internal_diff(old_filename, oldlines, new_filename, newlines,
to_file, allow_binary, sequence_matcher, path_encoding)
differ = diff_file
old_init(self, old_tree, new_tree, to_file, path_encoding,
old_label, new_label, differ)
diff.DiffText.__init__ = new_init