Re: [proposal] de-TOAST'ing using a iterator

2019-09-23 Thread Binguo Bao
Alvaro Herrera 于2019年9月17日周二 上午5:51写道: > On 2019-Sep-10, Binguo Bao wrote: > > > +/* > > + * Support for de-TOASTing toasted value iteratively. "need" is a > pointer > > + * between the beginning and end of iterator's ToastBuffer. The marco >

Re: [proposal] de-TOAST'ing using a iterator

2019-09-10 Thread Binguo Bao
r and keep > only the NULL-check inside the function, since this is not perf-critical > anyway. > Good catch. Done. > + iter->fetch_datum_iterator = create_fetch_datum_iterator(attr); > > + VARATT_EXTERNAL_GET_POINTER(toast_pointer, attr); > &g

Re: [proposal] de-TOAST'ing using a iterator

2019-08-21 Thread Binguo Bao
hopefully it will be clear to readers. > The main role of this macro is to explain the iterator's "ctrlc" state, IMO it's reasonable to put the macro and definition of de-TOAST iterator together. Thanks for your suggestion, I have updated the patch. -- Best regards, Bin

Re: [proposal] de-TOAST'ing using a iterator

2019-08-17 Thread Binguo Bao
d edit for grammar, spelling, and > clarity as you see fit. I know you're not a native speaker of English, > so I can help you with anything that remains. I've tried my best to improve the comments, but there should be room for further improvement I hope you can help me perfect i

Re: [proposal] de-TOAST'ing using a iterator

2019-08-03 Thread Binguo Bao
John Naylor 于2019年8月2日周五 下午3:12写道: > On Tue, Jul 30, 2019 at 8:20 PM Binguo Bao wrote: > > > > John Naylor 于2019年7月29日周一 上午11:49写道: > >> > >> 1). For every needle comparison, text_position_next_internal() > >> calculates how much of the value is need

Re: [proposal] de-TOAST'ing using a iterator

2019-07-30 Thread Binguo Bao
John Naylor 于2019年7月29日周一 上午11:49写道: > On Thu, Jul 25, 2019 at 10:21 PM Binguo Bao wrote: > My goal for this stage of review was to understand more fully what the > code is doing, and make it as simple and clear as possible, starting > at the top level. In doing so, it looks like

Re: [proposal] de-TOAST'ing using a iterator

2019-07-25 Thread Binguo Bao
ator or ToastBuffer? Maybe they can be designed to be more reasonable. Thanks again for the proposal. -- Best regards, Binguo Bao init-test.sh Description: application/shellscript iterator-test.sh Description: application/shellscript From 19deb6d7609a156cb14571d83c27d72f3ecb5aa8 Mon Sep 17 00:0

[GSoC] Second period status report for the de-TOAST iterator

2019-07-23 Thread Binguo Bao
ed patches according to hacker's review comments What I'm doing: - Make overall tests on the iterator - Applying the de-TOAST iterator to the json/jsonb data type Thanks to hackers and mentors for helping me advance this project. -- Best regards, Binguo Bao [1] https://summerofcode.wit

Re: [proposal] de-TOAST'ing using a iterator

2019-07-16 Thread Binguo Bao
TUM_SLICE using the de-TOAST iterator. IMO the iterator is more suitable for situations where the caller doesn't know the slice size. If the caller knows the slice size, it is reasonable to fetch enough chunks at once and then decompress it at once. -- Best regards, Binguo Bao init-test.sh Description: application/shellscript iterator-test.sh Description: application/shellscript

Re: [proposal] de-TOAST'ing using a iterator

2019-07-11 Thread Binguo Bao
I have set the local build configuration to be the same as on the CI. This patch should be correct. Best regards, Binguo Bao Binguo Bao 于2019年7月11日周四 上午12:39写道: > This is the patch that fix warnings. > > Best Regards, > Binguo Bao > > Binguo Bao 于2019年7月10日周三 下午10:18

Re: [proposal] de-TOAST'ing using a iterator

2019-07-10 Thread Binguo Bao
This is the patch that fix warnings. Best Regards, Binguo Bao Binguo Bao 于2019年7月10日周三 下午10:18写道: > Hi Thomas, > I've fixed the warnings. > > Thomas Munro 于2019年7月5日周五 下午12:21写道: > >> On Thu, Jun 20, 2019 at 1:51 AM Binguo Bao wrote: >> > Hi hackers! >

Re: [proposal] de-TOAST'ing using a iterator

2019-07-10 Thread Binguo Bao
Hi Thomas, I've fixed the warnings. Thomas Munro 于2019年7月5日周五 下午12:21写道: > On Thu, Jun 20, 2019 at 1:51 AM Binguo Bao wrote: > > Hi hackers! > > This proposal aims to provide the ability to de-TOAST a fully TOAST'd > and compressed field using an iterator and

Re: Optimize partial TOAST decompression

2019-07-09 Thread Binguo Bao
Tomas Vondra 于2019年7月10日周三 上午5:12写道: > On Sat, Jul 06, 2019 at 05:23:37PM +0200, Tomas Vondra wrote: > >On Sat, Jul 06, 2019 at 02:27:56AM +0800, Binguo Bao wrote: > >>Hi, Tomas! > >>Thanks for your testing and the suggestion. > >> > >>That's q

Re: Optimize partial TOAST decompression

2019-07-05 Thread Binguo Bao
he new code added to this > function does not adhere to our code style, and would deserve some > additional explanation of what it's doing/why. Same for the > heap_tuple_untoast_attr_slice, BTW. I've added more comments to explain the code's behavior. Besides, I also modified

Re: Optimize partial TOAST decompression

2019-07-03 Thread Binguo Bao
de lines that > currently require full decompression of the objects. > > P. > Thanks for your comment. I've updated the patch. As for the iterator API, I've implemented a de-TOAST iterator actually[0]. And I’m looking for more of its application scenarios and perfecting

Re: Optimize partial TOAST decompression

2019-07-01 Thread Binguo Bao
Hi! > Andrey Borodin 于2019年6月29日周六 下午9:48写道: > Hi! > Please, do not use top-posting, i.e. reply style where you quote whole > message under your response. It makes reading of archives terse. > > > 24 июня 2019 г., в 7:53, Binguo Bao написал(а): > > > >

Re: Optimize partial TOAST decompression

2019-06-23 Thread Binguo Bao
e in the patch. > Also, I'm not sure you use SET_VARSIZE_COMPRESSED correctly... I followed the code in toast_fetch_datum function[1], and I didn't see any wrong with it. Best regards, Binguo Bao [1] https://github.com/postgres/postgres/blob/master/src/backend/access/heap/tupto

[proposal] de-TOAST'ing using a iterator

2019-06-19 Thread Binguo Bao
tor greatly improves the efficiency of partial de-TOAST when it has almost no degradation in full de-TOAST efficiency. Next, I will continue to study how to apply iterators to more queries and improve iterator efficiency, such as using macros instead of function calls. The patch is also available

Optimize partial TOAST decompression

2019-06-02 Thread Binguo Bao
hat patch can play a greater role, there are about 200 related TOAST data chunks for each entry in the case. Related discussion: https://www.postgresql.org/message-id/flat/CACowWR07EDm7Y4m2kbhN_jnys%3DBBf9A6768RyQdKm_%3DNpkcaWg%40mail.gmail.com Best regards, Binguo Bao. From a7c99439ffe309526b57fe26

Re: pglz performance

2019-05-23 Thread Binguo Bao
compatible with the original compression algorithm now. 2. If the idea works, we need to test more data, what kind of data is more appropriate? Any comments are much appreciated. Best regards, Binguo Bao. [0] https://docs.google.com/document/d/1V4oXV5vGrGx24deBTKKM7bVdO3Cy-zfj-wQ4dkBUCl4