Comment 2 for bug 309865

Revision history for this message
Jay Pipes (jaypipes) wrote :

Here is verified behaviour, which is correct:

drizzle> use test
Database changed
drizzle> create table t1 (a int, b int, c int);
Query OK, 0 rows affected (0.00 sec)

drizzle> create table t2 (d int);
Query OK, 0 rows affected (0.01 sec)

drizzle> create table t3 (a1 int, b1 int, c1 int);
Query OK, 0 rows affected (0.01 sec)

drizzle> insert into t1 values(1,2,3);
Query OK, 1 row affected (0.00 sec)

drizzle> insert into t1 values(11,22,33);
Query OK, 1 row affected (0.00 sec)

drizzle> insert into t2 values(99);
Query OK, 1 row affected (0.00 sec)

drizzle>
drizzle> select t1.* from t1;
+------+------+------+
| a | b | c |
+------+------+------+
| 1 | 2 | 3 |
| 11 | 22 | 33 |
+------+------+------+
2 rows in set (0.00 sec)

drizzle> select a, t1.* from t1;
+------+------+------+------+
| a | a | b | c |
+------+------+------+------+
| 1 | 1 | 2 | 3 |
| 11 | 11 | 22 | 33 |
+------+------+------+------+
2 rows in set (0.00 sec)

drizzle> select t1.*, a from t1;
+------+------+------+------+
| a | b | c | a |
+------+------+------+------+
| 1 | 2 | 3 | 1 |
| 11 | 22 | 33 | 11 |
+------+------+------+------+
2 rows in set (0.00 sec)

drizzle> select a, t1.*, b from t1;
+------+------+------+------+------+
| a | a | b | c | b |
+------+------+------+------+------+
| 1 | 1 | 2 | 3 | 2 |
| 11 | 11 | 22 | 33 | 22 |
+------+------+------+------+------+
2 rows in set (0.00 sec)

drizzle> select (select d from t2 where d > a), t1.* from t1;
+--------------------------------+------+------+------+
| (select d from t2 where d > a) | a | b | c |
+--------------------------------+------+------+------+
| 99 | 1 | 2 | 3 |
| 99 | 11 | 22 | 33 |
+--------------------------------+------+------+------+
2 rows in set (0.00 sec)

drizzle> select t1.*, (select a from t2 where d > a) from t1;
+------+------+------+--------------------------------+
| a | b | c | (select a from t2 where d > a) |
+------+------+------+--------------------------------+
| 1 | 2 | 3 | 1 |
| 11 | 22 | 33 | 11 |
+------+------+------+--------------------------------+
2 rows in set (0.00 sec)

drizzle> select a as 'x', t1.* from t1;
+------+------+------+------+
| x | a | b | c |
+------+------+------+------+
| 1 | 1 | 2 | 3 |
| 11 | 11 | 22 | 33 |
+------+------+------+------+
2 rows in set (0.00 sec)

drizzle> select t1.*, a as 'x' from t1;
+------+------+------+------+
| a | b | c | x |
+------+------+------+------+
| 1 | 2 | 3 | 1 |
| 11 | 22 | 33 | 11 |
+------+------+------+------+
2 rows in set (0.00 sec)

drizzle> select a as 'x', t1.*, b as 'x' from t1;
+------+------+------+------+------+
| x | a | b | c | x |
+------+------+------+------+------+
| 1 | 1 | 2 | 3 | 2 |
| 11 | 11 | 22 | 33 | 22 |
+------+------+------+------+------+
2 rows in set (0.01 sec)

drizzle> select (select d from t2 where d > a) as 'x', t1.* from t1;
+------+------+------+------+
| x | a | b | c |
+------+------+------+------+
| 99 | 1 | 2 | 3 |
| 99 | 11 | 22 | 33 |
+------+------+------+------+
2 rows in set (0.00 sec)

drizzle> select t1.*, (select a from t2 where d > a) as 'x' from t1;
+------+------+------+------+
| a | b | c | x |
+------+------+------+------+
| 1 | 2 | 3 | 1 |
| 11 | 22 | 33 | 11 |
+------+------+------+------+
2 rows in set (0.00 sec)