diff --git a/sql-common/client.c b/sql-common/client.c index 9e08e8c0f59..8259849cdbe 100644 --- a/sql-common/client.c +++ b/sql-common/client.c @@ -318,8 +318,9 @@ HANDLE create_named_pipe(NET *net, uint connect_timeout, char **arg_host, { net->last_errno=CR_NAMEDPIPEOPEN_ERROR; strmov(net->sqlstate, unknown_sqlstate); - sprintf(net->last_error,ER(net->last_errno),host, unix_socket, - (ulong) GetLastError()); + my_snprintf(net->last_error, sizeof(net->last_error)-1, + ER(net->last_errno), host, unix_socket, + (ulong) GetLastError()); return INVALID_HANDLE_VALUE; } /* wait for for an other instance */ @@ -327,8 +328,9 @@ HANDLE create_named_pipe(NET *net, uint connect_timeout, char **arg_host, { net->last_errno=CR_NAMEDPIPEWAIT_ERROR; strmov(net->sqlstate, unknown_sqlstate); - sprintf(net->last_error,ER(net->last_errno),host, unix_socket, - (ulong) GetLastError()); + my_snprintf(net->last_error, sizeof(net->last_error)-1, + ER(net->last_errno), host, unix_socket, + (ulong) GetLastError()); return INVALID_HANDLE_VALUE; } } @@ -336,8 +338,9 @@ HANDLE create_named_pipe(NET *net, uint connect_timeout, char **arg_host, { net->last_errno=CR_NAMEDPIPEOPEN_ERROR; strmov(net->sqlstate, unknown_sqlstate); - sprintf(net->last_error,ER(net->last_errno),host, unix_socket, - (ulong) GetLastError()); + my_snprintf(net->last_error, sizeof(net->last_error)-1, + ER(net->last_errno), host, unix_socket, + (ulong) GetLastError()); return INVALID_HANDLE_VALUE; } dwMode = PIPE_READMODE_BYTE | PIPE_WAIT; @@ -346,8 +349,9 @@ HANDLE create_named_pipe(NET *net, uint connect_timeout, char **arg_host, CloseHandle( hPipe ); net->last_errno=CR_NAMEDPIPESETSTATE_ERROR; strmov(net->sqlstate, unknown_sqlstate); - sprintf(net->last_error,ER(net->last_errno),host, unix_socket, - (ulong) GetLastError()); + my_snprintf(net->last_error, sizeof(net->last_error)-1, + ER(net->last_errno),host, unix_socket, + (ulong) GetLastError()); return INVALID_HANDLE_VALUE; } *arg_host=host ; *arg_unix_socket=unix_socket; /* connect arg */ @@ -560,9 +564,11 @@ err: net->last_errno=error_allow; strmov(net->sqlstate, unknown_sqlstate); if (error_allow == CR_SHARED_MEMORY_EVENT_ERROR) - sprintf(net->last_error,ER(net->last_errno),suffix_pos,error_code); + my_snprintf(net->last_error,sizeof(net->last_error)-1, + ER(net->last_errno),suffix_pos,error_code); else - sprintf(net->last_error,ER(net->last_errno),error_code); + my_snprintf(net->last_error,sizeof(net->last_error)-1, + ER(net->last_errno),error_code); return(INVALID_HANDLE_VALUE); } return(handle_map); @@ -792,7 +798,8 @@ static int check_license(MYSQL *mysql) if (net->last_errno == ER_UNKNOWN_SYSTEM_VARIABLE) { net->last_errno= CR_WRONG_LICENSE; - sprintf(net->last_error, ER(net->last_errno), required_license); + my_snprintf(net->last_error, sizeof(net->last_error)-1, + ER(net->last_errno), required_license); } return 1; } @@ -809,7 +816,8 @@ static int check_license(MYSQL *mysql) strncmp(row[0], required_license, sizeof(required_license)))) { net->last_errno= CR_WRONG_LICENSE; - sprintf(net->last_error, ER(net->last_errno), required_license); + my_snprintf(net->last_error, sizeof(net->last_error)-1, + ER(net->last_errno), required_license); } mysql_free_result(res); return net->last_errno; @@ -1647,7 +1655,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user, sock=0; unix_socket = 0; host=mysql->options.shared_memory_base_name; - sprintf(host_info=buff, ER(CR_SHARED_MEMORY_CONNECTION), host); + my_snprintf(host_info=buff, sizeof(buff)-1, + ER(CR_SHARED_MEMORY_CONNECTION), host); } } #endif /* HAVE_SMEM */ @@ -1667,7 +1676,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user, { net->last_errno=CR_SOCKET_CREATE_ERROR; strmov(net->sqlstate, unknown_sqlstate); - sprintf(net->last_error,ER(net->last_errno),socket_errno); + my_snprintf(net->last_error,sizeof(net->last_error)-1, + ER(net->last_errno),socket_errno); goto error; } net->vio = vio_new(sock, VIO_TYPE_SOCKET, TRUE); @@ -1681,7 +1691,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user, socket_errno)); net->last_errno=CR_CONNECTION_ERROR; strmov(net->sqlstate, unknown_sqlstate); - sprintf(net->last_error,ER(net->last_errno),unix_socket,socket_errno); + my_snprintf(net->last_error,sizeof(net->last_error)-1, + ER(net->last_errno),unix_socket,socket_errno); goto error; } mysql->options.protocol=MYSQL_PROTOCOL_SOCKET; @@ -1711,7 +1722,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user, else { net->vio=vio_new_win32pipe(hPipe); - sprintf(host_info=buff, ER(CR_NAMEDPIPE_CONNECTION), unix_socket); + my_snprintf(host_info=buff, sizeof(buff)-1, + ER(CR_NAMEDPIPE_CONNECTION), unix_socket); } } #endif @@ -1724,7 +1736,7 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user, port=mysql_port; if (!host) host=LOCAL_HOST; - sprintf(host_info=buff,ER(CR_TCP_CONNECTION),host); + my_snprintf(host_info=buff,sizeof(buff)-1,ER(CR_TCP_CONNECTION),host); DBUG_PRINT("info",("Server name: '%s'. TCP sock: %d", host,port)); #ifdef MYSQL_SERVER thr_alarm_init(&alarmed); @@ -1739,7 +1751,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user, { net->last_errno=CR_IPSOCK_ERROR; strmov(net->sqlstate, unknown_sqlstate); - sprintf(net->last_error,ER(net->last_errno),socket_errno); + my_snprintf(net->last_error,sizeof(net->last_error)-1, + ER(net->last_errno),socket_errno); goto error; } net->vio = vio_new(sock,VIO_TYPE_TCPIP,FALSE); @@ -1766,7 +1779,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user, my_gethostbyname_r_free(); net->last_errno=CR_UNKNOWN_HOST; strmov(net->sqlstate, unknown_sqlstate); - sprintf(net->last_error, ER(CR_UNKNOWN_HOST), host, tmp_errno); + my_snprintf(net->last_error, sizeof(net->last_error)-1, + ER(CR_UNKNOWN_HOST), host, tmp_errno); goto error; } memcpy(&sock_addr.sin_addr, hp->h_addr, @@ -1781,7 +1795,8 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user, host)); net->last_errno= CR_CONN_HOST_ERROR; strmov(net->sqlstate, unknown_sqlstate); - sprintf(net->last_error ,ER(CR_CONN_HOST_ERROR), host, socket_errno); + my_snprintf(net->last_error, sizeof(net->last_error)-1, + ER(CR_CONN_HOST_ERROR), host, socket_errno); goto error; } } @@ -1834,8 +1849,9 @@ CLI_MYSQL_REAL_CONNECT(MYSQL *mysql,const char *host, const char *user, { strmov(net->sqlstate, unknown_sqlstate); net->last_errno= CR_VERSION_ERROR; - sprintf(net->last_error, ER(CR_VERSION_ERROR), mysql->protocol_version, - PROTOCOL_VERSION); + my_snprintf(net->last_error, sizeof(net->last_error)-1, + ER(CR_VERSION_ERROR), mysql->protocol_version, + PROTOCOL_VERSION); goto error; } end=strend((char*) net->read_pos+1); diff --git a/sql/examples/ha_archive.cc b/sql/examples/ha_archive.cc index f04853fd482..dccff88bf1f 100644 --- a/sql/examples/ha_archive.cc +++ b/sql/examples/ha_archive.cc @@ -333,10 +333,8 @@ ARCHIVE_SHARE *ha_archive::get_share(const char *table_name, TABLE *table) if ((share->archive_write= gzopen(share->data_file_name, "ab")) == NULL) goto error2; if (my_hash_insert(&archive_open_tables, (byte*) share)) - goto error2; - thr_lock_init(&share->lock); - if (pthread_mutex_init(&share->mutex,MY_MUTEX_INIT_FAST)) goto error3; + thr_lock_init(&share->lock); } share->use_count++; pthread_mutex_unlock(&archive_mutex); @@ -344,14 +342,13 @@ ARCHIVE_SHARE *ha_archive::get_share(const char *table_name, TABLE *table) return share; error3: - VOID(pthread_mutex_destroy(&share->mutex)); - thr_lock_delete(&share->lock); /* We close, but ignore errors since we already have errors */ (void)gzclose(share->archive_write); error2: my_close(share->meta_file,MYF(0)); error: pthread_mutex_unlock(&archive_mutex); + VOID(pthread_mutex_destroy(&share->mutex)); my_free((gptr) share, MYF(0)); return NULL; @@ -485,23 +482,30 @@ int ha_archive::create(const char *name, TABLE *table_arg, if ((archive= gzdopen(create_file, "ab")) == NULL) { error= errno; - delete_table(name); - goto error; + goto error2; } if (write_data_header(archive)) { - gzclose(archive); - goto error2; + error= errno; + goto error3; } if (gzclose(archive)) + { + error= errno; goto error2; + } + + my_close(create_file, MYF(0)); DBUG_RETURN(0); +error3: + /* We already have an error, so ignore results of gzclose. */ + (void)gzclose(archive); error2: - error= errno; - delete_table(name); + my_close(create_file, MYF(0)); + delete_table(name); error: /* Return error number, if we got one */ DBUG_RETURN(error ? error : -1); @@ -751,7 +755,7 @@ int ha_archive::repair(THD* thd, HA_CHECK_OPT* check_opt) if ((rebuild_file= gzopen(data_file_name, "rb")) == NULL) DBUG_RETURN(errno ? errno : -1); - if (rc= read_data_header(rebuild_file)) + if ((rc= read_data_header(rebuild_file))) goto error; /* @@ -823,7 +827,7 @@ int ha_archive::optimize(THD* thd, HA_CHECK_OPT* check_opt) DBUG_RETURN(-1); } - while (read= gzread(reader, block, IO_SIZE)) + while ((read= gzread(reader, block, IO_SIZE))) gzwrite(writer, block, read); gzclose(reader); diff --git a/sql/field.cc b/sql/field.cc index 8e0fddae332..f89479d9314 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -1386,7 +1386,7 @@ int Field_short::store(const char *from,uint len,CHARSET_INFO *cs) error= 1; } #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int2store(ptr,tmp); } @@ -1437,7 +1437,7 @@ int Field_short::store(double nr) res=(int16) (int) nr; } #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int2store(ptr,res); } @@ -1486,7 +1486,7 @@ int Field_short::store(longlong nr) res=(int16) nr; } #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int2store(ptr,res); } @@ -1501,7 +1501,7 @@ double Field_short::val_real(void) { short j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) j=sint2korr(ptr); else #endif @@ -1513,7 +1513,7 @@ longlong Field_short::val_int(void) { short j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) j=sint2korr(ptr); else #endif @@ -1532,7 +1532,7 @@ String *Field_short::val_str(String *val_buffer, char *to=(char*) val_buffer->ptr(); short j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) j=sint2korr(ptr); else #endif @@ -1560,7 +1560,7 @@ int Field_short::cmp(const char *a_ptr, const char *b_ptr) { short a,b; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { a=sint2korr(a_ptr); b=sint2korr(b_ptr); @@ -1581,7 +1581,7 @@ int Field_short::cmp(const char *a_ptr, const char *b_ptr) void Field_short::sort_string(char *to,uint length __attribute__((unused))) { #ifdef WORDS_BIGENDIAN - if (!table->db_low_byte_first) + if (!table->s->db_low_byte_first) { if (unsigned_flag) to[0] = ptr[0]; @@ -1886,7 +1886,7 @@ int Field_long::store(const char *from,uint len,CHARSET_INFO *cs) store_tmp= (long) tmp; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int4store(ptr, store_tmp); } @@ -1937,7 +1937,7 @@ int Field_long::store(double nr) set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DATA_OUT_OF_RANGE, 1); #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int4store(ptr,res); } @@ -1988,7 +1988,7 @@ int Field_long::store(longlong nr) set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DATA_OUT_OF_RANGE, 1); #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int4store(ptr,res); } @@ -2003,7 +2003,7 @@ double Field_long::val_real(void) { int32 j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) j=sint4korr(ptr); else #endif @@ -2017,7 +2017,7 @@ longlong Field_long::val_int(void) /* See the comment in Field_long::store(long long) */ DBUG_ASSERT(table->in_use == current_thd); #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) j=sint4korr(ptr); else #endif @@ -2035,7 +2035,7 @@ String *Field_long::val_str(String *val_buffer, char *to=(char*) val_buffer->ptr(); int32 j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) j=sint4korr(ptr); else #endif @@ -2061,7 +2061,7 @@ int Field_long::cmp(const char *a_ptr, const char *b_ptr) { int32 a,b; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { a=sint4korr(a_ptr); b=sint4korr(b_ptr); @@ -2080,7 +2080,7 @@ int Field_long::cmp(const char *a_ptr, const char *b_ptr) void Field_long::sort_string(char *to,uint length __attribute__((unused))) { #ifdef WORDS_BIGENDIAN - if (!table->db_low_byte_first) + if (!table->s->db_low_byte_first) { if (unsigned_flag) to[0] = ptr[0]; @@ -2146,7 +2146,7 @@ int Field_longlong::store(const char *from,uint len,CHARSET_INFO *cs) check_int(from,len,end,cs)) error= 1; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int8store(ptr,tmp); } @@ -2197,7 +2197,7 @@ int Field_longlong::store(double nr) set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DATA_OUT_OF_RANGE, 1); #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int8store(ptr,res); } @@ -2211,7 +2211,7 @@ int Field_longlong::store(double nr) int Field_longlong::store(longlong nr) { #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int8store(ptr,nr); } @@ -2226,7 +2226,7 @@ double Field_longlong::val_real(void) { longlong j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { j=sint8korr(ptr); } @@ -2247,7 +2247,7 @@ longlong Field_longlong::val_int(void) { longlong j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) j=sint8korr(ptr); else #endif @@ -2266,7 +2266,7 @@ String *Field_longlong::val_str(String *val_buffer, char *to=(char*) val_buffer->ptr(); longlong j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) j=sint8korr(ptr); else #endif @@ -2291,7 +2291,7 @@ int Field_longlong::cmp(const char *a_ptr, const char *b_ptr) { longlong a,b; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { a=sint8korr(a_ptr); b=sint8korr(b_ptr); @@ -2311,7 +2311,7 @@ int Field_longlong::cmp(const char *a_ptr, const char *b_ptr) void Field_longlong::sort_string(char *to,uint length __attribute__((unused))) { #ifdef WORDS_BIGENDIAN - if (!table->db_low_byte_first) + if (!table->s->db_low_byte_first) { if (unsigned_flag) to[0] = ptr[0]; @@ -2427,7 +2427,7 @@ int Field_float::store(double nr) } #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { float4store(ptr,j); } @@ -2448,7 +2448,7 @@ double Field_float::val_real(void) { float j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { float4get(j,ptr); } @@ -2462,7 +2462,7 @@ longlong Field_float::val_int(void) { float j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { float4get(j,ptr); } @@ -2478,7 +2478,7 @@ String *Field_float::val_str(String *val_buffer, { float nr; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { float4get(nr,ptr); } @@ -2560,7 +2560,7 @@ int Field_float::cmp(const char *a_ptr, const char *b_ptr) { float a,b; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { float4get(a,a_ptr); float4get(b,b_ptr); @@ -2580,7 +2580,7 @@ void Field_float::sort_string(char *to,uint length __attribute__((unused))) { float nr; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { float4get(nr,ptr); } @@ -2709,7 +2709,7 @@ int Field_double::store(double nr) } #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { float8store(ptr,nr); } @@ -2730,7 +2730,7 @@ double Field_double::val_real(void) { double j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { float8get(j,ptr); } @@ -2744,7 +2744,7 @@ longlong Field_double::val_int(void) { double j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { float8get(j,ptr); } @@ -2760,7 +2760,7 @@ String *Field_double::val_str(String *val_buffer, { double nr; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { float8get(nr,ptr); } @@ -2848,7 +2848,7 @@ int Field_double::cmp(const char *a_ptr, const char *b_ptr) { double a,b; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { float8get(a,a_ptr); float8get(b,b_ptr); @@ -2871,7 +2871,7 @@ void Field_double::sort_string(char *to,uint length __attribute__((unused))) { double nr; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { float8get(nr,ptr); } @@ -3047,7 +3047,7 @@ int Field_timestamp::store(const char *from,uint len,CHARSET_INFO *cs) } #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int4store(ptr,tmp); } @@ -3106,7 +3106,7 @@ int Field_timestamp::store(longlong nr) nr, MYSQL_TIMESTAMP_DATETIME, 1); #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int4store(ptr,timestamp); } @@ -3130,7 +3130,7 @@ longlong Field_timestamp::val_int(void) THD *thd= table->in_use; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) temp=uint4korr(ptr); else #endif @@ -3160,7 +3160,7 @@ String *Field_timestamp::val_str(String *val_buffer, String *val_ptr) val_buffer->length(field_length); #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) temp=uint4korr(ptr); else #endif @@ -3225,7 +3225,7 @@ bool Field_timestamp::get_date(TIME *ltime, uint fuzzydate) long temp; THD *thd= table->in_use; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) temp=uint4korr(ptr); else #endif @@ -3262,7 +3262,7 @@ int Field_timestamp::cmp(const char *a_ptr, const char *b_ptr) { int32 a,b; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { a=sint4korr(a_ptr); b=sint4korr(b_ptr); @@ -3280,7 +3280,7 @@ int Field_timestamp::cmp(const char *a_ptr, const char *b_ptr) void Field_timestamp::sort_string(char *to,uint length __attribute__((unused))) { #ifdef WORDS_BIGENDIAN - if (!table->db_low_byte_first) + if (!table->s->db_low_byte_first) { to[0] = ptr[0]; to[1] = ptr[1]; @@ -3309,7 +3309,7 @@ void Field_timestamp::set_time() long tmp= (long) table->in_use->query_start(); set_notnull(); #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int4store(ptr,tmp); } @@ -3702,7 +3702,7 @@ int Field_date::store(const char *from, uint len,CHARSET_INFO *cs) from, len, MYSQL_TIMESTAMP_DATE, 1); #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int4store(ptr,tmp); } @@ -3730,7 +3730,7 @@ int Field_date::store(double nr) else tmp=(long) rint(nr); #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int4store(ptr,tmp); } @@ -3758,7 +3758,7 @@ int Field_date::store(longlong nr) else tmp=(long) nr; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int4store(ptr,tmp); } @@ -3784,7 +3784,7 @@ double Field_date::val_real(void) { int32 j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) j=sint4korr(ptr); else #endif @@ -3796,7 +3796,7 @@ longlong Field_date::val_int(void) { int32 j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) j=sint4korr(ptr); else #endif @@ -3811,7 +3811,7 @@ String *Field_date::val_str(String *val_buffer, val_buffer->alloc(field_length); int32 tmp; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) tmp=sint4korr(ptr); else #endif @@ -3829,7 +3829,7 @@ int Field_date::cmp(const char *a_ptr, const char *b_ptr) { int32 a,b; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { a=sint4korr(a_ptr); b=sint4korr(b_ptr); @@ -3847,7 +3847,7 @@ int Field_date::cmp(const char *a_ptr, const char *b_ptr) void Field_date::sort_string(char *to,uint length __attribute__((unused))) { #ifdef WORDS_BIGENDIAN - if (!table->db_low_byte_first) + if (!table->s->db_low_byte_first) { to[0] = ptr[0]; to[1] = ptr[1]; @@ -4085,7 +4085,7 @@ int Field_datetime::store(const char *from,uint len,CHARSET_INFO *cs) from, len, MYSQL_TIMESTAMP_DATETIME, 1); #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int8store(ptr,tmp); } @@ -4126,7 +4126,7 @@ int Field_datetime::store(longlong nr) MYSQL_TIMESTAMP_DATETIME, 1); #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int8store(ptr,nr); } @@ -4155,7 +4155,7 @@ int Field_datetime::store_time(TIME *ltime,timestamp_type type) set_warning(MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DATA_TRUNCATED, 1); } #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int8store(ptr,tmp); } @@ -4182,7 +4182,7 @@ longlong Field_datetime::val_int(void) { longlong j; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) j=sint8korr(ptr); else #endif @@ -4202,7 +4202,7 @@ String *Field_datetime::val_str(String *val_buffer, int part3; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) tmp=sint8korr(ptr); else #endif @@ -4267,7 +4267,7 @@ int Field_datetime::cmp(const char *a_ptr, const char *b_ptr) { longlong a,b; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { a=sint8korr(a_ptr); b=sint8korr(b_ptr); @@ -4285,7 +4285,7 @@ int Field_datetime::cmp(const char *a_ptr, const char *b_ptr) void Field_datetime::sort_string(char *to,uint length __attribute__((unused))) { #ifdef WORDS_BIGENDIAN - if (!table->db_low_byte_first) + if (!table->s->db_low_byte_first) { to[0] = ptr[0]; to[1] = ptr[1]; @@ -5156,7 +5156,7 @@ void Field_blob::store_length(uint32 number) break; case 2: #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int2store(ptr,(unsigned short) number); } @@ -5169,7 +5169,7 @@ void Field_blob::store_length(uint32 number) break; case 4: #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int4store(ptr,number); } @@ -5189,7 +5189,7 @@ uint32 Field_blob::get_length(const char *pos) { uint16 tmp; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) tmp=sint2korr(pos); else #endif @@ -5202,7 +5202,7 @@ uint32 Field_blob::get_length(const char *pos) { uint32 tmp; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) tmp=uint4korr(pos); else #endif @@ -5821,7 +5821,7 @@ void Field_enum::store_type(ulonglong value) case 1: ptr[0]= (uchar) value; break; case 2: #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int2store(ptr,(unsigned short) value); } @@ -5832,7 +5832,7 @@ void Field_enum::store_type(ulonglong value) case 3: int3store(ptr,(long) value); break; case 4: #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int4store(ptr,value); } @@ -5842,7 +5842,7 @@ void Field_enum::store_type(ulonglong value) break; case 8: #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) { int8store(ptr,value); } @@ -5933,7 +5933,7 @@ longlong Field_enum::val_int(void) { uint16 tmp; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) tmp=sint2korr(ptr); else #endif @@ -5946,7 +5946,7 @@ longlong Field_enum::val_int(void) { uint32 tmp; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) tmp=uint4korr(ptr); else #endif @@ -5957,7 +5957,7 @@ longlong Field_enum::val_int(void) { longlong tmp; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) tmp=sint8korr(ptr); else #endif diff --git a/sql/field.h b/sql/field.h index 9e690705801..670b778f863 100644 --- a/sql/field.h +++ b/sql/field.h @@ -713,7 +713,7 @@ public: if ((*null_value= is_null())) return 0; #ifdef WORDS_BIGENDIAN - if (table->db_low_byte_first) + if (table->s->db_low_byte_first) return sint4korr(ptr); #endif long tmp;