Bug #26738 Quoted strings not concatenating when in subquery
| Submitted: | 28 Feb 2007 22:54 | Modified: | 19 Mar 2007 17:21 |
|---|---|---|---|
| Reporter: | Stephen Gornick | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Parser | Severity: | S3 (Non-critical) |
| Version: | 5.0.27 | OS: | Linux (linux) |
| Assigned to: | Igor Babaev | CPU Architecture: | Any |
| Tags: | concat, concatenating, multi-line, multiline, quote, quoted, string, subquery | ||
[1 Mar 2007 8:08]
Sveta Smirnova
Thank you for the report. Verified as described.
[11 Mar 2007 2:52]
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/21686 ChangeSet@1.2412, 2007-03-10 18:57:23-08:00, igor@olga.mysql.com +3 -0 Fixed bug #26738: incomplete string values in a result set column when the column is to be read from a derived table column which was specified as a concatenation of string literals. The bug happened because the Item_string::append did not adjust the value of Item_string::max_length. As a result of it the temporary table column defined to store the concatenation of literals was not wide enough to hold the whole value.
[12 Mar 2007 9:02]
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/21700 ChangeSet@1.2474, 2007-03-12 01:39:57-07:00, igor@olga.mysql.com +3 -0 Fixed bug #26738: incomplete string values in a result set column when the column is to be read from a derived table column which was specified as a concatenation of string literals. The bug happened because the Item_string::append did not adjust the value of Item_string::max_length. As a result of it the temporary table column defined to store the concatenation of literals was not wide enough to hold the whole value.
[17 Mar 2007 18:02]
Alexey Botchkov
Pushed in 5.0.40, 5.1.17
[19 Mar 2007 17:21]
Paul DuBois
Noted in 5.0.40, 5.1.17 changelogs. A result set column formed by concatention of string literals was incomplete when the column was produced by a subquery in the FROM clause.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.058 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.
Description: When I have a statement that includes a long string, I might split it up for readability purposes by closing the string with a single-quote and starting it again on the next line with a single-quote. However, doing that in a subquery causes only the first part of the string to be recognized. How to repeat: This will work correctly: mysql> select -> 'this is ' -> 'a test.' -> as col1; +-----------------+ | col1 | +-----------------+ | this is a test. | +-----------------+ 1 row in set (0.00 sec) But if that same query is in a subquery it will not work correctly: mysql> select * -> from -> ( -> select -> 'this is ' -> 'a test.' -> as col1 -> ) x; +----------+ | col1 | +----------+ | this is | +----------+ 1 row in set (0.01 sec) It doesn't matter if the query spans more than one line or not: mysql> select x.col1 from (select 'this is ' 'a test' as col1) x; +----------+ | col1 | +----------+ | this is | +----------+ 1 row in set (0.01 sec) Suggested fix: Accomodate multiple quoted strings when in a subquery, just like they are handled when not a subquery.