Thanks Satheesh.
 
It seems that I could address this phenomena evaluating resultCol.isNameGenerated() in OrderByColumn.bindOrderByColumn.
 
Best regards.
 
/*
 
         Tomohito Nakayama
         [EMAIL PROTECTED]
         [EMAIL PROTECTED]
 
         Naka
         http://www5.ocn.ne.jp/~tomohito/TopPage.html
 
*/
----- Original Message -----
Sent: Monday, March 14, 2005 2:53 AM
Subject: Re: About improvement of DERBY-134

I think new behavior is a bug... and should be addressed in the patch. Since there is no column name called 'SQLCol1' in the user querry, accepting an order by with that name is incorrect. Column names like these are generated names when there is no exposed name or alias provided for the result columns. Derby generates these names and should be hidden to the end user.

It should be easy to address this. You probably need to mark any new expressions you are adding as generated columns using setNameGenerated(true) call.

Satheesh

TomohitoNakayama wrote:
Hello.

I tried to change handling single column name in order by clause , and just finished coding.
Now single column name is treated as additiveExpression in afterPatch.

And I have found next difference in orderby.out between beforePatch and afterPatch as follows.
I 'm confusing whether I should judge this is bug or not.

beforePatch
ij> -- . order by doesn't see generated names
values (1,0,1),(1,0,0),(0,0,1),(0,1,0);
1          |2          |3
-----------------------------------
1          |0          |1
1          |0          |0
0          |0          |1
0          |1          |0
ij> values (1,0,1),(1,0,0),(0,0,1),(0,1,0) order by "SQLCol1";
ERROR 42X78: Column 'SQLCol1' is not in the result of the query _expression_.
ij> values (1,0,1),(1,0,0),(0,0,1),(0,1,0) order by "SQLCol2";
ERROR 42X78: Column 'SQLCol2' is not in the result of the query _expression_.
ij> values (1,0,1),(1,0,0),(0,0,1),(0,1,0) order by 1,1,2,3;
1          |2          |3
-----------------------------------
0          |0          |1
0          |1          |0
1          |0          |0
1          |0          |1

afterPatch
ij> -- . order by doesn't see generated names ....?
values (1,0,1),(1,0,0),(0,0,1),(0,1,0);
1          |2          |3
-----------------------------------
1          |0          |1
1          |0          |0
0          |0          |1
0          |1          |0
-- now next was accepted.
ij> values (1,0,1),(1,0,0),(0,0,1),(0,1,0) order by "SQLCol1";
1          |2          |3
-----------------------------------
0          |1          |0
0          |0          |1
1          |0          |0
1          |0          |1
-- now next was accepted too.
ij> values (1,0,1),(1,0,0),(0,0,1),(0,1,0) order by "SQLCol2";
1          |2          |3
-----------------------------------
0          |0          |1
1          |0          |0
1          |0          |1
0          |1          |0
ij> values (1,0,1),(1,0,0),(0,0,1),(0,1,0) order by 1,1,2,3;
1          |2          |3
-----------------------------------
0          |0          |1
0          |1          |0
1          |0          |0
1          |0          |1

I have some question now.

Q1:
What is  "generated names" ?
<"> "SQLCol NUMBER" <"> seems to be called "generated names".

Q2:
Why was it error to use "generated name" in order by caluse as seen in beforePatch?

Q3:
Is it bug to accept "generated names" in order clause like as in afterPatcch ?

Please give me some adivise...

Best regards.

/*

        Tomohito Nakayama
        [EMAIL PROTECTED]
        [EMAIL PROTECTED]

        Naka
        http://www5.ocn.ne.jp/~tomohito/TopPage.html

*/



No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.7.2 - Release Date: 2005/03/11
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.7.2 - Release Date: 2005/03/11

Reply via email to