Обсуждение: proposal: ignore null fields in not relation type composite type based constructors

Поиск
Список
Период
Сортировка

proposal: ignore null fields in not relation type composite type based constructors

От
Pavel Stehule
Дата:
Hello

In Czech Postgres mailing list was user request for serialization to json without null values.

He needs a similar behave like XMLFOREST has - it ignores NULLs

In some situations and conversions, when your table is +/- sparse matrix, this request is valid

postgres=# select hstore(omega) from omega;
             hstore             
─────────────────────────────────
 "a"=>"10", "b"=>"20", "c"=>NULL
 "a"=>NULL, "b"=>"20", "c"=>"30"
(2 rows)

Proposed function

postgres=# select hstore(omega, ignore_nulls := true) from omega;
             hstore             
─────────────────────────────────
 "a"=>"10", "b"=>"20"
 "b"=>"20", "c"=>"30"
(2 rows)

What do you thinking about this proposal?

Regards

Pavel

Re: proposal: ignore null fields in not relation type composite type based constructors

От
Pavel Stehule
Дата:
Hello

I am sending small patch, that allows ignore nulls in row_to_json function. It allow significant size reduction of generated JSON documents.

Regards

Pavel




2014-05-25 7:53 GMT+02:00 Pavel Stehule <pavel.stehule@gmail.com>:
Hello

In Czech Postgres mailing list was user request for serialization to json without null values.

He needs a similar behave like XMLFOREST has - it ignores NULLs

In some situations and conversions, when your table is +/- sparse matrix, this request is valid

postgres=# select hstore(omega) from omega;
             hstore             
─────────────────────────────────
 "a"=>"10", "b"=>"20", "c"=>NULL
 "a"=>NULL, "b"=>"20", "c"=>"30"
(2 rows)

Proposed function

postgres=# select hstore(omega, ignore_nulls := true) from omega;
             hstore             
─────────────────────────────────
 "a"=>"10", "b"=>"20"
 "b"=>"20", "c"=>"30"
(2 rows)

What do you thinking about this proposal?

Regards

Pavel


Вложения

Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Jeevan Chalke
Дата:
<div dir="ltr">Hi Pavel,<br /><br />You have said that XMLFOREST has something which ignores nulls, what's that?<br
/>Willyou please provide an example ?<br /><br />I am NOT sure, but here you are trying to omit entire field from the
output<br/> when its value is NULL. But that will add an extra efforts at other end<br />which is using output of this.
Thatapplication need to know all fields and<br />then need to replace NULL values for missing fields. However we have
an<br/> optional argument for ignoring nulls and thus we are safe. Application will<br />use as per its choice.<br
/><br/>Well, apart from that, tried reviewing the patch. Patch was applied but make<br />failed with following
error.<br/><br />make[3]: Entering directory `/home/jeevan/pg_master/src/backend/catalog'<br />cd
../../../src/include/catalog&& '/usr/bin/perl' ./duplicate_oids<br />3255<br />make[3]: *** [postgres.bki]
Error1<br /><br /> Please run unused_oids script to find unused oid.<br /><br />However, I had a quick look over code
changes.At first glance it looks<br />good. But still need to check on SQL level and then code walk-through.<br /><br
/>Waitingfor updated patch.<br /><br />Thanks<br /><br /><div class="gmail_extra">-- <br /><div dir="ltr">Jeevan B
Chalke<br/>Principal Software Engineer, Product Development<br />EnterpriseDB Corporation<br />The Enterprise
PostgreSQLCompany<br /><br /></div></div></div> 

Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Pavel Stehule
Дата:
Hello


2014-08-22 12:21 GMT+02:00 Jeevan Chalke <jeevan.chalke@enterprisedb.com>:
Hi Pavel,

You have said that XMLFOREST has something which ignores nulls, what's that?
Will you please provide an example ?

I was partially wrong - XMLFOREST ignore null always

postgres=# select xmlforest(10 as a,20 as b,null as c);
     xmlforest     
--------------------
 <a>10</a><b>20</b>
(1 row)

so if you would to empty elements, you should to use xmlelement and xmlconcat

postgres=# select xmlconcat(xmlforest(10 as a,20 as b), xmlelement(name c, null));
       xmlconcat       
------------------------
 <a>10</a><b>20</b><c/>
(1 row)

 

I am NOT sure, but here you are trying to omit entire field from the output
when its value is NULL. But that will add an extra efforts at other end
which is using output of this. That application need to know all fields and
then need to replace NULL values for missing fields. However we have an
optional argument for ignoring nulls and thus we are safe. Application will
use as per its choice.

with my patch, you can do decision - lot of REST services doesn't distinguishes between empty and missing tag - and some developers prefer remove empty tags due less size of message.
 

Well, apart from that, tried reviewing the patch. Patch was applied but make
failed with following error.

make[3]: Entering directory `/home/jeevan/pg_master/src/backend/catalog'
cd ../../../src/include/catalog && '/usr/bin/perl' ./duplicate_oids
3255
make[3]: *** [postgres.bki] Error 1

