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
Support for text BLOBs >= 32K as first argument for TRIM() [CORE3234] #3606
Comments
Modified by: @asfernandesassignee: Adriano dos Santos Fernandes [ asfernandes ] |
Modified by: @asfernandesstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 3.0 Alpha 1 [ 10331 ] |
Commented by: @pavel-zotov > the first argument must be under 32 KB. It seems that currently max length of the FIRST argument is limited to 65535 bytes. Test:show version; recreate table utf8text(b_trim_what blob, b_trim_from blob); insert into utf8text(b_trim_what) values( rpad('',32760, uuid_to_char(gen_uuid()) ) ); update utf8text set b_trim_from = b_trim_what || 'END'; set list on; select update utf8text set b_trim_what = b_trim_what || '!'; --------------------- this makes b_trim_what to have length = 65535 + 1 select Output:ISQL Version: WI-T3.0.0.31780 Firebird 3.0 Beta 2 TRIM_WHAT_OCT_LEN 65535 TRIM_WHAT_OCT_LEN 65536 |
Commented by: @pavel-zotov PS. Sorry, I forgot to put here my question. ===
|
Commented by: @asfernandes Thanks Pavel, please check again. |
Modified by: @asfernandesstatus: Resolved [ 5 ] => Reopened [ 4 ] Fix Version: 3.0 Beta 2 [ 10586 ] resolution: Fixed [ 1 ] => Fix Version: 3.0 Alpha 1 [ 10331 ] => |
Commented by: @pavel-zotov At least for two blobs with length 50 Mb now it works fine. But elapsed time on pretty good server is singnificant. Test:t list on; Output:B1LEN 50024520 Current memory = 40783200 |
Modified by: @pavel-zotovstatus: Resolved [ 5 ] => Resolved [ 5 ] QA Status: Done successfully Test Details: For single-byte (ascii) charset this test was run also two blobs with length 50'000'000 (+3) bytes: result was OK. |
Modified by: @pavel-zotovstatus: Resolved [ 5 ] => Closed [ 6 ] |
Submitted by: @paulvink
In some situations, it would be practical if one could TRIM long blobs from another blob, e.g. to remove standard T&C sections, EULAs etc.
Currently, TRIM(sub from string) allows blobs for both arguments, but the first argument must be under 32 KB.
Commits: 4e509cb 62054b8 FirebirdSQL/fbt-repository@c2b6365
====== Test Details ======
For single-byte (ascii) charset this test was run also two blobs with length 50'000'000 (+3) bytes: result was OK.
Current settings check work of TRIM() on blobs with non-ascii characters with octet_length ~ 1'000'000 bytes.
The text was updated successfully, but these errors were encountered: