Обсуждение: Source code cleanup

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

Source code cleanup

От
Heikki Linnakangas
Дата:
I'm getting a bunch of compiler warnings when I compile the latest
psqlodbc sources from CVS. I spent some time cleaning those up.

I also got access to a report of a Coverity scan over psqlodbc source
tree. That found a bunch of additional issues, some of which were
genuine (minor) bugs. I'm still in the process of going through the
report, but I fixed some bugs already.

I also wrote a small regression test suite to test with. It only tests a
few of the ODBC functions at the moment, but it's better than nothing,
and it can be easily extended. What do others use for testing psqlodbc?

I pushed the result to a git repository at
git@github.com:hlinnaka/psqlodbc.git. It contains the psqlodbc CVS
history, as converted by git cvsimport, and my changes as commits on top
of that. I can also send the changes as patches if that's preferred. Let
me know how to proceed.

- Heikki


Re: Source code cleanup

От
"Inoue, Hiroshi"
Дата:
Hi Heikki,

(2013/01/09 3:25), Heikki Linnakangas wrote:
> I'm getting a bunch of compiler warnings when I compile the latest
> psqlodbc sources from CVS. I spent some time cleaning those up.
>
> I also got access to a report of a Coverity scan over psqlodbc source
> tree. That found a bunch of additional issues, some of which were
> genuine (minor) bugs. I'm still in the process of going through the
> report, but I fixed some bugs already.

Thanks.

>
> I also wrote a small regression test suite to test with. It only tests a
> few of the ODBC functions at the moment, but it's better than nothing,
> and it can be easily extended. What do others use for testing psqlodbc?
>
> I pushed the result to a git repository at
> git@github.com:hlinnaka/psqlodbc.git. It contains the psqlodbc CVS
> history, as converted by git cvsimport, and my changes as commits on top
> of that.

I would check the git repository.

 > I can also send the changes as patches if that's preferred. Let
> me know how to proceed.
>
> - Heikki

regards,
Hiroshi Inoue





Re: Source code cleanup

От
Hiroshi Inoue
Дата:
Hi Heikki,

(2013/01/10 12:58), Inoue, Hiroshi wrote:
> Hi Heikki,
>
> (2013/01/09 3:25), Heikki Linnakangas wrote:
>> I'm getting a bunch of compiler warnings when I compile the latest
>> psqlodbc sources from CVS. I spent some time cleaning those up.
>>
>> I also got access to a report of a Coverity scan over psqlodbc source
>> tree. That found a bunch of additional issues, some of which were
>> genuine (minor) bugs. I'm still in the process of going through the
>> report, but I fixed some bugs already.
>
> Thanks.
>
>>
>> I also wrote a small regression test suite to test with. It only tests a
>> few of the ODBC functions at the moment, but it's better than nothing,
>> and it can be easily extended. What do others use for testing psqlodbc?
>>
>> I pushed the result to a git repository at
>> git@github.com:hlinnaka/psqlodbc.git. It contains the psqlodbc CVS
>> history, as converted by git cvsimport, and my changes as commits on top
>> of that.
>
> I would check the git repository.

The 1st question I have is about the change

commit 80b3eb35ab1428949f7ab8fbd567d5d49655dc02
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date:   Sat Jan 5 00:35:39 2013 +0200

     Silence Coverity warnings about passing negative param to
    SQLExecDirect.
     It doesn't know about the psqlodbc extension to that function that
      passing SQL_NTS means it's a C-style null-terminated string.

The type of the 3rd parameter of SQLExecDirect() is SQLINTEGER.
What kind od warnings does Coverity scan show?
SQL_NTS is generally used in ODBC and I could hardly remember the
examples which use parameters other than SQL_NTS.

In addition the change doesn't seem correct to me.
The 3rd parameter of the following SQLExecDirect call is the
string length of a Statement Handle.

                  ret = SQLExecDirect(stmt, (SQLCHAR *) "select gid from
pg_prepared_xacts", strlen(stmt));


regards,
Hiroshi Inoue



Re: Source code cleanup

От
Heikki Linnakangas
Дата:
(cc'ing pgsql-odbc mailing list yet again, I misspelled it earlier..)

On 22.02.2013 00:39, Hiroshi Inoue wrote:
> HI Heikki,
>
> (2013/02/21 17:55), Heikki Linnakangas wrote:
>> (cc'ing psql-odbc mailing list again, got dropped by accident)
>>
>> Hi Hiroshi,
>>
>> Any news on this? Would you like me to prepare a new set of patches with
>> those things fixed?
>
> Sorry for the late reply.
> I'm happy if you make new set of patches.

Ok, I fixed the couple of bugs you mentioned, rebased, and pushed to the
git repository again. See master branch at
git@github.com:hlinnaka/psqlodbc.git. Link to the github web interface:
https://github.com/hlinnaka/psqlodbc.

I separated the regression test suite I wrote to a separate branch,
master-with-testcases, for easier review. There's also a third branch in
the repository, "upstream", which is a mirror of the current CVS tip.

I kept the change that turns the switch- to if-statement in
getPrecisionPart() for now
(https://github.com/hlinnaka/psqlodbc/commit/1dd3bfb6e6a7f5d1bef49103593178ccc2caf129).
You suggested adding a default-case to that instead, which is fine with
me as well so feel free to change it at commit, although I find it
slightly more readable with "if".

- Heikki