Return-Path: wpp@marie.physik.tu-berlin.de
Received: from raven.native-ed.bc.ca  (raven.native-ed.bc.ca [134.87.106.1]) by nobozo.CS.Berkeley.EDU (8.6.4/8.6.3) with ESMTP id CAA14442 for <aoki@postgres.Berkeley.EDU>; Sun, 10 Jul 1994 02:16:01 -0700
Received: from mailgzrz.TU-Berlin.DE (mailgzrz.TU-Berlin.DE [130.149.4.10]) by  raven.native-ed.bc.ca  (8.6.4/8.6.4) with SMTP id BAA10419 for <linux-postgres@native-ed.bc.ca>; Sun, 10 Jul 1994 01:54:25 -0700
Received: from marie.physik.TU-Berlin.DE by mailgzrz.TU-Berlin.DE (5.65c/ZRZ-MX)
          for <linux-postgres@native-ed.bc.ca>
	  id AA20978; Sun, 10 Jul 1994 10:53:36 +0200
Received: by marie.physik.tu-berlin.de (5.0/SMI-SVR4)
	id AA27673; Sun, 10 Jul 1994 10:53:19 --100
From: wpp@marie.physik.tu-berlin.de (Kai Petzke)
Message-Id: <9407100853.AA27673@marie.physik.tu-berlin.de>
Subject: Re: postgres v4r2 for linux
To: corey@bbs.xnet.com (Corey Sweeney)
Date: Sat, 9 Jul 1994 23:08:00 +0200 (MET DST)
Cc: linux-postgres@native-ed.bc.ca
In-Reply-To: <9407030438.AA04e2p@bbs.xnet.com> from "Corey Sweeney" at Jul 2, 94 10:38:52 pm
X-Mailer: ELM [version 2.4 PL23]
Content-Type: text
Content-Length: 1729

Corey Sweeney (corey@bbs.xnet.com) said:

> Hey! it finnally happened.  Now we can get some real work done :)
> 
> Ok here's my proposal for the plan.  (it's the same plan as before, with a
> couple of additions of my own)
> 
> 
> ok, first we get it working with -Wall.  (without warnings)

I think so, too.  I hope, that we can parallelize this task.
Everybody who wants to help catches a directory, and tries to
get all the files in it compiled without warnings.

I want to do the beginning: I choose ~postgres/src/backend/planner.

There are two problems, though:

a) Casts to a superclass.  C does no implicit casting from a
   subclass to a superclass, C++ does.  To turn of the C compiler
   warnings would require to add casts, which are bad for C++,
   though, because they inhibit type checking.

   I see the following alternatives:
   - ignore the C warnings about illegal pointers passed to functions.
   - add the casts, as a macro call.  Eg:
     #ifdef  __cplusplus
     #define super(x) (x)		/* C - Version */
     #define super(x) 			/* C++ - Version */
     #endif

     foo(super(Node) arg1, arg2);

     That would call the function foo() with arg1 converted to type
     Node (the base type of the Postgres), and arg2 unmodified.

b) Communication.  Does anybody know of a method to keep several
   world wide distributed versions of an RCS log identical?

   I guess, not, so we will have to go for something less
   sophisticated.  I can volunteer to collect patches.  E-mail is
   quite reliable here, despite the ftp problems.  The bad thing
   is for modifications to header files, because they affect
   everybody's work.  Maybe patches to headers should be posted
   to the list immediately.




Kai

