1 message in com.mysql.lists.ndb-connectorsRev 245: Merged malloc changes. in h...
FromSent OnAttachments
Monty Taylor23 Nov 2007 20:17 
Subject:Rev 245: Merged malloc changes. in http://bazaar.launchpad.net/~ndb-connectors/ndb-connectors/telco-6.3
From:Monty Taylor (mtay@mysql.com)
Date:11/23/2007 08:17:56 PM
List:com.mysql.lists.ndb-connectors

At http://bazaar.launchpad.net/~ndb-connectors/ndb-connectors/telco-6.3

------------------------------------------------------------ revno: 245 revision-id: mtay@mysql.com-20071124041807-mumvqi5vw6el9xsy parent: mtay@mysql.com-20071123210734-9q9unwu68e4hizvd parent: mtay@mysql.com-20071124041432-x9b36v366j8f2fsg committer: Monty Taylor <mtay@mysql.com> branch nick: telco-6.3 timestamp: Fri 2007-11-23 20:18:07 -0800 message: Merged malloc changes. modified: ChangeLog changelog-20070228020914-u2pk759xg7thauwf-2 interface/ndbapi/NdbOperation.i
ndboperation.i-20070228021421-qkr4cbpxymyqdrf3-3 interface/ndbapi/NdbRecAttr.i ndbrecattr.i-20070228021421-qkr4cbpxymyqdrf3-4 java/.classpath classpath-20071116042946-npnq9g3hwm24x1ga-1 java/com/mysql/cluster/ndbj/NdbBaseOperation.java
ndbbaseoperation.jav-20070517181935-98huwjarzuh25b30-5 java/ndbj.i ndbj.i-20070913223244-5938mztpztyn9sry-1 ------------------------------------------------------------ revno: 192.1.25.1.67 revision-id: mtay@mysql.com-20071124041432-x9b36v366j8f2fsg parent: mtay@mysql.com-20071123205011-g0d494jg61wqmn4j committer: Monty Taylor <mtay@mysql.com> branch nick: devel timestamp: Fri 2007-11-23 20:14:32 -0800 message: Fixed a silly malloc call that was mallocing more memory than we needed. Added NdbOperation::getTable() Started work on NdbBlob:java.sql.Blob modified: ChangeLog changelog-20070228020914-u2pk759xg7thauwf-2 interface/ndbapi/NdbOperation.i
ndboperation.i-20070228021421-qkr4cbpxymyqdrf3-3 interface/ndbapi/NdbRecAttr.i
ndbrecattr.i-20070228021421-qkr4cbpxymyqdrf3-4 java/.classpath classpath-20071116042946-npnq9g3hwm24x1ga-1 java/com/mysql/cluster/ndbj/NdbBaseOperation.java
ndbbaseoperation.jav-20070517181935-98huwjarzuh25b30-5 java/ndbj.i ndbj.i-20070913223244-5938mztpztyn9sry-1 === modified file 'ChangeLog' --- a/ChangeLog 2007-11-23 21:07:34 +0000 +++ b/ChangeLog 2007-11-24 04:18:07 +0000 @@ -1,3 +1,8 @@ +Made NdbBlob implement java.sql.Blob and NdbResultSet implement +java.sql.ResultSet. +Made NdbApiException implement SQLException +Fixed a silly malloc call that was mallocing more memory than we needed. +Added NdbOperation::getTable() 0.5.6.3.5.3: Merged with 0.5.1.22.3 Fixed BUG#32669 ndb-connectors rely on not yet standard map::at() method Fixed BUG#32671 ndb-connector java compilation fails with "/bin/sh: no: @@ -7,7 +12,7 @@ 0.5.6.3.5.1: Merged with 0.5.1.22.1 Fixed problem with automake 1.9 Cleaned up old javadoc references to Ref classes. +Added NdbResultSetMetaData 0.5.6.3.5: Merged with 0.5.1.22.0 Initial Release. Added support for working distribution hints using new dist key structure. -

