~jorge/charms/precise/mysql/fix-metadata

« back to all changes in this revision

Viewing changes to formulas/mysql/mysql.aug

  • Committer: Clint Byrum
  • Date: 2011-03-17 20:43:05 UTC
  • mto: This revision was merged to the branch mainline in revision 38.
  • Revision ID: clint@ubuntu.com-20110317204305-8mfbh9bto61lndcs
- adding master/slave replication
- setting default storage engine to innodb to make replication snaps faster and provide better data integrity

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
(* MySQL module for Augeas                    *)
 
2
(* Author: Tim Stoop <tim@kumina.nl>          *)
 
3
(* Heavily based on php.aug by Raphael Pinson *)
 
4
(* <raphink@gmail.com>                        *)
 
5
(*                                            *)
 
6
 
 
7
module MySQL =
 
8
  autoload xfm
 
9
 
 
10
(************************************************************************
 
11
 * INI File settings
 
12
 *************************************************************************)
 
13
let comment  = IniFile.comment IniFile.comment_re "#"
 
14
 
 
15
let sep      = IniFile.sep IniFile.sep_re IniFile.sep_default
 
16
 
 
17
let entry    = [ key IniFile.entry_re . sep . IniFile.sto_to_comment . (comment|IniFile.eol) ] | 
 
18
               [ key IniFile.entry_re . store // . (comment|IniFile.eol) ] | 
 
19
               [ key /\![A-Za-z][A-Za-z0-9\._-]+/ . del / / " " . store /\/[A-Za-z0-9\.\/_-]+/ . (comment|IniFile.eol) ] |
 
20
               comment
 
21
 
 
22
(************************************************************************
 
23
 * sections, led by a "[section]" header
 
24
 * We can't use titles as node names here since they could contain "/"
 
25
 * We remove #comment from possible keys
 
26
 * since it is used as label for comments
 
27
 * We also remove / as first character
 
28
 * because augeas doesn't like '/' keys (although it is legal in INI Files)
 
29
 *************************************************************************)
 
30
let title   = IniFile.indented_title_label "target" IniFile.record_label_re
 
31
let record  = IniFile.record title entry
 
32
 
 
33
let lns    = IniFile.lns record comment
 
34
 
 
35
let filter = (incl "/etc/mysql/my.cnf")
 
36
             . (incl "/etc/mysql/conf.d/*.cnf")
 
37
             . Util.stdexcl
 
38
 
 
39
let xfm = transform lns filter
 
40