Skip to content
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

BLOB transliteration problem in a specific case [CORE2785] #3176

Closed
firebird-automations opened this issue Dec 2, 2009 · 19 comments
Closed

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: GR (gr)

Relate to CORE2222

Attachments:
db.sql
2785.sql

Transliteration error occurs with statement

COMMENT ON table T IS
'параметры: количество
если больше 0 подгоняет сумму товаров под данное значение пропорционально себестоимости
если меньше 0, на выходе в GSUMMA будет себестоимость за 1 ед.
если равно 0, делает только разложение на компоненты
Результат';

--

This operation is not defined for system tables.
unsuccessful metadata update.
Create metadata BLOB failed.
Cannot transliterate character between character sets.

--

Reproduces with IBExpert. With ISQL - or hangs up, or gets error too:

Statement failed, SQLCODE = -607
unsuccessful metadata update
-Create metadata BLOB failed
-Cannot transliterate character between character sets

With CharSet WIN1251 works fine.

Commits: 1e0e251 a2a09e3 667b32e

====== Test Details ======

Broken links to attaches.
2 dimitr: if these scripts were saved somewhere else, please send them to me.

@firebird-automations
Copy link
Collaborator Author

Modified by: GR (gr)

description: Transliteration error occurs with statement

COMMENT ON table T IS
'параметры: количество
если больше 0 подгоняет сумму товаров под данное значение пропорционально себестоимости
если меньше 0, на выходе в GSUMMA будет себестоимость за 1 ед.
если равно 0, делает только разложение на компоненты
Результат';

--

This operation is not defined for system tables.
unsuccessful metadata update.
Create metadata BLOB failed.
Cannot transliterate character between character sets.

--

Reproduces with IBExpert. ISQL - just hangs up.

=>

Transliteration error occurs with statement

COMMENT ON table T IS
'параметры: количество
если больше 0 подгоняет сумму товаров под данное значение пропорционально себестоимости
если меньше 0, на выходе в GSUMMA будет себестоимость за 1 ед.
если равно 0, делает только разложение на компоненты
Результат';

--

This operation is not defined for system tables.
unsuccessful metadata update.
Create metadata BLOB failed.
Cannot transliterate character between character sets.

--

Reproduces with IBExpert. ISQL - just hangs up.
With CharSet WIN1251 works fine.

environment: Windows, IBExpert => Windows, IBExpert, Client CharSet UTF8

@firebird-automations
Copy link
Collaborator Author

Modified by: GR (gr)

description: Transliteration error occurs with statement

COMMENT ON table T IS
'параметры: количество
если больше 0 подгоняет сумму товаров под данное значение пропорционально себестоимости
если меньше 0, на выходе в GSUMMA будет себестоимость за 1 ед.
если равно 0, делает только разложение на компоненты
Результат';

--

This operation is not defined for system tables.
unsuccessful metadata update.
Create metadata BLOB failed.
Cannot transliterate character between character sets.

--

Reproduces with IBExpert. ISQL - just hangs up.
With CharSet WIN1251 works fine.

=>

Transliteration error occurs with statement

COMMENT ON table T IS
'параметры: количество
если больше 0 подгоняет сумму товаров под данное значение пропорционально себестоимости
если меньше 0, на выходе в GSUMMA будет себестоимость за 1 ед.
если равно 0, делает только разложение на компоненты
Результат';

--

This operation is not defined for system tables.
unsuccessful metadata update.
Create metadata BLOB failed.
Cannot transliterate character between character sets.

--

Reproduces with IBExpert. With ISQL - or hangs up, or gets error too:

Statement failed, SQLCODE = -607
unsuccessful metadata update
-Create metadata BLOB failed
-Cannot transliterate character between character sets

With CharSet WIN1251 works fine.

@firebird-automations
Copy link
Collaborator Author

Modified by: GR (gr)

summary: Trasliteration error with COMMENT statement => Transliteration error with COMMENT statement

@firebird-automations
Copy link
Collaborator Author

Modified by: @asfernandes

assignee: Adriano dos Santos Fernandes [ asfernandes ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @asfernandes

Cannot reproduce. Feel free to return with reproducible test case.

I guess you're using incorrect client charset, not matching the text encoding.

@firebird-automations
Copy link
Collaborator Author

Modified by: @asfernandes

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Cannot Reproduce [ 5 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: GR (gr)

>> Cannot reproduce. Feel free to return with reproducible test case.

Try to reproduce with attached file (scipt).

>> I guess you're using incorrect client charset, not matching the text encoding.

Everything is possible. But removing 1 space char query works correctly.

@firebird-automations
Copy link
Collaborator Author

Modified by: GR (gr)

Attachment: 2785.sql [ 11530 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @dyemanov

I've attached a complete failing script (it's saved into UTF8 by the notepad). I can reproduce the issue using isql -i <db.sql>

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Attachment: db.sql [ 11531 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @asfernandes

This is not direct related to COMMENT ON. It's a blob transliteration problem in a specific case.

@firebird-automations
Copy link
Collaborator Author

Modified by: @asfernandes

status: Resolved [ 5 ] => Reopened [ 4 ]

resolution: Cannot Reproduce [ 5 ] =>

@firebird-automations
Copy link
Collaborator Author

Modified by: @asfernandes

Link: This issue relate to CORE2222 [ CORE2222 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @asfernandes

status: Reopened [ 4 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 2.5 RC2 [ 10372 ]

Fix Version: 2.1.4 [ 10361 ]

Fix Version: 3.0 Alpha 1 [ 10331 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

summary: Transliteration error with COMMENT statement => BLOB transliteration problem in a specific case

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @asfernandes

To make issue better documented, that is what happens.

When blob are transliterating, we consider that segments could have truncated text, in this case the truncated part is processed when the next segment is written.

But also, a transliteration may increase the string length, and if it is greated than 64K, it's written in chunks.

When the not-first chunk has truncated string, it has not being deferred to next segment and error incorrectly happens immediatelly.

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

QA Status: No test

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test => Not enough information

Test Details: Broken links to attaches.
2 dimitr: if these scripts were saved somewhere else, please send them to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment