Skip to content

Commit

Permalink
WL#7440: Moving binlog event decoding into separate package
Browse files Browse the repository at this point in the history
This patch remove all files that are not part of the decoder files and that
will only be available in the Binlog Events repository.
  • Loading branch information
Mats Kindahl committed Oct 13, 2014
1 parent 173fa3a commit d7e7655
Show file tree
Hide file tree
Showing 27 changed files with 236 additions and 1,658 deletions.
2 changes: 1 addition & 1 deletion .bzrignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ Win32
RelWithDebInfo
*~
.*.swp
./CMakeCache.txt
./MySql.ncb
./MySql.sln
./MySql.suo
Expand Down Expand Up @@ -99,6 +98,7 @@ BitKeeper/post-commit-manual
BitKeeper/tmp/*
BitKeeper/tmp/bkr3sAHD
BitKeeper/tmp/gone
CMakeCache.txt
CMakeFiles
CMakeFiles/*
CTestTestfile.cmake
Expand Down
2 changes: 0 additions & 2 deletions include/my_time.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,6 @@ typedef long my_time_t;
#define MY_TIME_T_MAX LONG_MAX
#define MY_TIME_T_MIN LONG_MIN

#define DATETIME_MAX_DECIMALS 6

/* Time handling defaults */
#define TIMESTAMP_MAX_YEAR 2038
#define TIMESTAMP_MIN_YEAR (1900 + YY_PART_YEAR - 1)
Expand Down
61 changes: 31 additions & 30 deletions include/mysql.h.pp
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,31 @@
typedef int my_socket;
#include "mysql_version.h"
#include "mysql_com.h"
#include "transitional_methods.h"
enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
MYSQL_TYPE_SHORT, MYSQL_TYPE_LONG,
MYSQL_TYPE_FLOAT, MYSQL_TYPE_DOUBLE,
MYSQL_TYPE_NULL, MYSQL_TYPE_TIMESTAMP,
MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24,
MYSQL_TYPE_DATE, MYSQL_TYPE_TIME,
MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR,
MYSQL_TYPE_NEWDATE, MYSQL_TYPE_VARCHAR,
MYSQL_TYPE_BIT,
MYSQL_TYPE_TIMESTAMP2,
MYSQL_TYPE_DATETIME2,
MYSQL_TYPE_TIME2,
MYSQL_TYPE_NEWDECIMAL=246,
MYSQL_TYPE_ENUM=247,
MYSQL_TYPE_SET=248,
MYSQL_TYPE_TINY_BLOB=249,
MYSQL_TYPE_MEDIUM_BLOB=250,
MYSQL_TYPE_LONG_BLOB=251,
MYSQL_TYPE_BLOB=252,
MYSQL_TYPE_VAR_STRING=253,
MYSQL_TYPE_STRING=254,
MYSQL_TYPE_GEOMETRY=255
};
#include "binary_log_types.h"
typedef enum enum_field_types {
MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
MYSQL_TYPE_SHORT, MYSQL_TYPE_LONG,
MYSQL_TYPE_FLOAT, MYSQL_TYPE_DOUBLE,
MYSQL_TYPE_NULL, MYSQL_TYPE_TIMESTAMP,
MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24,
MYSQL_TYPE_DATE, MYSQL_TYPE_TIME,
MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR,
MYSQL_TYPE_NEWDATE, MYSQL_TYPE_VARCHAR,
MYSQL_TYPE_BIT,
MYSQL_TYPE_TIMESTAMP2,
MYSQL_TYPE_DATETIME2,
MYSQL_TYPE_TIME2,
MYSQL_TYPE_NEWDECIMAL=246,
MYSQL_TYPE_ENUM=247,
MYSQL_TYPE_SET=248,
MYSQL_TYPE_TINY_BLOB=249,
MYSQL_TYPE_MEDIUM_BLOB=250,
MYSQL_TYPE_LONG_BLOB=251,
MYSQL_TYPE_BLOB=252,
MYSQL_TYPE_VAR_STRING=253,
MYSQL_TYPE_STRING=254,
MYSQL_TYPE_GEOMETRY=255
} enum_field_types;
enum enum_server_command
{
COM_SLEEP, COM_QUIT, COM_INIT_DB, COM_QUERY, COM_FIELD_LIST,
Expand Down Expand Up @@ -490,13 +491,13 @@
void mysql_get_character_set_info(MYSQL *mysql,
MY_CHARSET_INFO *charset);
int mysql_session_track_get_first(MYSQL *mysql,
enum enum_session_state_type type,
const char **data,
size_t *length);
enum enum_session_state_type type,
const char **data,
size_t *length);
int mysql_session_track_get_next(MYSQL *mysql,
enum enum_session_state_type type,
const char **data,
size_t *length);
enum enum_session_state_type type,
const char **data,
size_t *length);
void
mysql_set_local_infile_handler(MYSQL *mysql,
int (*local_infile_init)(void **, const char *,
Expand Down
2 changes: 1 addition & 1 deletion include/mysql_com.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

#ifndef _mysql_com_h
#define _mysql_com_h
#include "transitional_methods.h"
#include "binary_log_types.h"
#define HOSTNAME_LENGTH 60
#define SYSTEM_CHARSET_MBMAXLEN 3
#define NAME_CHAR_LEN 64 /* Field/table name length */
Expand Down
69 changes: 69 additions & 0 deletions libbinlogevents/export/binary_log_types.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
/* Copyright (c) 2014 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 as published by
the Free Software Foundation; version 2 of the License.
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 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 */

/**
@file binary_log_types.h
@brief Functions and types that are used to compute information
about date and time values.
@note This file can be imported both from C and C++ code, so the
definitions have to be constructed to support this.
*/

#ifndef BINARY_LOG_TYPES_INCLUDED
#define BINARY_LOG_TYPES_INCLUDED

#ifdef __cplusplus
extern "C"
{
#endif

/*
* Constants exported from this package.
*/

typedef enum enum_field_types {
MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
MYSQL_TYPE_SHORT, MYSQL_TYPE_LONG,
MYSQL_TYPE_FLOAT, MYSQL_TYPE_DOUBLE,
MYSQL_TYPE_NULL, MYSQL_TYPE_TIMESTAMP,
MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24,
MYSQL_TYPE_DATE, MYSQL_TYPE_TIME,
MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR,
MYSQL_TYPE_NEWDATE, MYSQL_TYPE_VARCHAR,
MYSQL_TYPE_BIT,
MYSQL_TYPE_TIMESTAMP2,
MYSQL_TYPE_DATETIME2,
MYSQL_TYPE_TIME2,
MYSQL_TYPE_NEWDECIMAL=246,
MYSQL_TYPE_ENUM=247,
MYSQL_TYPE_SET=248,
MYSQL_TYPE_TINY_BLOB=249,
MYSQL_TYPE_MEDIUM_BLOB=250,
MYSQL_TYPE_LONG_BLOB=251,
MYSQL_TYPE_BLOB=252,
MYSQL_TYPE_VAR_STRING=253,
MYSQL_TYPE_STRING=254,
MYSQL_TYPE_GEOMETRY=255
} enum_field_types;

#define DATETIME_MAX_DECIMALS 6

#ifdef __cplusplus
}
#endif // __cplusplus

#endif /* BINARY_LOG_TYPES_INCLUDED */
58 changes: 0 additions & 58 deletions libbinlogevents/export/transitional_methods.h

This file was deleted.

4 changes: 1 addition & 3 deletions libbinlogevents/include/binary_log.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,8 @@
#include "binlog_event.h"
#include "control_events.h"
#include "statement_events.h"
#include "field_iterator.h"
#include "load_data_events.h"
#include "rowset.h"
#include "rows_event.h"
#include "transitional_methods.h"
#include "binary_log_types.h"

#endif /* BINARY_LOG_INCLUDED */
30 changes: 0 additions & 30 deletions libbinlogevents/include/binary_log_decimal.h

This file was deleted.

65 changes: 65 additions & 0 deletions libbinlogevents/include/binary_log_funcs.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
/*
* Functions exported from this package.
*/

#ifndef BINARY_LOG_FUNCS_INCLUDED
#define BINARY_LOG_FUNCS_INCLUDED

#include "binary_log_types.h"

// We use cstdint if this is 2011 standard (or later)
#if __cplusplus > 201100L
#include <cstdint>
#else
#include <stdint.h>
#endif

#ifdef __cplusplus
extern "C"
{
#endif

unsigned int my_time_binary_length(unsigned int dec);
unsigned int my_datetime_binary_length(unsigned int dec);
unsigned int my_timestamp_binary_length(unsigned int dec);

/**
This helper function calculates the size in bytes of a particular field in a
row type event as defined by the field_ptr and metadata_ptr arguments.
@param column_type Field type code
@param field_ptr The field data
@param metadata_ptr The field metadata
@note We need the actual field data because the string field size is not
part of the meta data. :(
@return The size in bytes of a particular field
*/
uint32_t calc_field_size(unsigned char column_type, const unsigned char *field_ptr,
unsigned int metadata);


/**
Compute the maximum display length of a field.
@param sql_type Type of the field
@param metadata The metadata from the master for the field.
@return Maximum length of the field in bytes.
*/
unsigned int max_display_length_for_field(enum_field_types sql_type,
unsigned int metadata);

/**
Returns the size of array to hold a binary representation of a decimal
@param precision number of significant digits in a particular radix R
where R is either 2 or 10.
@param scale to what position to round.
@return size in bytes
*/
int decimal_binary_size(int precision, int scale);

#ifdef __cplusplus
}
#endif // __cplusplus

#endif /* BINARY_LOG_FUNCS_INCLUDED */
36 changes: 36 additions & 0 deletions libbinlogevents/include/binlog_config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/**
Copyright (c) 2014, 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 as published by
the Free Software Foundation; version 2 of the License.
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 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 BAPI_CONFIG_INCLUDED
#define BAPI_CONFIG_INCLUDED
/* Headers we may use */
#define HAVE_STDINT_H 1
#define HAVE_ENDIAN_H 1
/* Symbols we may use */
/* #undef IS_BIG_ENDIAN */
#define HAVE_LE64TOH 1
#define HAVE_LE32TOH 1
#define HAVE_LE16TOH 1
#define HAVE_STRNDUP 1
#define HAVE_ENDIAN_CONVERSION_MACROS 1
#define SIZEOF_LONG_LONG 8
#define HAVE_LONG_LONG 1
#define SIZEOF_LONG 4
#define HAVE_LONG 1
#define SIZEOF_INT 4
#define HAVE_INT 1

#endif
Loading

0 comments on commit d7e7655

Please sign in to comment.