Please run unused_oids script to find unused oid.

it needs remastering

update in attachemnt

 

However, I had a quick look over code changes. At first glance it looks
good. But still need to check on SQL level and then code walk-through.

Waiting for updated patch.

thank you for review

Regards

Pavel
 

Thanks

--
Jeevan B Chalke
Principal Software Engineer, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company


Вложения

Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Jeevan Chalke
Дата:
<div dir="ltr">Hi Pavel,<br /><br />Patch does look good to me. And found no issues as such.<br /><br />However here
aremy optional suggestions:<br /><br />1. Frankly, I did not like name of the function "row_to_json_pretty_choosy".<br
/>Something like "row_to_json_pretty_ignore_nulls" seems better to me.<br /><br />2. To use ignore nulls feature, I
haveto always pass pretty flag.<br />Which seems weired.<br /><br />Since we do support named argument, can we avoid
that?<br/> No idea how much difficult it is. If we have a default arguments to this<br />function then we do not need
oneand two argument variations for this<br />function as well. And we can use named argument for omitting the
required<br/> one. Just a thought.<br /><br />Rest looks good to me.<br /><br />Thanks<br /><div
class="gmail_extra"><br/>-- <br /><div dir="ltr">Jeevan B Chalke<br />Principal Software Engineer, Product
Development<br/>EnterpriseDB Corporation<br />The Enterprise PostgreSQL Company<br /><br /></div></div></div> 

Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Pavel Stehule
Дата:



2014-09-01 12:33 GMT+02:00 Jeevan Chalke <jeevan.chalke@enterprisedb.com>:
Hi Pavel,

Patch does look good to me. And found no issues as such.

However here are my optional suggestions:

1. Frankly, I did not like name of the function "row_to_json_pretty_choosy".
Something like "row_to_json_pretty_ignore_nulls" seems better to me.

should be - I have no better name
 

2. To use ignore nulls feature, I have to always pass pretty flag.
Which seems weired.

Since we do support named argument, can we avoid that?
No idea how much difficult it is. If we have a default arguments to this
function then we do not need one and two argument variations for this
function as well. And we can use named argument for omitting the required
one. Just a thought.

it needs a redesign of original implementation, we should to change API to use default values with named parameters

but it doesn't help too much (although it can be readable little bit more)

instead row_to_json(x, false, true)

be

row_ro_json(x, ignore_null := true)

it is not too much work, but I need a names for parameters

Regards

Pavel
 

Rest looks good to me.


Thanks

--
Jeevan B Chalke
Principal Software Engineer, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company


Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Jeevan Chalke
Дата:
Hi Pavel,

it needs a redesign of original implementation, we should to change API to use default values with named parameters

but it doesn't help too much (although it can be readable little bit more)

instead row_to_json(x, false, true)

be

row_ro_json(x, ignore_null := true)

it is not too much work, but I need a names for parameters

I have tried adding dummy names (a, b, c) in pg_proc entry you have added.
But that is not sufficient. We need to have default values provided to these
arguments to work row_ro_json(x, ignore_null := true) call.
It was not trivial. So I have not put much thought on that.

For name, I choose (row, pretty, ignore_nulls) or similar.

However it was my thought.
If it is too complex of not so useful then we can ignore it.

Thanks
--
Jeevan B Chalke
Principal Software Engineer, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company

Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Pavel Stehule
Дата:
Hello


2014-09-02 13:54 GMT+02:00 Jeevan Chalke <jeevan.chalke@enterprisedb.com>:
Hi Pavel,

it needs a redesign of original implementation, we should to change API to use default values with named parameters

but it doesn't help too much (although it can be readable little bit more)

instead row_to_json(x, false, true)

be

row_ro_json(x, ignore_null := true)

it is not too much work, but I need a names for parameters

I have tried adding dummy names (a, b, c) in pg_proc entry you have added.
But that is not sufficient. We need to have default values provided to these
arguments to work row_ro_json(x, ignore_null := true) call.
It was not trivial. So I have not put much thought on that.

For name, I choose (row, pretty, ignore_nulls) or similar.

However it was my thought.
If it is too complex of not so useful then we can ignore it.

here is patch

Regards

Pavel
 

Thanks
--
Jeevan B Chalke
Principal Software Engineer, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company


Вложения

Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Pavel Stehule
Дата:



2014-09-03 7:05 GMT+02:00 Pavel Stehule <pavel.stehule@gmail.com>:
Hello


2014-09-02 13:54 GMT+02:00 Jeevan Chalke <jeevan.chalke@enterprisedb.com>:

Hi Pavel,

it needs a redesign of original implementation, we should to change API to use default values with named parameters

but it doesn't help too much (although it can be readable little bit more)

instead row_to_json(x, false, true)

be

row_ro_json(x, ignore_null := true)

it is not too much work, but I need a names for parameters

I have tried adding dummy names (a, b, c) in pg_proc entry you have added.
But that is not sufficient. We need to have default values provided to these
arguments to work row_ro_json(x, ignore_null := true) call.
It was not trivial. So I have not put much thought on that.

For name, I choose (row, pretty, ignore_nulls) or similar.

I cannot use "row" because it is keyword - I used "rowval"

Regards

Pavel
 

However it was my thought.
If it is too complex of not so useful then we can ignore it.

here is patch

Regards

Pavel
 

Thanks
--
Jeevan B Chalke
Principal Software Engineer, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company



Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Jeevan Chalke
Дата:
<div dir="ltr">Hi Pavel,<br /><br />Here are few more comments on new implementation.<br /><br />1.<br /> <span
style="font-family:couriernew,monospace">/*<br />- * SQL function row_to_json(row)<br />+ * SQL function
row_to_json(rowrecord, pretty bool, ignore_nulls bool)<br />   */<br /></span><br />In above comments, parameter name
"row"should changed to "rowval".<br /><br />2.<br /><span style="font-family:courier new,monospace">-DATA(insert OID =
3155(  row_to_json       PGNSP PGUID 12 1 0 0 0 f f f f t f s 1 0 114 "2249" _null_ _null_ _null_ _null_ row_to_json
_null__null_ _null_ ));<br /> +DATA(insert OID = 3155 (  row_to_json       PGNSP PGUID 12 1 0 0 0 f f f f t f s 1 0 114
"224916 16" _null_ _null_ "{rowval,pretty,ignore_nulls}" _null_ row_to_json _null_ _null_ _null_ ));<br /></span><br />
Numberof arguments (pronargs) should be 3 now. However, when we create it<br />again with default values it gets
updated.But still here we should not have<br />inconsistency.<br /><br />3.<br /><span style="font-family:courier
new,monospace"> externDatum row_to_json(PG_FUNCTION_ARGS);<br />  extern Datum row_to_json_pretty(PG_FUNCTION_ARGS);<br
/>+externDatum row_to_json_pretty_choosy(PG_FUNCTION_ARGS);<br /> extern Datum to_json(PG_FUNCTION_ARGS);<br
/></span><br/>With this new implementation, we have NOT added row_to_json_pretty_choosy()<br /> function. So need to
removethat added line. Also we have only one function<br />with default arguments and thus removed row_to_json_pretty()
functionas<br />well. Thus need to remove extern for that too.<br /><br />4.<br />Can we have couple of test cases with
namedargument along with skipped<br /> pretty parameter test?<br /><br /><br />Thanks<br /><br /><div
class="gmail_extra">--<br /><div dir="ltr">Jeevan B Chalke<br />Principal Software Engineer, Product Development<br
/>EnterpriseDBCorporation<br />The Enterprise PostgreSQL Company<br /><br /></div></div></div> 

Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Pavel Stehule
Дата:
Hi


