mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header Added GPL copyright text my_vle.h, rpl_utility.h, my_vle.c, base64-t.c, rpl_utility.cc: Changed copyright header formatting some plugin_example.c, daemon_example.c: Added "Copyright (C) 2006 MySQL AB" to GPL header CMakeLists.txt: Added GPL copyright text client/CMakeLists.txt: Added GPL copyright text dbug/CMakeLists.txt: Added GPL copyright text extra/CMakeLists.txt: Added GPL copyright text extra/yassl/CMakeLists.txt: Added GPL copyright text extra/yassl/taocrypt/CMakeLists.txt: Added GPL copyright text libmysql/CMakeLists.txt: Added GPL copyright text libmysqld/CMakeLists.txt: Added GPL copyright text libmysqld/examples/CMakeLists.txt: Added GPL copyright text mysys/CMakeLists.txt: Added GPL copyright text regex/CMakeLists.txt: Added GPL copyright text server-tools/instance-manager/CMakeLists.txt: Added GPL copyright text sql/CMakeLists.txt: Added GPL copyright text storage/archive/CMakeLists.txt: Added GPL copyright text storage/blackhole/CMakeLists.txt: Added GPL copyright text storage/csv/CMakeLists.txt: Added GPL copyright text storage/example/CMakeLists.txt: Added GPL copyright text storage/federated/CMakeLists.txt: Added GPL copyright text storage/heap/CMakeLists.txt: Added GPL copyright text storage/innobase/CMakeLists.txt: Added GPL copyright text storage/myisam/CMakeLists.txt: Added GPL copyright text storage/myisammrg/CMakeLists.txt: Added GPL copyright text strings/CMakeLists.txt: Added GPL copyright text tests/CMakeLists.txt: Added GPL copyright text vio/CMakeLists.txt: Added GPL copyright text zlib/CMakeLists.txt: Added GPL copyright text include/my_vle.h: Changed copyright header formatting some mysys/my_vle.c: Changed copyright header formatting some plugin/daemon_example/daemon_example.c: Added "Copyright (C) 2006 MySQL AB" to GPL header plugin/fulltext/plugin_example.c: Added "Copyright (C) 2006 MySQL AB" to GPL header plugin/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/authors.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/contributors.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/item_xmlfunc.cc: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/partition_element.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/partition_info.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/rpl_injector.cc: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/rpl_injector.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/sql_binlog.cc: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/sql_servers.h: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/archive/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/blackhole/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/csv/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/example/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header storage/federated/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header win/Makefile.am: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header sql/rpl_utility.cc: Changed copyright header formatting some sql/rpl_utility.h: Changed copyright header formatting some unittest/mysys/base64-t.c: Changed copyright header formatting some include/my_uctype.h: Added GPL copyright text plugin/daemon_example/Makefile.am: Added GPL copyright text plugin/fulltext/Makefile.am: Added GPL copyright text scripts/make_win_bin_dist: Added GPL copyright text server-tools/instance-manager/user_management_commands.cc: Added GPL copyright text sql/sql_builtin.cc.in: Added GPL copyright text sql/sql_show.h: Added GPL copyright text storage/archive/archive_test.c: Added GPL copyright text storage/ndb/src/kernel/blocks/dbtup/test_varpage.cpp: Added GPL copyright text storage/ndb/src/kernel/blocks/diskpage.cpp: Added GPL copyright text storage/ndb/src/kernel/vm/Rope.cpp: Added GPL copyright text storage/ndb/src/mgmsrv/ParamInfo.hpp: Added GPL copyright text strings/uctypedump.c: Added GPL copyright text unittest/Makefile.am: Added GPL copyright text unittest/examples/Makefile.am: Added GPL copyright text unittest/examples/core-t.c: Added GPL copyright text unittest/examples/no_plan-t.c: Added GPL copyright text unittest/examples/simple-t.c: Added GPL copyright text unittest/examples/skip-t.c: Added GPL copyright text unittest/examples/skip_all-t.c: Added GPL copyright text unittest/examples/todo-t.c: Added GPL copyright text unittest/mysys/Makefile.am: Added GPL copyright text unittest/mytap/Makefile.am: Added GPL copyright text unittest/mytap/t/Makefile.am: Added GPL copyright text unittest/mytap/t/basic-t.c: Added GPL copyright text unittest/unit.pl: Added GPL copyright text win/build-vs71.bat: Added GPL copyright text win/build-vs8.bat: Added GPL copyright text win/configure.js: Added GPL copyright text
		
			
				
	
	
		
			126 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/* Copyright (C) 2006 MySQL AB
 | 
						|
 | 
						|
   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 RPL_UTILITY_H
 | 
						|
#define RPL_UTILITY_H
 | 
						|
 | 
						|
#ifndef __cplusplus
 | 
						|
#error "Don't include this C++ header file from a non-C++ file!"
 | 
						|
#endif
 | 
						|
 | 
						|
#include "mysql_priv.h"
 | 
						|
 | 
						|
uint32
 | 
						|
field_length_from_packed(enum_field_types const field_type, 
 | 
						|
                         byte const *const data);
 | 
						|
 | 
						|
/*
 | 
						|
  A table definition from the master.
 | 
						|
 | 
						|
  RESPONSIBILITIES
 | 
						|
 | 
						|
  - Extract and decode table definition data from the table map event
 | 
						|
  - Check if table definition in table map is compatible with table
 | 
						|
    definition on slave
 | 
						|
 | 
						|
  DESCRIPTION
 | 
						|
 | 
						|
    Currently, the only field type data available is an array of the
 | 
						|
    type operators that are present in the table map event.
 | 
						|
 | 
						|
  TODO
 | 
						|
 | 
						|
    Add type operands to this structure to allow detection of
 | 
						|
    difference between, e.g., BIT(5) and BIT(10).
 | 
						|
 */
 | 
						|
 | 
						|
