~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/function/str/insert.cc

  • Committer: lbieber
  • Date: 2010-10-06 16:34:16 UTC
  • mfrom: (1816.1.3 build)
  • Revision ID: lbieber@orisndriz08-20101006163416-ea0sl59qgpglk21y
Merge Monty - Change the requirement from either libinnodb to libhaildb. Also, tied it to version 2.2
Merge Andrew - fix bug 650935: remove --compress from all clients
Merge Andrew - fix bug 653471: Add -A to drizzle client
Merge Travis - 621861 = To change C structs to C++ classes in Drizzle

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
42
42
      args[3]->null_value)
43
43
    goto null;
44
44
 
45
 
  if ((start < 0) || (start > static_cast<int64_t>(res->length())))
 
45
  if ((start < 0) || (start > res->length()))
46
46
    return res;                                 // Wrong param; skip insert
47
 
  if ((length < 0) || (length > static_cast<int64_t>(res->length())))
 
47
  if ((length < 0) || (length > res->length()))
48
48
    length= res->length();
49
49
 
50
50
  /* start and length are now sufficiently valid to pass to charpos function */
52
52
   length= res->charpos((int) length, (uint32_t) start);
53
53
 
54
54
  /* Re-testing with corrected params */
55
 
  if (start > static_cast<int64_t>(res->length()))
 
55
  if (start > res->length())
56
56
    return res;
57
 
  if (length > static_cast<int64_t>(res->length()) - start)
 
57
  if (length > res->length() - start)
58
58
    length= res->length() - start;
59
59
 
60
60
  if ((uint64_t) (res->length() - length + res2->length()) >