abg / dbsake

Collection of mysql tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sieve + mysqldump --skip-comments is broken

abg opened this issue · comments

sieve's tokenizer currently relies on comments to detect section types. This needs to be made more intelligent to support more dump formats.

Currently this should be at least classified as a bug as it raises an unchecked exception:

$ ./dbsake sieve -O < sakila_skip_comments.sql
Uncaught exception! (╯°□°)╯ ︵ ┻━┻
Traceback (most recent call last):
  File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "./dbsake.sh/__main__.py", line 21, in <module>
    sys.exit(main())
  File "./dbsake.sh/__main__.py", line 18, in main
    sys.exit(dbsake.cli.main())
  File "./dbsake/cli/__init__.py", line 123, in main
    dbsake(args=argv, auto_envvar_prefix='DBSAKE', obj={})
  File "./dbsake.sh/click/core.py", line 488, in __call__
    return self.main(*args, **kwargs)
  File "./dbsake.sh/click/core.py", line 474, in main
    self.invoke(ctx)
  File "./dbsake.sh/click/core.py", line 758, in invoke
    return self.invoke_subcommand(ctx, cmd, cmd_name, ctx.args[1:])
  File "./dbsake.sh/click/core.py", line 767, in invoke_subcommand
    return cmd.invoke(cmd_ctx)
  File "./dbsake.sh/click/core.py", line 659, in invoke
    ctx.invoke(self.callback, **ctx.params)
  File "./dbsake.sh/click/core.py", line 325, in invoke
    return callback(*args, **kwargs)
  File "/home/abg/projects/pristine/dbsake/dbsake/cli/cmd/sieve.py", line 139, in sieve_cli
    stats = sieve.sieve(options)
  File "./dbsake/core/mysql/sieve/__init__.py", line 70, in sieve
    with open_stream(options) as input_stream:
  File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "./dbsake/util/compression.py", line 77, in decompressed_fileobj
    ext = magic_to_ext(fileobj)
  File "./dbsake/util/compression.py", line 68, in magic_to_ext
    raise OSError(errno.EIO, "Failed to detect compression type")
OSError: [Errno 5] Failed to detect compression type
It's okay. ┬─┬ノ( º_ ºノ)
Consider filing a bug report at https://github.com/abg/dbsake/issues