db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yip Ng (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-1784) When qualifying a column name with its synonym name in the select list, Derby throws SQLSTATE 42X04.
Date Sun, 03 Sep 2006 01:03:23 GMT
    [ http://issues.apache.org/jira/browse/DERBY-1784?page=comments#action_12432314 ] 
            
Yip Ng commented on DERBY-1784:
-------------------------------

Just noticed that my previous comments got cut off for some reason.  Here is the original
comment:

Yes, the resolution code may be move up to its caller ColumnReference's bindExpression() instead.
This method will eventually call FromList's bindColumnReferences(). I'll resubmit the patch
but need to rerun derbyall to make sure.  

Note that the column reference binding logic happens in ColumnReference's bindExpression();
however, the actual execution of such logic is delegated to FromList's bindColumnReferences()
in the current existing code.  (bindTables() needed to be called before this method.)  So
that is why I put the synonym resolution at the beginning of FromList's bindColumnReferences()
since the actual logic is here.  I am also fine in placing this logic at ColumnReference's
bindExpression() which may make more sense for locality reason.  

> When qualifying a column name with its synonym name in the select list, Derby throws
SQLSTATE 42X04.
> ----------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1784
>                 URL: http://issues.apache.org/jira/browse/DERBY-1784
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.2.1.0, 10.3.0.0, 10.1.3.1
>         Environment: Any environment
>            Reporter: Yip Ng
>         Assigned To: Yip Ng
>         Attachments: derby1784-trunk-diff01.txt, derby1784-trunk-diff02.txt, derby1784-trunk-stat01.txt,
derby1784-trunk-stat02.txt
>
>
> When qualifying a synonym with its name in the select list, Derby throws SQLSTATE 42X04
but if there is no qualification of the column, then the select statement executes successfully.
> ij version 10.3
> ij> connect 'jdbc:derby:wombat;create=true' user 'user1' as user1;
> WARNING 01J01: Database 'wombat' not created, connection made to existing database instead.
> ij> create schema test1;
> 0 rows inserted/updated/deleted
> ij> create schema test2;
> 0 rows inserted/updated/deleted
> ij> create table test1.t1 ( id bigint not null );
> 0 rows inserted/updated/deleted
> ij> create synonym test2.t1 for test1.t1;
> 0 rows inserted/updated/deleted
> ij> set schema test1;
> 0 rows inserted/updated/deleted
> ij> select t1.id from t1;
> ID
> --------------------
> 0 rows selected
> ij> set schema test2;
> 0 rows inserted/updated/deleted
> ij> select t1.id from t1;
> ERROR 42X04: Column 'T1.ID' is either not in any table in the FROM list or appears within
a join specification and is outside the scope of the join specification or appears in a HAVING
clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE  statement then
'T1.ID' is not a column in the target table
> ij> select id from t1;
> ID
> --------------------
> 0 rows selected
> ------------------ Java Information ------------------
> Java Version:    1.4.2_12
> Java Vendor:     Sun Microsystems Inc.
> Java home:       C:\Program Files\Java\j2re1.4.2_12
> Java classpath:  classes;.
> OS name:         Windows XP
> OS architecture: x86
> OS version:      5.1
> Java user name:  Yip
> Java user home:  C:\Documents and Settings\Yip
> Java user dir:   C:\work3\derby\trunk
> java.specification.name: Java Platform API Specification
> java.specification.version: 1.4
> --------- Derby Information --------
> JRE - JDBC: J2SE 1.4.2 - JDBC 3.0
> [C:\work3\derby\trunk\classes] 10.3.0.0 alpha - (438358)
> ------------------------------------------------------
> ----------------- Locale Information -----------------
> Current Locale :  [English/United States [en_US]]
> Found support for locale: [de_DE]
>          version: 10.3.0.0 alpha - (438358)
> Found support for locale: [es]
>          version: 10.3.0.0 alpha - (438358)
> Found support for locale: [fr]
>          version: 10.3.0.0 alpha - (438358)
> Found support for locale: [it]
>          version: 10.3.0.0 alpha - (438358)
> Found support for locale: [ja_JP]
>          version: 10.3.0.0 alpha - (438358)
> Found support for locale: [ko_KR]
>          version: 10.3.0.0 alpha - (438358)
> Found support for locale: [pt_BR]
>          version: 10.3.0.0 alpha - (438358)
> Found support for locale: [zh_CN]
>          version: 10.3.0.0 alpha - (438358)
> Found support for locale: [zh_TW]
>          version: 10.3.0.0 alpha - (438358)
> ------------------------------------------------------

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message