Issue Details (XML | Word | Printable)

Key: CORE-3953
Type: Bug Bug
Status: Open Open
Priority: Critical Critical
Assignee: Unassigned
Reporter: Alex Kurov
Votes: 1
Watchers: 4

If you were logged in you would be able to see more operations.
Firebird Core

Database size increases highly while executing select query

Created: 12/Oct/12 02:40 PM   Updated: 29/May/13 10:02 PM
Component/s: None
Affects Version/s: 2.5.1, 2.5.2
Fix Version/s: None

File Attachments: 1. Zip Archive (95 kB)

Environment: Win32 2.5.1 or 2.5.2
Issue Links:

 Description  « Hide
Test base is included

Test query: select (select * from BASE64_ENCODE(photo)) from personphoto

This procedure automates BASE64_ENCODE and it really works with small blobs (<32k), but it test case base size increases 5kk after query execution

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Alex Kurov added a comment - 12/Oct/12 02:40 PM
test base

Mark Rotteveel added a comment - 13/Oct/12 08:09 AM

Vlad Khorsun added a comment - 13/Oct/12 02:57 PM

Vladimir Arkhipov added a comment - 16/Oct/12 02:33 PM
We have the same problem with text blobs and the main reason is that we can not use varchar instead of blobs because of limit 32k.
Do you have any plans to introduce unlimited varchar type like "text" in Postgres?
It might help to avoid nontarget use of blobs.

Adriano dos Santos Fernandes added a comment - 16/Oct/12 03:27 PM
There is no "unlimited" thing in computing. It will be limited by memory, disk or combination of the two. Calling it text, blob or clob changes nothing.

So it's a matter of design and implementation requirements and decisions:
1) Add blob garbage collection in PSQL
2) Make virtual (on the fly) concatenation
3) Make hints or another manner to make new blobs go to temp space
4) Add a system package (set of functions) to deal with blobs in PSQL

Vladimir Arkhipov added a comment - 16/Oct/12 04:24 PM
I think will be usefull 2 options:
1) Syntax in PSQL to declare type "text", computed in operating memory and compatible with varchars and text blobs (like simple string type, for example, in Pascal)
2) Syntax in PSQL to declare "temp" blobs with automatic garbage collection (blobs created in temp directory and deleted after usage)