~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/function/math/multiply.cc

  • Committer: Stewart Smith
  • Author(s): Marko Mäkelä
  • Date: 2010-12-20 03:21:44 UTC
  • mto: (2021.1.2 build)
  • mto: This revision was merged to the branch mainline in revision 2022.
  • Revision ID: stewart@flamingspork.com-20101220032144-7aqh2z403u7d7bdp
Merge Revision revid:marko.makela@oracle.com-20101104131215-pfxnpidlrzd4krg0 from MySQL InnoDB

Original revid:marko.makela@oracle.com-20101104131215-pfxnpidlrzd4krg0

Original Authors: Marko Mäkelä <marko.makela@oracle.com>
Original commit message:
row_ins_index_entry(): Note that only CREATE INDEX sets foreign=FALSE.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 */
19
19
 
20
 
#include <drizzled/server_includes.h>
21
 
#include CSTDINT_H
22
 
#include <drizzled/functions/multiply.h>
23
 
 
 
20
#include "config.h"
 
21
 
 
22
#include <drizzled/function/math/multiply.h>
 
23
 
 
24
#include <algorithm>
 
25
 
 
26
using namespace std;
 
27
 
 
28
namespace drizzled
 
29
{
24
30
 
25
31
double Item_func_mul::real_op()
26
32
{
67
73
    unsigned_flag= args[0]->unsigned_flag | args[1]->unsigned_flag;
68
74
  else
69
75
    unsigned_flag= args[0]->unsigned_flag & args[1]->unsigned_flag;
70
 
  decimals= cmin(args[0]->decimals + args[1]->decimals, DECIMAL_MAX_SCALE);
71
 
  int precision= cmin(args[0]->decimal_precision() + args[1]->decimal_precision(),
 
76
 
 
77
  decimals= min(args[0]->decimals + args[1]->decimals, DECIMAL_MAX_SCALE);
 
78
  int precision= min(args[0]->decimal_precision() + args[1]->decimal_precision(),
72
79
                     (unsigned int)DECIMAL_MAX_PRECISION);
73
80
  max_length= my_decimal_precision_to_length(precision, decimals,unsigned_flag);
74
81
}
75
82
 
76
 
 
 
83
} /* namespace drizzled */