summaryrefslogtreecommitdiff
path: root/hsqldb/patches/i96823.patch
blob: bea4a2b7e4f5518233c544e8b66bcdf2ff99730c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
--- misc/hsqldb/src/org/hsqldb/Expression.java	2008-05-27 17:15:05.000000000 +0200
+++ misc/build/hsqldb/src/org/hsqldb/Expression.java	2009-01-27 11:42:16.890625000 +0100
@@ -803,61 +803,62 @@
 
             case EXISTS :
                 buf.append(' ').append(Token.T_EXISTS).append(' ');
-                break;
+
+                return buf.toString();
 
             case COUNT :
                 buf.append(' ').append(Token.T_COUNT).append('(');
-                break;
+                if ( "(*)".equals(left))buf.append('*');else   buf.append(left);   buf.append(')');   return buf.toString();
 
             case SUM :
                 buf.append(' ').append(Token.T_SUM).append('(');
                 buf.append(left).append(')');
-                break;
+                return buf.toString();
 
             case MIN :
                 buf.append(' ').append(Token.T_MIN).append('(');
                 buf.append(left).append(')');
-                break;
+                return buf.toString();
 
             case MAX :
                 buf.append(' ').append(Token.T_MAX).append('(');
                 buf.append(left).append(')');
-                break;
+                return buf.toString();
 
             case AVG :
                 buf.append(' ').append(Token.T_AVG).append('(');
                 buf.append(left).append(')');
-                break;
+                return buf.toString();
 
             case EVERY :
                 buf.append(' ').append(Token.T_EVERY).append('(');
                 buf.append(left).append(')');
-                break;
+                return buf.toString();
 
             case SOME :
                 buf.append(' ').append(Token.T_SOME).append('(');
                 buf.append(left).append(')');
-                break;
+                return buf.toString();
 
             case STDDEV_POP :
                 buf.append(' ').append(Token.T_STDDEV_POP).append('(');
                 buf.append(left).append(')');
-                break;
+                return buf.toString();
 
             case STDDEV_SAMP :
                 buf.append(' ').append(Token.T_STDDEV_SAMP).append('(');
                 buf.append(left).append(')');
-                break;
+                return buf.toString();
 
             case VAR_POP :
                 buf.append(' ').append(Token.T_VAR_POP).append('(');
                 buf.append(left).append(')');
-                break;
+                return buf.toString();
 
             case VAR_SAMP :
                 buf.append(' ').append(Token.T_VAR_SAMP).append('(');
                 buf.append(left).append(')');
-                break;
+                return buf.toString();
         }
 
         throw Trace.error(Trace.EXPRESSION_NOT_SUPPORTED);
@@ -1522,6 +1523,16 @@
         if (exprType == COLUMN) {
             return columnName;
         }
+        if ( isAggregate(exprType) )
+        {
+            try
+            {
+                return getDDL();
+            }
+            catch(Exception e)
+            {
+            }
+        }
 
         return "";
     }