/
usr
/
include
/
mysql
/
/usr/include/mysql
mkdir
upload
Name
Size
Mode
Actions
mysql/
-
0755
rm
big_endian.h
4931
0644
edit
dl
rm
byte_order_generic.h
5620
0644
edit
dl
rm
byte_order_generic_x86.h
4710
0644
edit
dl
rm
byte_order_generic_x86_64.h
4468
0644
edit
dl
rm
decimal.h
5617
0644
edit
dl
rm
errmsg.h
4721
0644
edit
dl
rm
keycache.h
7502
0644
edit
dl
rm
little_endian.h
4115
0644
edit
dl
rm
mysql.h
29833
0644
edit
dl
rm
mysqld_ername.h
95816
0644
edit
dl
rm
mysqld_error.h
34839
0644
edit
dl
rm
mysql_com.h
24418
0644
edit
dl
rm
mysql_com_server.h
1737
0644
edit
dl
rm
mysql_embed.h
1609
0644
edit
dl
rm
mysql_time.h
2856
0644
edit
dl
rm
mysql_version.h
900
0644
edit
dl
rm
my_alloc.h
2628
0644
edit
dl
rm
my_attribute.h
2512
0644
edit
dl
rm
my_byteorder.h
2683
0644
edit
dl
rm
my_compiler.h
4940
0644
edit
dl
rm
my_config.h
17282
0644
edit
dl
rm
my_dbug.h
8908
0644
edit
dl
rm
my_dir.h
3997
0644
edit
dl
rm
my_getopt.h
6551
0644
edit
dl
rm
my_global.h
33805
0644
edit
dl
rm
my_list.h
2210
0644
edit
dl
rm
my_net.h
2489
0644
edit
dl
rm
my_pthread.h
31745
0644
edit
dl
rm
my_sys.h
41724
0644
edit
dl
rm
my_xml.h
3245
0644
edit
dl
rm
m_ctype.h
33915
0644
edit
dl
rm
m_string.h
9964
0644
edit
dl
rm
plugin.h
24625
0644
edit
dl
rm
plugin_audit.h
4564
0644
edit
dl
rm
plugin_ftparser.h
8013
0644
edit
dl
rm
plugin_validate_password.h
2000
0644
edit
dl
rm
sql_common.h
5403
0644
edit
dl
rm
sql_state.h
13331
0644
edit
dl
rm
sslopt-case.h
2075
0644
edit
dl
rm
sslopt-longopts.h
3090
0644
edit
dl
rm
sslopt-vars.h
1912
0644
edit
dl
rm
typelib.h
2986
0644
edit
dl
rm
Edit:
/usr/include/mysql/decimal.h
(5617B)
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2.0, as published by the Free Software Foundation. This program is also distributed with certain software (including but not limited to OpenSSL) that is licensed under separate terms, as designated in a particular file or component or in included license documentation. The authors of MySQL hereby grant you an additional permission to link the program and your derivative works with the separately licensed software that they have included with MySQL. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License, version 2.0, for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef _decimal_h #define _decimal_h typedef enum {TRUNCATE=0, HALF_EVEN, HALF_UP, CEILING, FLOOR} decimal_round_mode; typedef int32 decimal_digit_t; /** intg is the number of *decimal* digits (NOT number of decimal_digit_t's !) before the point frac is the number of decimal digits after the point len is the length of buf (length of allocated space) in decimal_digit_t's, not in bytes sign false means positive, true means negative buf is an array of decimal_digit_t's */ typedef struct st_decimal_t { int intg, frac, len; my_bool sign; decimal_digit_t *buf; } decimal_t; int internal_str2dec(const char *from, decimal_t *to, char **end, my_bool fixed); int decimal2string(const decimal_t *from, char *to, int *to_len, int fixed_precision, int fixed_decimals, char filler); int decimal2ulonglong(decimal_t *from, ulonglong *to); int ulonglong2decimal(ulonglong from, decimal_t *to); int decimal2longlong(decimal_t *from, longlong *to); int longlong2decimal(longlong from, decimal_t *to); int decimal2double(const decimal_t *from, double *to); int double2decimal(double from, decimal_t *to); int decimal_actual_fraction(decimal_t *from); int decimal2bin(decimal_t *from, uchar *to, int precision, int scale); int bin2decimal(const uchar *from, decimal_t *to, int precision, int scale); /** Convert decimal to lldiv_t. The integer part is stored in to->quot. The fractional part is multiplied to 10^9 and stored to to->rem. @param from Decimal value @param to lldiv_t value @retval 0 on success @retval !0 in error */ int decimal2lldiv_t(const decimal_t *from, lldiv_t *to); /** Convert doube to lldiv_t. The integer part is stored in to->quot. The fractional part is multiplied to 10^9 and stored to to->rem. @param from Decimal value @param to lldiv_t value @retval 0 on success @retval !0 in error */ int double2lldiv_t(double from, lldiv_t *to); int decimal_size(int precision, int scale); int decimal_bin_size(int precision, int scale); int decimal_result_size(decimal_t *from1, decimal_t *from2, char op, int param); int decimal_intg(const decimal_t *from); int decimal_add(const decimal_t *from1, const decimal_t *from2, decimal_t *to); int decimal_sub(const decimal_t *from1, const decimal_t *from2, decimal_t *to); int decimal_cmp(const decimal_t *from1, const decimal_t *from2); int decimal_mul(const decimal_t *from1, const decimal_t *from2, decimal_t *to); int decimal_div(const decimal_t *from1, const decimal_t *from2, decimal_t *to, int scale_incr); int decimal_mod(const decimal_t *from1, const decimal_t *from2, decimal_t *to); int decimal_round(const decimal_t *from, decimal_t *to, int new_scale, decimal_round_mode mode); int decimal_is_zero(const decimal_t *from); void max_decimal(int precision, int frac, decimal_t *to); #define string2decimal(A,B,C) internal_str2dec((A), (B), (C), 0) #define string2decimal_fixed(A,B,C) internal_str2dec((A), (B), (C), 1) /* set a decimal_t to zero */ #define decimal_make_zero(dec) do { \ (dec)->buf[0]=0; \ (dec)->intg=1; \ (dec)->frac=0; \ (dec)->sign=0; \ } while(0) /* returns the length of the buffer to hold string representation of the decimal (including decimal dot, possible sign and \0) */ #define decimal_string_size(dec) (((dec)->intg ? (dec)->intg : 1) + \ (dec)->frac + ((dec)->frac > 0) + 2) /* negate a decimal */ #define decimal_neg(dec) do { (dec)->sign^=1; } while(0) /* conventions: decimal_smth() == 0 -- everything's ok decimal_smth() <= 1 -- result is usable, but precision loss is possible decimal_smth() <= 2 -- result can be unusable, most significant digits could've been lost decimal_smth() > 2 -- no result was generated */ #define E_DEC_OK 0 #define E_DEC_TRUNCATED 1 #define E_DEC_OVERFLOW 2 #define E_DEC_DIV_ZERO 4 #define E_DEC_BAD_NUM 8 #define E_DEC_OOM 16 #define E_DEC_ERROR 31 #define E_DEC_FATAL_ERROR 30 #endif
Save
cmd:
run