diff options
Diffstat (limited to 'ndb/include/util')
-rw-r--r-- | ndb/include/util/File.hpp | 8 | ||||
-rw-r--r-- | ndb/include/util/InputStream.hpp | 2 | ||||
-rw-r--r-- | ndb/include/util/OutputStream.hpp | 1 | ||||
-rw-r--r-- | ndb/include/util/SimpleProperties.hpp | 7 | ||||
-rw-r--r-- | ndb/include/util/SocketClient.hpp | 3 | ||||
-rw-r--r-- | ndb/include/util/UtilBuffer.hpp | 8 | ||||
-rw-r--r-- | ndb/include/util/ndb_opts.h | 2 |
7 files changed, 27 insertions, 4 deletions
diff --git a/ndb/include/util/File.hpp b/ndb/include/util/File.hpp index 53ea88e0f52..fc71394c8c5 100644 --- a/ndb/include/util/File.hpp +++ b/ndb/include/util/File.hpp @@ -29,6 +29,14 @@ class File_class { public: /** + * Returns time for last contents modification of a file. + * + * @param aFileName a filename to check. + * @return the time for last contents modificaton of the file. + */ + static time_t mtime(const char* aFileName); + + /** * Returns true if the file exist. * * @param aFileName a filename to check. diff --git a/ndb/include/util/InputStream.hpp b/ndb/include/util/InputStream.hpp index b2a56b1e433..56c43686df1 100644 --- a/ndb/include/util/InputStream.hpp +++ b/ndb/include/util/InputStream.hpp @@ -25,6 +25,7 @@ */ class InputStream { public: + virtual ~InputStream() {} virtual char* gets(char * buf, int bufLen) = 0; }; @@ -40,6 +41,7 @@ extern FileInputStream Stdin; class SocketInputStream : public InputStream { NDB_SOCKET_TYPE m_socket; unsigned m_timeout; + bool m_startover; public: SocketInputStream(NDB_SOCKET_TYPE socket, unsigned readTimeout = 1000); char* gets(char * buf, int bufLen); diff --git a/ndb/include/util/OutputStream.hpp b/ndb/include/util/OutputStream.hpp index c7e009d4537..a834b577bb3 100644 --- a/ndb/include/util/OutputStream.hpp +++ b/ndb/include/util/OutputStream.hpp @@ -25,6 +25,7 @@ */ class OutputStream { public: + virtual ~OutputStream() {} virtual int print(const char * fmt, ...) = 0; virtual int println(const char * fmt, ...) = 0; virtual void flush() {}; diff --git a/ndb/include/util/SimpleProperties.hpp b/ndb/include/util/SimpleProperties.hpp index 438426fb62b..b29e65e21da 100644 --- a/ndb/include/util/SimpleProperties.hpp +++ b/ndb/include/util/SimpleProperties.hpp @@ -151,6 +151,7 @@ public: ValueType m_type; protected: Reader(); + virtual ~Reader() {} virtual void reset() = 0; virtual bool step(Uint32 len) = 0; @@ -169,6 +170,7 @@ public: bool add(Uint16 key, const char * value); bool add(Uint16 key, const void* value, int len); protected: + virtual ~Writer() {} virtual bool reset() = 0; virtual bool putWord(Uint32 val) = 0; virtual bool putWords(const Uint32 * src, Uint32 len) = 0; @@ -184,6 +186,7 @@ class SimplePropertiesLinearReader : public SimpleProperties::Reader { public: SimplePropertiesLinearReader(const Uint32 * src, Uint32 len); + virtual ~SimplePropertiesLinearReader() {} virtual void reset(); virtual bool step(Uint32 len); virtual bool getWord(Uint32 * dst); @@ -202,6 +205,7 @@ class LinearWriter : public SimpleProperties::Writer { public: LinearWriter(Uint32 * src, Uint32 len); + virtual ~LinearWriter() {} virtual bool reset(); virtual bool putWord(Uint32 val); virtual bool putWords(const Uint32 * src, Uint32 len); @@ -219,6 +223,7 @@ class UtilBufferWriter : public SimpleProperties::Writer { public: UtilBufferWriter(class UtilBuffer & buf); + virtual ~UtilBufferWriter() {} virtual bool reset(); virtual bool putWord(Uint32 val); virtual bool putWords(const Uint32 * src, Uint32 len); @@ -238,6 +243,7 @@ public: SimplePropertiesSectionReader(struct SegmentedSectionPtr &, class SectionSegmentPool &); + virtual ~SimplePropertiesSectionReader() {} virtual void reset(); virtual bool step(Uint32 len); virtual bool getWord(Uint32 * dst); @@ -270,6 +276,7 @@ class SimplePropertiesSectionWriter : public SimpleProperties::Writer { public: SimplePropertiesSectionWriter(class SectionSegmentPool &); + virtual ~SimplePropertiesSectionWriter() {} virtual bool reset(); virtual bool putWord(Uint32 val); virtual bool putWords(const Uint32 * src, Uint32 len); diff --git a/ndb/include/util/SocketClient.hpp b/ndb/include/util/SocketClient.hpp index bf1ad7d45d6..422560c8a78 100644 --- a/ndb/include/util/SocketClient.hpp +++ b/ndb/include/util/SocketClient.hpp @@ -37,7 +37,8 @@ public: }; unsigned short get_port() { return m_port; }; char *get_server_name() { return m_server_name; }; - NDB_SOCKET_TYPE connect(); + int bind(const char* toaddress, unsigned short toport); + NDB_SOCKET_TYPE connect(const char* toaddress = 0, unsigned short port = 0); bool close(); }; diff --git a/ndb/include/util/UtilBuffer.hpp b/ndb/include/util/UtilBuffer.hpp index f43fc960a16..ba1f47b93d8 100644 --- a/ndb/include/util/UtilBuffer.hpp +++ b/ndb/include/util/UtilBuffer.hpp @@ -73,11 +73,15 @@ public: } int assign(const void * d, size_t l) { - if (data) free(data); + /* Free the old data only after copying, in case d==data. */ + void *old_data= data; data = NULL; len = 0; alloc_size = 0; - return append(d, l); + int ret= append(d, l); + if (old_data) + free(old_data); + return ret; } void clear() { diff --git a/ndb/include/util/ndb_opts.h b/ndb/include/util/ndb_opts.h index 08ab4a2e9df..053cc8613f7 100644 --- a/ndb/include/util/ndb_opts.h +++ b/ndb/include/util/ndb_opts.h @@ -58,7 +58,7 @@ const char *opt_debug= 0; { "ndb-connectstring", OPT_NDB_CONNECTSTRING, \ "Set connect string for connecting to ndb_mgmd. " \ "Syntax: \"[nodeid=<id>;][host=]<hostname>[:<port>]\". " \ - "Overides specifying entries in NDB_CONNECTSTRING and Ndb.cfg", \ + "Overrides specifying entries in NDB_CONNECTSTRING and my.cnf", \ (gptr*) &opt_ndb_connectstring, (gptr*) &opt_ndb_connectstring, \ 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },\ { "ndb-mgmd-host", OPT_NDB_MGMD, \ |