2014-09-03 9:27 GMT+02:00 Jeevan Chalke <jeevan.chalke@enterprisedb.com>:
Hi Pavel,

Here are few more comments on new implementation.

1.
 /*
- * SQL function row_to_json(row)
+ * SQL function row_to_json(row record, pretty bool, ignore_nulls bool)
  */

In above comments, parameter name "row" should changed to "rowval".

2.
-DATA(insert OID = 3155 (  row_to_json       PGNSP PGUID 12 1 0 0 0 f f f f t f s 1 0 114 "2249" _null_ _null_ _null_ _null_ row_to_json _null_ _null_ _null_ ));
+DATA(insert OID = 3155 (  row_to_json       PGNSP PGUID 12 1 0 0 0 f f f f t f s 1 0 114 "2249 16 16" _null_ _null_ "{rowval,pretty,ignore_nulls}" _null_ row_to_json _null_ _null_ _null_ ));

Number of arguments (pronargs) should be 3 now. However, when we create it
again with default values it gets updated. But still here we should not have
inconsistency.

3.
 extern Datum row_to_json(PG_FUNCTION_ARGS);
 extern Datum row_to_json_pretty(PG_FUNCTION_ARGS);
+extern Datum row_to_json_pretty_choosy(PG_FUNCTION_ARGS);
 extern Datum to_json(PG_FUNCTION_ARGS);

With this new implementation, we have NOT added row_to_json_pretty_choosy()
function. So need to remove that added line. Also we have only one function
with default arguments and thus removed row_to_json_pretty() function as
well. Thus need to remove extern for that too.

4.
Can we have couple of test cases with named argument along with skipped
pretty parameter test?



done

Regards

Pavel
 

Thanks

--
Jeevan B Chalke
Principal Software Engineer, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company


Вложения

Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Jeevan Chalke
Дата:
Hi Pavel,

You have attached wrong patch.

Thanks
--
Jeevan B Chalke
Principal Software Engineer, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company

Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Pavel Stehule
Дата:
I am sory

too much patches

Regards

Pavel



2014-09-04 7:35 GMT+02:00 Jeevan Chalke <jeevan.chalke@enterprisedb.com>:
Hi Pavel,

You have attached wrong patch.


Thanks
--
Jeevan B Chalke
Principal Software Engineer, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company


Вложения

Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Jeevan Chalke
Дата:



On Thu, Sep 4, 2014 at 11:41 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
I am sory

too much patches

:)

Patch looks good to me.
Marking "Ready for Committer".

Thanks
 

Regards

Pavel


--
Jeevan B Chalke
Principal Software Engineer, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company

Re: Re: proposal: ignore null fields in not relation type composite type based constructors

От
Pavel Stehule
Дата:
Thank you

Regards

Pavel


2014-09-05 8:29 GMT+02:00 Jeevan Chalke <jeevan.chalke@enterprisedb.com>:



On Thu, Sep 4, 2014 at 11:41 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
I am sory

too much patches

:)

Patch looks good to me.
Marking "Ready for Committer".

Thanks
 

Regards

Pavel


--
Jeevan B Chalke
Principal Software Engineer, Product Development
EnterpriseDB Corporation
The Enterprise PostgreSQL Company


Re: proposal: ignore null fields in not relation type composite type based constructors

От
Stephen Frost
Дата:
Pavel, All,

* Pavel Stehule (pavel.stehule@gmail.com) wrote:
> Thank you

I made a few minor adjustments, but the bigger issue (in my view) is
what to do about array_to_json_pretty- seems like we should do the same
there, no?  Perhaps you could propose a new patch which incorporates my
minor changes and also removes array_to_json_pretty and makes
array_to_json take an optional argument?

Thoughts?

    Thanks,

        Stephen

Вложения

Re: proposal: ignore null fields in not relation type composite type based constructors

От
Pavel Stehule
Дата:
Hi

2014-09-08 5:48 GMT+02:00 Stephen Frost <sfrost@snowman.net>:
Pavel, All,

* Pavel Stehule (pavel.stehule@gmail.com) wrote:
> Thank you

I made a few minor adjustments, but the bigger issue (in my view) is
what to do about array_to_json_pretty- seems like we should do the same
there, no?  Perhaps you could propose a new patch which incorporates my
minor changes and also removes array_to_json_pretty and makes
array_to_json take an optional argument?

I though about it, and I am not sure. If somebody uses arrays as set, then it can be good idea, when it is used as array, then you cannot to throw a nulls from array.

I am thinking, so it is not necessary, because we can remove NULLs from array simply via iteration over array (what is impossible for row fields)

CREATE OR REPLACE FUNCTION remove_null(anyarray)
RETURNS anyarray AS $$
SELECT ARRAY(SELECT a FROM unnest($1) g(a) WHERE a IS NOT NULL)
$$ LANGUAGE plpgsql;

or this function can be in core for general usage.

ignore_nulls in array_to_json_pretty probably is not necessary. On second hand, the cost is zero, and we can have it for API consistency.

Regards

Pavel
 

Thoughts?

        Thanks,

                Stephen

Re: proposal: ignore null fields in not relation type composite type based constructors

От
Stephen Frost
Дата:
* Pavel Stehule (pavel.stehule@gmail.com) wrote:
> ignore_nulls in array_to_json_pretty probably is not necessary. On second
> hand, the cost is zero, and we can have it for API consistency.

