Some DBMS don't support alias in GROUP BY

RESOLVED WORKSFORME

Status

()

--
enhancement
RESOLVED WORKSFORME
12 years ago
4 years ago

People

(Reporter: xiaoou.wu, Unassigned)

Tracking

Details

Attachments

(1 attachment)

(Reporter)

Description

12 years ago
User-Agent:       Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
Build Identifier: 

As far as I know, GROUP BY <ALIAS> and ORDER BY <ALIAS> 
will never work in some DBMS (like Oracle).

We may have to do with this stuff before support Oracle.

Reproducible: Always

Comment 1

12 years ago
Reporter has a connection to an RDBMS vendor and that's good enough for me.
Assignee: query-and-buglist → database
Status: UNCONFIRMED → NEW
Component: Query/Bug List → Database
Ever confirmed: true
(Reporter)

Comment 2

12 years ago
Created attachment 260093 [details] [diff] [review]
v1

I make a mistake, actually only GROUP BY doesn't support ALIAS.

If we do want to do large change, we may just pay attention to 
the way we form the @groupby.
Attachment #260093 - Flags: review?(mkanat)

Updated

12 years ago
Assignee: database → xiaoou.wu
Summary: Some DBMS don't support alias in GROUP BY and ORDER BY → Some DBMS don't support alias in GROUP BY
Target Milestone: --- → Bugzilla 3.2
Version: unspecified → 3.1

Comment 3

12 years ago
Comment on attachment 260093 [details] [diff] [review]
v1

>+        if($1 ne "END") {
>+           push(@groupby, $1) if !grep($_ eq $1, @groupby);
>+         }
>+        }
>+        if ($field =~ /ELSE\s+(\w+\.\w+)\s+END/i) {
>+         push(@groupby, $1) if !grep($_ eq $1, @groupby);
>+        }
>+        if ($field =~ /TO_CHAR\(\s*(\w+\.\w+)\,.*/i) {

  All this hackish stuff isn't good. Don't depend on the format of specific SQL functions. What if we change that?

  Also, it's possible that one of our DBs *only* supports aliases in the GROUP BY, which is why our code is written that way. I have to investigate.
Attachment #260093 - Flags: review?(mkanat) → review-

Comment 4

11 years ago
Bugzilla 3.2 is now frozen. Only enhancements blocking 3.2 or specifically approved for 3.2 may be checked in to the 3.2 branch. If you would like to nominate your enhancement for Bugzilla 3.2, set the "blocking3.2" flag to "?". Then, either the target milestone will be changed back, or the blocking3.2 flag will be granted, if we will accept this enhancement for Bugzilla 3.2.

This particular bug has not been touched in over eight months, and thus is being retargeted to "---" instead of "Bugzilla 4.0". If you believe this is a mistake, feel free to retarget it to Bugzilla 4.0.
Target Milestone: Bugzilla 3.2 → ---

Updated

5 years ago
Assignee: xiaoou.wu → database

Comment 5

4 years ago
This code is gone.
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.