=== modified file 'interface/ndbapi/NdbOperation.i' --- a/interface/ndbapi/NdbOperation.i 2007-11-06 23:01:27 +0000 +++ b/interface/ndbapi/NdbOperation.i 2007-11-24 04:18:07 +0000 @@ -70,7 +70,7 @@ return NULL; } else { // Need one space for the length - char * buf = (char *)malloc((len+1)*sizeof(char *)); + char * buf = (char *)malloc((len+1)); unsigned char lowb=len; buf[0]=lowb; memcpy(buf+1, aString, len); @@ -204,6 +204,7 @@ // void setPartitionHash(const Uint64 *, Uint32 len); Uint32 getPartitionId() const;

+ const NdbDictTable * getTable() const;

%ndbexception("NdbApiException") { $action

=== modified file 'interface/ndbapi/NdbRecAttr.i' --- a/interface/ndbapi/NdbRecAttr.i 2007-11-06 22:59:00 +0000 +++ b/interface/ndbapi/NdbRecAttr.i 2007-11-24 04:14:32 +0000 @@ -50,8 +50,13 @@ %rename(get_uchar) u_char_value() const; %rename(get_float) float_value() const; %rename(get_double) double_value() const; + %rename(getSizeInBytes) get_size_in_bytes() const; #endif

+ %ndbexception("NdbApiException") { + $action + } + Int64 int64_value(); Int32 int32_value(); short short_value(); @@ -65,7 +70,12 @@

char* aRef() const;

- + %ndbnoexception; + + const NdbDictColumn * getColumn() const; + NdbDictColumn::Type getType() const; + + Uint32 get_size_in_bytes() const; };

%extend NdbRecAttr { @@ -138,7 +148,7 @@ if(colType == NdbDictionary::Column::Longvarchar) { int len=(int)uint2korr(ref); - char * buff = (char *)malloc((len+1)*sizeof(char *)); + char * buff = (char *)malloc(len+1); memset(buff,0,len+1); ref+=2; memcpy(buff,ref,len); @@ -148,7 +158,7 @@ else if(colType == NdbDictionary::Column::Varchar) { short len = (short) (unsigned char) (ref[0]); - char * buff = (char *)malloc((len+1)*sizeof(char *)); + char * buff = (char *)malloc(len+1); memset(buff,0, len+1); memcpy(buff,++ref,len); buff[len+1]='\0'; @@ -167,7 +177,7 @@ i--; } i++; //length of string until space padding starts.. - char * buff = (char *)malloc((i+1)*sizeof(char *)); //+1 for null; + char * buff = (char *)malloc(i+1); //+1 for null; memcpy(buff, ref, i); buff[i]='\0'; return buff;

=== modified file 'java/.classpath' --- a/java/.classpath 2007-11-16 05:46:57 +0000 +++ b/java/.classpath 2007-11-24 04:18:07 +0000 @@ -7,6 +7,6 @@ </classpathentry> <classpathentry kind="lib" path="lib/mysql-connector-java-5.0.4-bin.jar"/> <classpathentry kind="lib" path="/usr/share/java/junit.jar"/> - <classpathentry kind="lib" path="/usr/lib/jvm/java-1.5.0-sun/jre/lib/rt.jar"/> + <classpathentry kind="lib" path="/usr/lib/jvm/java-6-sun/jre/lib/rt.jar"/> <classpathentry kind="output" path=""/> </classpath>

=== modified file 'java/com/mysql/cluster/ndbj/NdbBaseOperation.java' --- a/java/com/mysql/cluster/ndbj/NdbBaseOperation.java 2007-11-20 02:32:41
+0000 +++ b/java/com/mysql/cluster/ndbj/NdbBaseOperation.java 2007-11-24 04:14:32
+0000 @@ -399,6 +399,7 @@ * @throws NdbApiException if there was a problem in the cluster when trying
to set a value for a column. */ public void setNull(String columnName) throws NdbApiException; + public NdbTable getTable();

=== modified file 'java/ndbj.i' --- a/java/ndbj.i 2007-11-15 18:52:25 +0000 +++ b/java/ndbj.i 2007-11-24 04:18:07 +0000 @@ -98,14 +98,19 @@ }

void ndb_throw_exception(JNIEnv *jenv, const char * excp, const char *msg,
NdbError & err) { + jclass clazz = NULL; const char * prefix = "com/mysql/cluster/ndbj/"; - char * exception = (char *)malloc(strlen(excp)+strlen(prefix)+1); - strcpy(exception,prefix); - strcat(exception,excp); - - //jclass clazz = jenv->FindClass("java/lang/RuntimeException"); - jclass clazz = jenv->FindClass(exception); - free(exception); + if (strncmp(excp,"com.",4)) { + clazz = jenv->FindClass(excp); + } else { + char * exception = (char *)malloc(strlen(excp)+strlen(prefix)+1); + strcpy(exception,prefix); + strcat(exception,excp); + + //jclass clazz = jenv->FindClass("java/lang/RuntimeException"); + clazz = jenv->FindClass(exception); + free(exception); + }

jlong errPtr = 0; NdbError * result = new NdbError(err); @@ -593,6 +598,16 @@

%include "ndbapi/NdbRecAttr.i"

+%typemap(javaimports) NdbBlob %{ +import java.io.InputStream; +import java.io.OutputStream; +import java.io.Reader; +import java.io.Writer; +import java.sql.Blob; +import java.sql.Clob; +import java.sql.SQLException; + %} + %typemap(javacode) NdbBlob %{

private byte[] theBlob; @@ -605,6 +620,174 @@ this.readData(theBlob, theBlob.length); return theBlob; } + /* (non-Javadoc) + * @see java.sql.Blob#free() + */ + public void free() throws NdbApiException { + // TODO Auto-generated method stub + + } + + /* (non-Javadoc) + * @see java.sql.Blob#getBinaryStream(long, long) + */ + public InputStream getBinaryStream(long arg0, long arg1) throws
NdbApiException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see java.sql.Clob#getCharacterStream(long, long) + */ + public Reader getCharacterStream(long arg0, long arg1) throws NdbApiException
{ + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see java.sql.Clob#getAsciiStream() + */ + public InputStream getAsciiStream() throws NdbApiException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see java.sql.Clob#getCharacterStream() + */ + public Reader getCharacterStream() throws NdbApiException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see java.sql.Clob#getSubString(long, int) + */ + public String getSubString(long arg0, int arg1) throws NdbApiException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see java.sql.Clob#position(java.sql.Clob, long) + */ + public long position(Clob arg0, long arg1) throws NdbApiException { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see java.sql.Clob#position(java.lang.String, long) + */ + public long position(String arg0, long arg1) throws NdbApiException { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see java.sql.Clob#setAsciiStream(long) + */ + public OutputStream setAsciiStream(long arg0) throws NdbApiException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see java.sql.Clob#setCharacterStream(long) + */ + public Writer setCharacterStream(long arg0) throws NdbApiException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see java.sql.Clob#setString(long, java.lang.String) + */ + public int setString(long arg0, String arg1) throws NdbApiException { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see java.sql.Clob#setString(long, java.lang.String, int, int) + */ + public int setString(long arg0, String arg1, int arg2, int arg3) throws
NdbApiException { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see java.sql.Blob#getBinaryStream() + */ + public InputStream getBinaryStream() throws NdbApiException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see java.sql.Blob#getBytes(long, int) + */ + public byte[] getBytes(long arg0, int arg1) throws NdbApiException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see java.sql.Blob#length() + */ + public long length() throws NdbApiException { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see java.sql.Blob#position(byte[], long) + */ + public long position(byte[] arg0, long arg1) throws NdbApiException { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see java.sql.Blob#position(java.sql.Blob, long) + */ + public long position(Blob arg0, long arg1) throws NdbApiException { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see java.sql.Blob#setBinaryStream(long) + */ + public OutputStream setBinaryStream(long arg0) throws NdbApiException { + // TODO Auto-generated method stub + return null; + } + + /* (non-Javadoc) + * @see java.sql.Blob#setBytes(long, byte[]) + */ + public int setBytes(long arg0, byte[] arg1) throws NdbApiException { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see java.sql.Blob#setBytes(long, byte[], int, int) + */ + public int setBytes(long arg0, byte[] arg1, int arg2, int arg3) throws
NdbApiException { + // TODO Auto-generated method stub + return 0; + } + + /* (non-Javadoc) + * @see java.sql.Blob#truncate(long) + */ + public void truncate(long arg0) throws NdbApiException { + // TODO Auto-generated method stub + + } + %}

%typemap(javainterfaces) NdbBlob "NdbBlob";