~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/compression/uncompress.h

  • Committer: Stewart Smith
  • Date: 2009-05-15 06:57:12 UTC
  • mto: (991.1.5 for-brian)
  • mto: This revision was merged to the branch mainline in revision 1022.
  • Revision ID: stewart@flamingspork.com-20090515065712-bmionylacjmexmmm
Make sql_mode=NO_AUTO_VALUE_ON_ZERO default for Drizzle.

Also fix DEFAULT keyword handling for auto-increment so that it defaults to
NULL and not 0 so that the following is valid and generates two auto-inc
values:

create table t1 (a int auto_increment primary key)
insert into t1 (a) values (default);
insert into t1 (a) values (default);

Important to note that 0 is no longer magic. So this gives you duplicate
primary key error:

insert into t1 (a) values(0);
insert into t1 (a) values(0);

as you've inserted the explicit value of 0 twice.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2008 Sun Microsystems, Inc.
 
4
 *  Copyright (C) 2008 Sun Microsystems
5
5
 *
6
6
 *  This program is free software; you can redistribute it and/or modify
7
7
 *  it under the terms of the GNU General Public License as published by
17
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 */
19
19
 
20
 
#ifndef PLUGIN_COMPRESSION_UNCOMPRESS_H
21
 
#define PLUGIN_COMPRESSION_UNCOMPRESS_H
 
20
#ifndef DRIZZLED_PLUGIN_COMPRESSION_UNCOMPRESS_H
 
21
#define DRIZZLED_PLUGIN_COMPRESSION_UNCOMPRESS_H
22
22
 
 
23
#include <drizzled/server_includes.h>
23
24
#include <drizzled/session.h>
24
25
#include <drizzled/error.h>
25
26
#include <drizzled/function/str/strfunc.h>
26
27
 
27
 
class Item_func_uncompress: public drizzled::Item_str_func
 
28
class Item_func_uncompress: public Item_str_func
28
29
{
29
 
  drizzled::String buffer;
 
30
  String buffer;
30
31
public:
31
32
  Item_func_uncompress(): Item_str_func(){}
32
 
  virtual ~Item_func_uncompress() {}
33
33
  void fix_length_and_dec(){ maybe_null= 1; max_length= MAX_BLOB_WIDTH; }
34
34
  bool check_argument_count(int n) { return (n==1); }
35
35
  const char *func_name() const{return "uncompress";}
36
 
  drizzled::String *val_str(drizzled::String *) ;
 
36
  String *val_str(String *) ;
37
37
};
38
38
 
39
39
 
40
 
#endif /* PLUGIN_COMPRESSION_UNCOMPRESS_H */
 
40
#endif /* DRIZZLED_PLUGIN_COMPRESSION_UNCOMPRESS_H */