Skip site navigation (1) Skip section navigation (2)

Re: Implementing setBinaryStream(int, InputStream, long)

From: "Johann 'Myrkraverk' Oskarsson" <johann(at)2ndquadrant(dot)com>
To: PostgreSQL JDBC <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Implementing setBinaryStream(int, InputStream, long)
Date: 2012-06-04 14:48:22
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-jdbc
Dave Cramer <pg(at)fastcrypt(dot)com> writes:

> Johann,
> I've committed the patch with a small formatting difference.

Thank you.

> Also it would be nice if a test case came with this patch.
> Dave Cramer

I'll do that soon, maybe today.

>>>     if (length > Integer.MAX_VALUE)

Here I'm a bit concerned the test should be

    if ( length > Integer.MAX_VALUE || length < 0 )

since "small enough" negative long values will become positive integers
during the cast.

The question is "how much do we hold the user's hands?"  Consider an
infinite stream such as /dev/random with a length of
(long)Integer.MIN_VALUE - 1L.

Here I'm not at all concerned with negative values passed to setBytea()
- handling that is setBytea()'s problem.

Of course we can also test for length < Integer.MIN_VALUE but does it
ever make sense to upload negative length streams?

I can throw in a patch for that when I deliver a unit test, if wanted.

   Johann Oskarsson          |[]
   PostgreSQL Development, 24x7 Support, Training and Services  --+--

In response to

pgsql-jdbc by date

Next:From: Kris JurkaDate: 2012-06-04 14:56:02
Subject: Re: REL9_2_DEVEL
Previous:From: Dave CramerDate: 2012-06-04 13:00:57
Subject: REL9_2_DEVEL

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group