diff options
author | Olivier Bertrand <bertrandop@gmail.com> | 2014-02-03 16:14:13 +0100 |
---|---|---|
committer | Olivier Bertrand <bertrandop@gmail.com> | 2014-02-03 16:14:13 +0100 |
commit | 5133cb5e2530954a23b93ee22a49273f7333e36b (patch) | |
tree | 42b7b2654c305d6a19aa426d153300ad369b788c /storage/connect/valblk.cpp | |
parent | 4d5f5f4cdf8c99bf693fd78490524a72418f1f45 (diff) | |
download | mariadb-git-5133cb5e2530954a23b93ee22a49273f7333e36b.tar.gz |
This is a major update of CONNECT that goes from version 1.1 to 1.2
===================================================================
- Implement a first support of the ALTER TABLE command. This fixes MDEV-5440
but does much more than only that. See the details of how ALTER is supported
in the new documentation and also in MDEV-5440 comment.
This is done principally by implementing for CONNECT the virtual function
check_if_supported_inplace_alter.
modified:
storage/connect/connect.cc
storage/connect/global.h
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/mysql-test/connect/r/bin.result
storage/connect/mysql-test/connect/r/csv.result
storage/connect/mysql-test/connect/r/dbf.result
storage/connect/mysql-test/connect/r/dir.result
storage/connect/mysql-test/connect/r/fix.result
storage/connect/mysql-test/connect/r/index.result
storage/connect/mysql-test/connect/r/ini.result
storage/connect/mysql-test/connect/r/occur.result
storage/connect/mysql-test/connect/r/pivot.result
storage/connect/mysql-test/connect/r/vec.result
storage/connect/mysql-test/connect/t/dbf.test
storage/connect/plugutil.c
storage/connect/user_connect.cc
- Fixes the tabname/table_name issue for XML tables. Implement
multiple files XML tables.
modified:
storage/connect/tabxml.cpp
storage/connect/tabxml.h
- Set to varchar(256) the fields of catalog tables stored
as STRBLK's (had length 0 --> CHAR(1))
Add the GetCharString function to the VALBLK class
modified:
storage/connect/ha_connect.cc
storage/connect/valblk.cpp
storage/connect/valblk.h
storage/connect/value.cpp
- Translate CONNECT error messages to system_charset
to avoid truncation on not ASCII characters.
modified:
storage/connect/ha_connect.cc
- Update version number
modified:
storage/connect/ha_connect.cc
storage/connect/mysql-test/connect/r/xml.result
- Move the TDBASE::data_charset body from xtable.h to table.cpp.
(dont' remember why)
modified:
storage/connect/table.cpp
storage/connect/xtable.h
- Other modifications are to enhance the support of OEM tables.
In particular, they can now provide column definition in dicovery.
modified:
storage/connect/colblk.h
storage/connect/global.h
storage/connect/ha_connect.cc
storage/connect/mycat.cc
storage/connect/plgcnx.h
storage/connect/plgdbsem.h
storage/connect/xtable.h
- Or to add or modify tracing.
modified:
storage/connect/filamtxt.cpp
storage/connect/ha_connect.cc
storage/connect/plgdbutl.cpp
storage/connect/tabfix.cpp
storage/connect/tabmysql.cpp
Diffstat (limited to 'storage/connect/valblk.cpp')
-rw-r--r-- | storage/connect/valblk.cpp | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/storage/connect/valblk.cpp b/storage/connect/valblk.cpp index bef5d6ef716..c0127072896 100644 --- a/storage/connect/valblk.cpp +++ b/storage/connect/valblk.cpp @@ -1,7 +1,7 @@ /************ Valblk C++ Functions Source Code File (.CPP) *************/ -/* Name: VALBLK.CPP Version 2.0 */ +/* Name: VALBLK.CPP Version 2.1 */ /* */ -/* (C) Copyright to the author Olivier BERTRAND 2005-2013 */ +/* (C) Copyright to the author Olivier BERTRAND 2005-2014 */ /* */ /* This file contains the VALBLK and derived classes functions. */ /* Second family is VALBLK, representing simple suballocated arrays */ @@ -237,6 +237,23 @@ void TYPBLK<TYPE>::Init(PGLOBAL g, bool check) } // end of Init /***********************************************************************/ +/* TYPVAL GetCharString: get string representation of a typed value. */ +/***********************************************************************/ +template <class TYPE> +char *TYPBLK<TYPE>::GetCharString(char *p, int n) + { + sprintf(p, Fmt, Typp[n]); + return p; + } // end of GetCharString + +template <> +char *TYPBLK<double>::GetCharString(char *p, int n) + { + sprintf(p, Fmt, Prec, Typp[n]); + return p; + } // end of GetCharString + +/***********************************************************************/ /* Set one value in a block. */ /***********************************************************************/ template <class TYPE> @@ -678,6 +695,14 @@ double CHRBLK::GetFloatValue(int n) } // end of GetFloatValue /***********************************************************************/ +/* STRING GetCharString: get string representation of a char value. */ +/***********************************************************************/ +char *CHRBLK::GetCharString(char *p, int n) + { + return (char *)GetValPtrEx(n); + } // end of GetCharString + +/***********************************************************************/ /* Set one value in a block. */ /***********************************************************************/ void CHRBLK::SetValue(PVAL valp, int n) @@ -1186,6 +1211,22 @@ bool DATBLK::SetFormat(PGLOBAL g, PSZ fmt, int len, int year) } // end of SetFormat /***********************************************************************/ +/* DTVAL GetCharString: get string representation of a date value. */ +/***********************************************************************/ +char *DATBLK::GetCharString(char *p, int n) + { + char *vp; + + if (Dvalp) { + Dvalp->SetValue(Typp[n]); + vp = Dvalp->GetCharString(p); + } else + vp = TYPBLK<int>::GetCharString(p, n); + + return vp; + } // end of GetCharString + +/***********************************************************************/ /* Set one value in a block from a char string. */ /***********************************************************************/ void DATBLK::SetValue(PSZ p, int n) |