New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrong warning message for ambiguous query [CORE3690] #4038
Comments
Modified by: @hvladassignee: Vlad Khorsun [ hvlad ] |
Commented by: @hvlad The bug was not visible before v3 but wrong code exists in prior versions too |
Modified by: @hvladstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 3.0 Alpha 1 [ 10331 ] Fix Version: 2.1.5 [ 10420 ] Fix Version: 2.5.2 [ 10450 ] |
Modified by: @pcisarstatus: Resolved [ 5 ] => Closed [ 6 ] |
Commented by: @pavel-zotov Sorry, but I have one more question for this old ticket. C:\MIX\firebird\fb25>C:\MIX\firebird\fb25\bin\isql -sql_ 3 C:\MIX\firebird\fb25\t0.fdb C:\MIX\firebird\fb25>C:\MIX\firebird\fb25\bin\isql -sql_ 1 C:\MIX\firebird\fb25\t0.fdb WARNING: This database speaks SQL dialect 3 but Client SQL dialect was set to 1 . RDB$RELATION_ID
It it correct that when we connect via dialect 1 than we get error *AND ALSO* data from such query ? PS. WI-V2.5.4.26838, database was created in dialect = 3. |
Commented by: @dyemanov In the second case, you get a warning, not an error. Warnings do not interrupt query execution. |
Commented by: @pavel-zotov But is it WRONG or no that in dialect 1 such query can produce results rather than in dialect 3 ? Was such behaviour left intentionally ? |
Commented by: @dyemanov Yes, dialect 1 allows such queries for backward compatibility reasons. |
Modified by: @pavel-zotovstatus: Closed [ 6 ] => Closed [ 6 ] QA Status: Done successfully Test Details: Implemented by two separate files: core_3690_dialect_1.fbt and core_3690_dialect_3.fbt. |
Submitted by: @hvlad
Run ambiguous query :
1. at database in 3rd dialect
SQL> select id from t1, t2;
Statement failed, SQLSTATE = 42702
Dynamic SQL Error
-SQL error code = -204
-Ambiguous field name between table T1 and table T2
-ID
2. at database in 1st sql dialect
SQL> select id from t1, t2;
SQL warning code = 204
-<Missing arg #1 - possibly status vector overflow>
-Ambiguous field name between table T1 and table T2
Warning message is obviously wrong.
Commits: 18fb13e 8be35cd 6a8a920
====== Test Details ======
Implemented by two separate files: core_3690_dialect_1.fbt and core_3690_dialect_3.fbt.
Unfortunately, fbt_run can`t run single .fbt with two different dialects for the same value in 'firebird_version': actually only one of this sections will be checked.
The text was updated successfully, but these errors were encountered: