Bug #25933 NdbOperation::subValue Uint64 not implemented
Submitted: 29 Jan 2007 22:58 Modified: 23 Mar 2007 11:33
Reporter: Monty Taylor Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: NDB API Severity:S3 (Non-critical)
Version:5.1 OS:Linux (linux)
Assigned to: Hartmut Holzgraefe CPU Architecture:Any

[29 Jan 2007 22:58] Monty Taylor
Description:
The following are in the NdbOperation.hpp:

  int   subValue(const char* anAttrName, Uint32 aValue);
  int   subValue(const char* anAttrName, Uint64 aValue);
  int   subValue(Uint32 anAttrId, Uint32 aValue);
  int   subValue(Uint32 anAttrId, Uint64 aValue);

However, only the two where aValue are Uint32 are implemented. 

objdump -T libndbclient.so | c++filt | grep subValue

00059260 g    DF .text  0000005a  libndbclient_3 NdbOperation::subValue(unsigned int, unsigned int)
00059600 g    DF .text  00000086  libndbclient_3 NdbOperation::subValue(char const*, unsigned int)
0005c170 g    DF .text  000000ef  libndbclient_3 NdbOperation::subValue(NdbColumnImpl const*, unsigned int)
0005c090 g    DF .text  000000d9  libndbclient_3 NdbOperation::subValue(NdbColumnImpl const*, unsigned long long)

How to repeat:
Look in the file. 

Suggested fix:
Implement the Uint64 aValue versions, or remove reference to them from the header file.
[15 Mar 2007 11:26] Hartmut Holzgraefe
verified, there are 6 different prototypes for subValue() in the header files but only 4 symbols in the library. For incValue() i see 6 protos and 6 library symbols as expected
[15 Mar 2007 12:32] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/22003

ChangeSet@1.2488, 2007-03-15 13:35:49+01:00, hartmut@mysql.com +1 -0
  added missing prototype implementations (bug #25933)