528a529,597
>      #57
>       {
>               func   => 'replace',
>               args   => ['test', { pet => 'monkey' }, { name => 'spiros' }],
>               stmt   => 'REPLACE test SET pet = ? WHERE ( name = ? )',
>               stmt_q => 'REPLACE `test` SET `pet` = ? WHERE ( `name` = ? )',
>               bind   => ['monkey','spiros']
>       },
>       #58
>        {
>                func   => 'replace',
>                args   => ['test', { c => 1 }, { a => {'<' => \["42"]}, b => 8 }],
>                stmt   => 'REPLACE test SET c = ? WHERE ( ( a < 42 AND b = ? ) )',
>                stmt_q => 'REPLACE `test` SET `c` = ? WHERE ( ( `a` < 42 AND `b` = ? ) )',
>                bind   => [1,8]
>        },
>        #59            
>        {              
>                func   => 'replace',
>                args   => ['test', {a => 1, b => 2, c => 3, d => 4, e => 5}, {a => {'in', [1..5]}}],
>                stmt   => 'REPLACE test SET a = ?, b = ?, c = ?, d = ?, e = ? WHERE ( a IN ( ?, ?, ?, ?, ? ) )',
>                stmt_q => 'REPLACE `test` SET `a` = ?, `b` = ?, `c` = ?, `d` = ?, `e` = ? WHERE ( `a` IN ( ?, ?, ?, ?, ? ) )',
>                bind   => [qw/1 2 3 4 5 1 2 3 4 5/],
>        },             
>        #60            
>        {              
>                func   => 'replace',
>                args   => ['test', {a => 1, b => \["to_date(?, 'MM/DD/YY')", '02/02/02']}, {a => {'between', [1,2]}}],
>                stmt   => 'REPLACE test SET a = ?, b = to_date(?, \'MM/DD/YY\') WHERE ( a BETWEEN ? AND ? )',
>                stmt_q => 'REPLACE `test` SET `a` = ?, `b` = to_date(?, \'MM/DD/YY\') WHERE ( `a` BETWEEN ? AND ? )',
>                bind   => [qw(1 02/02/02 1 2)],
>        },
>        #61            
>        {              
>                func   => 'replace',
>                new    => {bindtype => 'columns', cmp => 'like'},
>                args   => ['testin.table2', {One => 22, Three => 44, FIVE => 66},
>                                            {Beer => 'is', Yummy => '%YES%', IT => ['IS','REALLY','GOOD']}],
>                stmt   => 'REPLACE testin.table2 SET FIVE = ?, One = ?, Three = ? WHERE '
>                         . '( Beer LIKE ? AND ( ( IT LIKE ? ) OR ( IT LIKE ? ) OR ( IT LIKE ? ) ) AND Yummy LIKE ? )',
>                stmt_q => 'REPLACE `testin`.`table2` SET `FIVE` = ?, `One` = ?, `Three` = ? WHERE '
>                         . '( `Beer` LIKE ? AND ( ( `IT` LIKE ? ) OR ( `IT` LIKE ? ) OR ( `IT` LIKE ? ) ) AND `Yummy` LIKE ? )',
>                bind   => [['FIVE', 66], ['One', 22], ['Three', 44], ['Beer','is'],
>                           ['IT','IS'], ['IT','REALLY'], ['IT','GOOD'], ['Yummy','%YES%']],
>        },
>        #62            
>       {              
>               func   => 'replace',
>               args   => ['test', {a => 'boom'}, {a => undef}],
>               stmt   => 'REPLACE test SET a = ? WHERE ( a IS NULL )',
>               stmt_q => 'REPLACE `test` SET `a` = ? WHERE ( `a` IS NULL )',
>               bind   => ['boom']
>       },             
>       #63           
>       {              
>               func   => 'replace',
>               args   => ['test', {a => 'boom'}, { a => {'!=', "bang" }} ],
>               stmt   => 'REPLACe test SET a = ? WHERE ( a != ? )',
>               stmt_q => 'REPLACE `test` SET `a` = ? WHERE ( `a` != ? )',
>               bind   => ['boom', 'bang']
>       },             
>       #64            
>       {              
>               func   => 'replace',
>               args   => ['test', {'a-funny-flavored-candy' => 'yummy', b => 'oops'}, { a42 => "bang" }],
>               stmt   => 'REPLACE test SET a-funny-flavored-candy = ?, b = ? WHERE ( a42 = ? )',
>               stmt_q => 'REPLACE `test` SET `a-funny-flavored-candy` = ?, `b` = ? WHERE ( `a42` = ? )',
>               bind   => ['yummy', 'oops', 'bang']
>       },