class table_def
 | 
						|
{
 | 
						|
public:
 | 
						|
  /*
 | 
						|
    Convenience declaration of the type of the field type data in a
 | 
						|
    table map event.
 | 
						|
  */
 | 
						|
  typedef unsigned char field_type;
 | 
						|
 | 
						|
  /*
 | 
						|
    Constructor.
 | 
						|
 | 
						|
    SYNOPSIS
 | 
						|
      table_def()
 | 
						|
      types Array of types
 | 
						|
      size  Number of elements in array 'types'
 | 
						|
   */
 | 
						|
  table_def(field_type *types, my_size_t size)
 | 
						|
    : m_type(types), m_size(size)
 | 
						|
  {
 | 
						|
  }
 | 
						|
 | 
						|
  /*
 | 
						|
    Return the number of fields there is type data for.
 | 
						|
 | 
						|
    SYNOPSIS
 | 
						|
      size()
 | 
						|
 | 
						|
    RETURN VALUE
 | 
						|
      The number of fields that there is type data for.
 | 
						|
   */
 | 
						|
  my_size_t size() const { return m_size; }
 | 
						|
 | 
						|
  /*
 | 
						|
    Return a representation of the type data for one field.
 | 
						|
 | 
						|
    SYNOPSIS
 | 
						|
      type()
 | 
						|
      i   Field index to return data for
 | 
						|
 | 
						|
    RETURN VALUE
 | 
						|
 | 
						|
      Will return a representation of the type data for field
 | 
						|
      'i'. Currently, only the type identifier is returned.
 | 
						|
   */
 | 
						|
  field_type type(my_ptrdiff_t i) const { return m_type[i]; }
 | 
						|
 | 
						|
  /*
 | 
						|
    Decide if the table definition is compatible with a table.
 | 
						|
 | 
						|
    SYNOPSIS
 | 
						|
      compatible_with()
 | 
						|
      rli   Pointer to relay log info
 | 
						|
      table Pointer to table to compare with.
 | 
						|
 | 
						|
    DESCRIPTION
 | 
						|
 | 
						|
      Compare the definition with a table to see if it is compatible
 | 
						|
      with it.  A table definition is compatible with a table if:
 | 
						|
 | 
						|
      - the columns types of the table definition is a (not
 | 
						|
        necessarily proper) prefix of the column type of the table, or
 | 
						|
 | 
						|
      - the other way around
 | 
						|
 | 
						|
    RETURN VALUE
 | 
						|
      1  if the table definition is not compatible with 'table'
 | 
						|
      0  if the table definition is compatible with 'table'
 | 
						|
  */
 | 
						|
  int compatible_with(RELAY_LOG_INFO *rli, TABLE *table) const;
 | 
						|
 | 
						|
private:
 | 
						|
  my_size_t m_size;           // Number of elements in the types array
 | 
						|
  field_type *m_type;                     // Array of type descriptors
 | 
						|
};
 | 
						|
 | 
						|
#endif /* RPL_UTILITY_H */
 |