I'm willing to be persuaded either way on this, really.  I do think it
would be nice for both array_to_json and row_to_json to be single
functions which take default values, but as for if array_to_json has a
ignore_nulls option, I'm on the fence and would defer to people who use
that function regularly (I don't today).

Beyond that, I'm pretty happy moving forward with this patch.
Thanks,
    Stephen

Re: proposal: ignore null fields in not relation type composite type based constructors

От
Pavel Stehule
Дата:


2014-09-08 6:27 GMT+02:00 Stephen Frost <sfrost@snowman.net>:
* Pavel Stehule (pavel.stehule@gmail.com) wrote:
> ignore_nulls in array_to_json_pretty probably is not necessary. On second
> hand, the cost is zero, and we can have it for API consistency.

I'm willing to be persuaded either way on this, really.  I do think it
would be nice for both array_to_json and row_to_json to be single
functions which take default values, but as for if array_to_json has a
ignore_nulls option, I'm on the fence and would defer to people who use
that function regularly (I don't today).

Beyond that, I'm pretty happy moving forward with this patch.

ok

Regards

Pavel
 

        Thanks,

                Stephen

Re: proposal: ignore null fields in not relation type composite type based constructors

От
Pavel Stehule
Дата:
Hi Stephen

Can I help with something, it is there some open question?

Regards

Pavel

2014-09-08 6:27 GMT+02:00 Stephen Frost <sfrost@snowman.net>:
* Pavel Stehule (pavel.stehule@gmail.com) wrote:
> ignore_nulls in array_to_json_pretty probably is not necessary. On second
> hand, the cost is zero, and we can have it for API consistency.

I'm willing to be persuaded either way on this, really.  I do think it
would be nice for both array_to_json and row_to_json to be single
functions which take default values, but as for if array_to_json has a
ignore_nulls option, I'm on the fence and would defer to people who use
that function regularly (I don't today).

Beyond that, I'm pretty happy moving forward with this patch.

        Thanks,

                Stephen

Re: proposal: ignore null fields in not relation type composite type based constructors

От
Stephen Frost
Дата:
* Pavel Stehule (pavel.stehule@gmail.com) wrote:
> Can I help with something, it is there some open question?

I had been hoping for a more definitive answer regarding this option for
array_to_json, or even a comment about the change to row_to_json.
Andrew- any thoughts on this?  (that's what the ping on IRC is for :).
Thanks,
    Stephen

> 2014-09-08 6:27 GMT+02:00 Stephen Frost <sfrost@snowman.net>:
> > * Pavel Stehule (pavel.stehule@gmail.com) wrote:
> > > ignore_nulls in array_to_json_pretty probably is not necessary. On second
> > > hand, the cost is zero, and we can have it for API consistency.
> >
> > I'm willing to be persuaded either way on this, really.  I do think it
> > would be nice for both array_to_json and row_to_json to be single
> > functions which take default values, but as for if array_to_json has a
> > ignore_nulls option, I'm on the fence and would defer to people who use
> > that function regularly (I don't today).
> >
> > Beyond that, I'm pretty happy moving forward with this patch.

Re: proposal: ignore null fields in not relation type composite type based constructors

От
Andrew Dunstan
Дата:
On 09/11/2014 08:29 AM, Stephen Frost wrote:
> * Pavel Stehule (pavel.stehule@gmail.com) wrote:
>> Can I help with something, it is there some open question?
> I had been hoping for a more definitive answer regarding this option for
> array_to_json, or even a comment about the change to row_to_json.
> Andrew- any thoughts on this?  (that's what the ping on IRC is for :).


The change in row_to_json looks OK, I think. we're replacing an 
overloading with use of default params, yes? That seems quite 
reasonable, and users shouldn't notice the difference.

There might be a case for optionally suppressing nulls in array_to_json, 
and it might work reasonably since unlike SQL arrays JSON arrays don't 
have to be regular (if nested they are arrays of arrays, not 
multi-dimensional single arrays). OTOH I'm not sure if it's worth doing 
just for the sake of orthogonality. If someone wants it, then go for it.

cheers

andrew





Re: proposal: ignore null fields in not relation type composite type based constructors

От
Stephen Frost
Дата:
Andrew,

* Andrew Dunstan (andrew@dunslane.net) wrote:
> On 09/11/2014 08:29 AM, Stephen Frost wrote:
> >* Pavel Stehule (pavel.stehule@gmail.com) wrote:
> >>Can I help with something, it is there some open question?
> >I had been hoping for a more definitive answer regarding this option for
> >array_to_json, or even a comment about the change to row_to_json.
> >Andrew- any thoughts on this?  (that's what the ping on IRC is for :).
>
> The change in row_to_json looks OK, I think. we're replacing an
> overloading with use of default params, yes? That seems quite
> reasonable, and users shouldn't notice the difference.

Right.  Great, thanks.

> There might be a case for optionally suppressing nulls in
> array_to_json, and it might work reasonably since unlike SQL arrays
> JSON arrays don't have to be regular (if nested they are arrays of
> arrays, not multi-dimensional single arrays). OTOH I'm not sure if
> it's worth doing just for the sake of orthogonality. If someone
> wants it, then go for it.

Ok.  I'll handle updating both of these to remove the overloading
and use default params instead, but I'll only add the 'ignore_null'
option to row_to_json.
Thanks again!
    Stephen

Re: proposal: ignore null fields in not relation type composite type based constructors

От
Stephen Frost
Дата:
All,

* Stephen Frost (sfrost@snowman.net) wrote:
> Ok.  I'll handle updating both of these to remove the overloading
> and use default params instead, but I'll only add the 'ignore_null'
> option to row_to_json.

Barring objections or any issues I find as I go back through it, this is
what I'm planning to push a bit later on tonight.

    Thanks!

        Stephen

Вложения

Re: proposal: ignore null fields in not relation type composite type based constructors

От
Stephen Frost
Дата:
* Stephen Frost (sfrost@snowman.net) wrote:
> * Stephen Frost (sfrost@snowman.net) wrote:
> > Ok.  I'll handle updating both of these to remove the overloading
> > and use default params instead, but I'll only add the 'ignore_null'
> > option to row_to_json.
>
> Barring objections or any issues I find as I go back through it, this is
> what I'm planning to push a bit later on tonight.

Pushed.
Thanks!
    Stephen