Bug #30389 connection_id() always return 0 in embedded server

Submitted: 13 Aug 2007 15:01 Modified: 31 Aug 2007 1:30
Reporter: Magnus Blåudd Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Embedded Library ( libmysqld ) Severity:S3 (Non-critical)
Version:5.1.22 OS:Any
Assigned to: Timothy Smith CPU Architecture:Any

[13 Aug 2007 15:01] Magnus Blåudd
Description:
When using connection_id() in the embedded server it will always return 0 in 5.1. It works in 4.1 and also mysql-5.1.21-beta-pb709.tar.gz that I just downloaded and tested with wo it appears this has appeared quite recently.

How to repeat:
$>cat ms.test
select connection_id();

$>./mtr ms
+ select connection_id();
+ connection_id()
+ 1

$>./mtr ms --embedded
+ select connection_id();
+ connection_id()
+ 0
[13 Aug 2007 20:01] Timothy Smith
May be that this caused by the fix for bug #29928.
[21 Aug 2007 16:36] Timothy Smith
In 5.1, thd->variables.pseudo_thread_id is not being set properly in embedded server.  It *is* set in 5.0, even in embedded.  I'm currently tracking down what's going wrong in 5.1.

Looks like THD::store_globals() doesn't set pseudo_thread_id anymore, after this changeset:  ChangeSet 1.2409.68.1 2007/02/23 13:13:55 monty@mysql.com
[21 Aug 2007 18:19] Timothy Smith
OK, problem is that create_embedded_thd() doesn't initialize pseudo_thread_id.  It should do the same as create_new_thread().
[21 Aug 2007 18:45] 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/32831

ChangeSet@1.2565, 2007-08-21 12:44:54-06:00, tsmith@ramayana.hindu.god +3 -0
  Bug #30389: connection_id() always return 0 in embedded server
  
  Initialize thd->variables.pseudo_thread_id when a new embedded
  thd is created.
[21 Aug 2007 23:13] 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/32848

ChangeSet@1.2565, 2007-08-21 17:12:53-06:00, tsmith@ramayana.hindu.god +5 -0
  Bug #30389: connection_id() always return 0 in embedded server
  
  Initialize thd->variables.pseudo_thread_id when a new embedded
  thd is created.
[21 Aug 2007 23:14] Timothy Smith
Queued to 5.1-maint
[22 Aug 2007 8:38] Magnus Blåudd
Where did the patch go? Can't see it 5.1-maint
[27 Aug 2007 20:34] 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/33171

ChangeSet@1.2583, 2007-08-27 14:31:27-06:00, tsmith@ramayana.hindu.god +5 -0
  Bug #30389: connection_id() always return 0 in embedded server
    
  Initialize thd->variables.pseudo_thread_id when a new embedded
  thd is created.
[28 Aug 2007 16:56] Trudy Pelzer
Patch has been pushed to 5.1.22 tree.
[29 Aug 2007 18:45] Timothy Smith
Hmmm, I should mention on this bug:  the actual code fix was done independently by Monty in a "fix lots of small problems" commit, without reference to this bug report.  I went ahead and pushed my extra test case + comments, but the actual code change in create_embedded_thd() was already in place.
[31 Aug 2007 1:30] Paul DuBois
Noted in 5.1.22 changelog.

CONNECTION_ID() always returned 0 for the embedded server (libmysqld).
[4 Sep 2007 17:12] Bugs System
Pushed into 5.1.23-beta

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.067 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.