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
"Invalid ESCAPE sequence" when connecting to the database [CORE2929] #3312
Comments
Commented by: @asfernandes Didn't it has been decided that all strings passed in DPB are like filename strings, so now ## would be required? |
Commented by: @hvlad I don't remember such decision. It is obviously not backward compatible. You can find real-life example there http://tech.groups.yahoo.com/group/firebird-support/message/107621 (archive) |
Commented by: @asfernandes README.connection_string_charset.txt (and supposedly in release notes too): ... That's accomplished using the symbol #. It is a prefix for an Unicode code point number (in hexadecimal ... Updated for 2.5 Beta 2: 2008-07-11 These rules are now valid for string DPB items too. |
Commented by: @asfernandes Rationale for the second change is in thread "Non-ASCII names for users and roles". |
Commented by: @AlexPeshkoff Looks like this solution caused some unexpected results. |
Commented by: @asfernandes What is "single #"? Why do you want to validate the string only if ends with "#"? "#" is used with follow letters/numbers. What a good time to discuss that again. We lost 2 or more months with this already. Now we should release 2.5. It has well know that DPB strings with # has needed to be modified to that work. Now because *one* guy that didn't read the release notes found a "problem" we should change what has already been validated to work as designed? Actually, I can find others backward incompatibilities already in the tracker that deserves attention. |
Commented by: @hvlad About README.connection_string_charset.txt About thread "Non-ASCII names for users and roles" |
Commented by: @hvlad Another bug SQL> create database 'S:\Temp\abc#xyz\x.fdb'; |
Commented by: @hvlad Well, after Nth reading of README.connection_string_charset.txt and some code i see that code corresponds documenttaion (while some comments will not make harm there). But i still think that assumption that all strings in non-UTF8 DPB could contain escaped unicode letters (and every # is doubled) is wrong. Let me show why i think so. |
Commented by: @dyemanov Perhaps a new DPB tag e.g. isc_dpb_escaped to explicitly specify when the input DPB item contains escaped strings would be a good solution. With the same backward compatibility rules as for isc_dpb_utf8_filename (documented in the readme), it would resolve the issue. The problem here is that using escaped strings would be nearly impossible without recompiling the application (to benefit from the new DPB tag). |
Commented by: @hvlad Additional clause for CREATE DATABASE and CONNECT statements also required for script utilities such as isql |
Commented by: @helebor And the SPB would have to implement it also. |
Commented by: @hvlad Will we do something with it in 2.5.0 ? |
Commented by: @AlexPeshkoff Looks like we have 3 choises: |
Commented by: @asfernandes I'd say there is two options only: 3 does not make sense for me, it's not something that can be analyzed. Also, we must pray for one that didn't read the release notes start saying again that UTF8 conversions from client/server (also documented) are bug because is different than what was happening in previous versions. |
Commented by: @hvlad I see following options PS And pray that one who created features worries about backward compatibility. Bug, even properly documented in RN, is still a bug ;) |
Commented by: @dyemanov I'd suggest to disable (comment out?) the escaping code until we can provide this feature without affecting backward compatibility. If it could be done for v2.5.1, let it be so, but let's please release v2.5.0 without this issue. |
Modified by: @asfernandesstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 2.5 RC3 [ 10381 ] Fix Version: 3.0 Alpha 1 [ 10331 ] assignee: Adriano dos Santos Fernandes [ asfernandes ] |
Modified by: @pcisarstatus: Resolved [ 5 ] => Closed [ 6 ] |
Modified by: @AlexPeshkoff |
Submitted by: @hvlad
Relate to CORE3782
isql.exe -user S#YSDBA -pass masterkey <any database>
It seems engine wrongly called ISC_unescape() for not escaped strings such as user name
Commits: 86456e1 7a110f4
The text was updated successfully, but these errors were encountered: