Commit Graph

303 Commits

Author SHA1 Message Date
Michael Meskes
e9c3f0255f *** empty log message *** 2000-09-19 11:47:16 +00:00
Peter Eisentraut
335248c9b7 Support for DESTDIR make variable. This is used as in `make install
DESTDIR=/else/where' and prepends the value of DESTDIR to the full
installation paths (e.g., /else/where/usr/local/pgsql/bin). This allows
users to install the package into a location different from the one that
was configured and hard-coded into various scripts, e.g., for creating
binary packages.

DESTDIR is in many cases preferrable over `make install
prefix=/else/where' because

a) `prefix' affects the path that is hard-coded into the files, which can
lead to a `make install prefix=xxx' (as done by the regression test
driver) corrupting the files in the source tree with wrong paths.

b) it doesn't work at all if a directory was overridden to not depend on
`prefix', e.g., --sysconfdir=/etc.

(Updating the regression test driver to use DESTDIR is a separate
undertaking.)

See also autoconf@gnu.org, From: Akim Demaille <akim@epita.fr>, Date: 08
Sep 2000 12:48:59 +0200, Message-ID:
<mv4em2vb1lw.fsf@nostromo.lrde.epita.fr>, Subject: Re: HTML format
documentation.
2000-09-17 13:02:52 +00:00
Peter Eisentraut
424f0edcb8 Fix relative path references so that make knowns which dependencies refer
to one another. Sort out builddir vs srcdir variable namings. Remove some
now obsoleted make variables.
2000-08-31 16:12:35 +00:00
Peter Eisentraut
f03fc94e7d New configure test for flex, which recognizes only flex but does so in all
incarnations (I hope). When an acceptable flex version is not found, print
instructive error messages from both configure and the makefiles, so that
users can continue building anyway.
2000-08-28 11:53:23 +00:00
Tom Lane
d70bf0dd35 Rename BITSPERBYTE to BITS_PER_BYTE to avoid conflict with <values.h>
on some platforms.
2000-08-26 21:53:44 +00:00
Tom Lane
0224177400 TOAST mop-up work: update comments for tuple-size-related symbols such
as MaxHeapAttributeNumber.  Increase MaxAttrSize to something more
reasonable (given what it's used for, namely checking char(n) declarations,
I didn't make it the full 1G that it could theoretically be --- 10Mb
seemed a more reasonable number).  Improve calculation of MaxTupleSize.
2000-08-07 20:16:13 +00:00
Peter Eisentraut
32163099d7 Add distprep target to take some of the job of the release_prep script.
The latter updated accordingly. Also add `dist' and `distcheck' targets
to play with, but caveat packager.

Updated backend/bootstrap and backend/parser makefile to make them
marginally builddir aware and fix the usual set of things.

Add rule to automatically remake config.h dependent on config.h.in and
config.status. (Adopted from Autoconf manual and about every other
package.) On a good day we should now have a complete and accurate set
of dependencies throughout everything.
2000-07-19 16:30:27 +00:00
Peter Eisentraut
44f64dd3ea Makefile cleanup for interface tree. Now essentially with all the
standard targets and behaviour. Replaced Makefile.in's with
Makefile's and declared the respective variables in Makefile.global.

maintainer-clean target now available at top level, although it does
not work in the backend tree yet.

Cleanup pass over Makefile.shlib, renamed some targets and variables.
The shared library symlink tests are now done by make, not the shell.

ecpg: Remove one warning in sloppy flex output.

PL/Perl and Perl interface: the MakeMaker documentation is confusing,
the realclean target *does* "delete derived files", but it also
uninstalls them. Don't use that.

The submake targets in the various bin directories that update libpq
should `make all', not `make libpq.a'. That is a) unportable, and
b) doesn't build the shared library.
2000-06-28 18:30:16 +00:00
Peter Eisentraut
1652d43358 Remove fmgrstamp-h business -- not needed and confusing
Add options to configure to automatically build for Kerberos
support; no more editing of make files.
2000-06-17 00:10:40 +00:00
Peter Eisentraut
44d1abebb4 Big warnings cleanup for Solaris/GCC. Down to about 40 now, but
we'll get there one day.

Use `cat' to create aclocal.m4, not `aclocal'. Some people don't
have automake installed.

Only run the autoconf rule in the top-level GNUmakefile if the
invoker specified `make configure', don't run it automatically
because of CVS timestamp skew.
2000-06-14 18:18:01 +00:00
Bruce Momjian
332f0f5fc0 Rename rule CURRENT to OLD in source tree. Add mapping for backward
compatiblity with old rules.
2000-06-12 19:40:58 +00:00
Bruce Momjian
8c1d09d591 Inheritance overhaul by Chris Bitmead <chris@bitmead.com> 2000-06-09 01:44:34 +00:00
Peter Eisentraut
e3059fc0f5 Gen_fmgrtab.sh is strange: it is a platform dependent way (because it uses
CPP) to create platform independent files. Unfortunately, that means that
every config.status (or configure) run invariably causes a relink of the
postmaster and also that we can't put these files in the distribution
(usefully). So we make it a little smarter: when the output files already
exist and it notices that it would recreate them in identical form, it
doesn't touch them. In order to avoid re-running the make rule all the time
we update a timestamp file instead.

Update release_prep accordingly. Also make Gen_fmgrtab.sh use the awk that
is detected at configure time, not necessarily named `awk' and have it check
for exit statuses a little better.

In other news... Remove USE_LOCALE from the templates, it was set to `no'
everywhere anyway. Also remove YACC and YFLAGS from the templates, configure
is smart enough to find bison or yacc itself. Use AC_PROG_YACC for that
instead of the hand-crafted code. Do not set YFLAGS to `-d'. The make rules
that need this flag should explicitly invoke it. YFLAGS should be a user
variable. Update the makefiles to that effect.
2000-06-07 16:27:00 +00:00
Peter Eisentraut
5b9d0d9a5c Moved configure script from src/ to the top level directory. Moved
configuration helper things into config/ dir. Adjusted some relative paths
in makefiles.
2000-06-06 22:01:15 +00:00
Bruce Momjian
cc2b5e5815 Remove NT-specific file open defines by defining our own open macros for
"rb" and "wb".
2000-06-02 15:57:44 +00:00
Bruce Momjian
6c944bf3cc Cleanup of <> and "" 2000-05-29 21:25:07 +00:00
Michael Meskes
e39a118694 *** empty log message *** 2000-05-17 06:03:14 +00:00
Michael Meskes
ce2a9f372d *** empty log message *** 2000-05-15 09:36:06 +00:00
Bruce Momjian
7ef29a26cb Update SCO FAQ. Billy G. Allie 2000-05-02 10:57:11 +00:00
Bruce Momjian
2f19d11fc8 Clean up ecpg test files. 2000-04-29 03:25:24 +00:00
Tom Lane
6216e84df6 Make ECPGraise's str parameter const to suppress warnings from gcc
and errors from pickier compilers.
2000-04-18 00:24:30 +00:00
Tom Lane
a7f2dd347b Remove bogus extern for 'descriptors' variable, which is in fact static.
Some compilers object to seeing extern and later static ...
2000-04-14 01:26:49 +00:00
Bruce Momjian
52f77df613 Ye-old pgindent run. Same 4-space tabs. 2000-04-12 17:17:23 +00:00
Michael Meskes
d78feff973 *** empty log message *** 2000-04-08 12:20:27 +00:00
Michael Meskes
a7b1ff6619 *** empty log message *** 2000-04-05 15:51:28 +00:00
Michael Meskes
9fb20f105f *** empty log message *** 2000-04-05 09:05:40 +00:00
Michael Meskes
5454b37921 *** empty log message *** 2000-04-03 19:34:26 +00:00
Michael Meskes
4aefba9077 *** empty log message *** 2000-04-02 08:51:44 +00:00
Michael Meskes
c9576ca1e0 *** empty log message *** 2000-03-30 11:41:46 +00:00
Tom Lane
b68d9c4c41 Makefile should not pre-empt user's decision about whether
to use -g ... especially not when this can cause real problems on some
platforms ...
2000-03-30 05:57:30 +00:00
Michael Meskes
ac3884e2a9 *** empty log message *** 2000-03-23 07:53:48 +00:00
Michael Meskes
cf6420dd94 *** empty log message *** 2000-03-19 10:04:47 +00:00
Tom Lane
f945f46193 Modify lexing of multi-char operators per pghackers discussion around
16-Mar-00: trailing + or - is not part of the operator unless the operator
also contains characters not present in SQL92-defined operators.  This
solves the 'X=-Y' problem without unduly constraining users' choice of
operator names --- in particular, no existing Postgres operator names
become invalid.

Also, remove processing of // comments, as agreed in the same thread.
2000-03-18 18:03:12 +00:00
Tom Lane
2b23e86447 Repair typos: <xb> EOF rule should be <xh>, likewise <xq> to <xd> 2000-03-18 05:44:21 +00:00
Tom Lane
3faa9bab07 Patch possible portability problem: a few places had // style comments,
which is not ANSI C, even though some compilers will take it...
2000-03-17 23:26:36 +00:00
Michael Meskes
8e0790519a *** empty log message *** 2000-03-15 19:09:10 +00:00
Bruce Momjian
ab9b4d8086 > The snprintf stuff in interfaces/ecpg/preproc/Makefile.in is broken.
Please
> apply the attached patch.
>
> Andreas Kardos
>
>
2000-03-14 15:55:17 +00:00
Michael Meskes
37ae1c0467 *** empty log message *** 2000-03-10 06:48:46 +00:00
Michael Meskes
8e7764d9c2 *** empty log message *** 2000-03-09 09:17:16 +00:00
Tom Lane
d261adf6db Fix ==-instead-of-= typo that gcc does its level best to point out.
Isn't anybody paying attention to warnings around here?
2000-03-08 22:03:12 +00:00
Bruce Momjian
f43ec05d05 I've made a diff against the 7.0beta1 tree that accomplishes several things:
1) adds NetBSD shared lib support on both ELF and a.out platforms

        2) replaces "-L$(LIBPQDIR) -lpq" with "$(LIBPQ)" defined in
           Makefile.global.  This makes it much easier to build stuff in
           the source tree after you've already installed the libraries.

        3) adds TEMPLATEDIR in Makefile.global that indicates where the
           database templates are stored.  This separates the template files
           from real libraries that are installed in $(LIBDIR).
        4) changes include order of <readline/readline.h> and <readline.h>.
           The latest GNU readline installs its headers under a readline
           subdirectory.

In addition to applying the patch below the following files need to be copied:

        backend/port/dynloader:
                bsd.h -> netbsd.h
                bsd.c -> netbsd.c
        include/port:
                bsd.h -> netbsd.h
        makefiles:
                Makefile.bsd -> Makefile.netbsd

It would be great to see this incorporated into the source tree before
the 7.0 release is cut.

        Thanks!

     -- Johnny C. Lam <lamj@stat.cmu.edu>
2000-03-08 01:58:46 +00:00
Michael Meskes
5a197810c0 *** empty log message *** 2000-03-07 15:11:03 +00:00
Michael Meskes
3c71ed7e72 *** empty log message *** 2000-03-03 14:39:26 +00:00
Michael Meskes
1c7fad57d6 *** empty log message *** 2000-03-03 13:24:06 +00:00
Michael Meskes
3a81a1a462 *** empty log message *** 2000-03-03 09:56:03 +00:00
Michael Meskes
85b2875a3a *** empty log message *** 2000-03-02 19:33:59 +00:00
Michael Meskes
9309eac111 *** empty log message *** 2000-03-02 12:13:32 +00:00
Michael Meskes
8cb8da38b8 *** empty log message *** 2000-03-01 12:49:43 +00:00
Bruce Momjian
da8b899d6c Update ecpg to use snprintf 2000-02-28 23:28:41 +00:00
Michael Meskes
c05abfb1a8 *** empty log message *** 2000-02-25 15:26:12 +00:00
Michael Meskes
70130905d1 *** empty log message *** 2000-02-25 11:11:15 +00:00
Michael Meskes
9f74608f47 *** empty log message *** 2000-02-23 19:26:05 +00:00
Michael Meskes
991b9740ac *** empty log message *** 2000-02-22 19:57:12 +00:00
Michael Meskes
bc8a39beef *** empty log message *** 2000-02-18 16:02:49 +00:00
Michael Meskes
ab0c8c691e *** empty log message *** 2000-02-18 14:34:12 +00:00
Michael Meskes
e3befe4a66 *** empty log message *** 2000-02-18 08:49:07 +00:00
Michael Meskes
b3b35e98b6 *** empty log message *** 2000-02-17 19:48:58 +00:00
Michael Meskes
35ba9de276 *** empty log message *** 2000-02-16 16:18:29 +00:00
Michael Meskes
5933f1857f *** empty log message *** 2000-02-16 11:52:25 +00:00
Michael Meskes
30f16e72a4 *** empty log message *** 2000-02-15 19:23:20 +00:00
Michael Meskes
72786e04fd *** empty log message *** 2000-02-15 12:15:57 +00:00
Michael Meskes
08b999f1bd *** empty log message *** 2000-02-14 10:00:06 +00:00
Jan Wieck
74d53d7838 Made prototypes for yyerror() consistent with Bruce's last changes
Jan
2000-02-04 18:45:23 +00:00
Michael Meskes
b53955f38a *** empty log message *** 2000-01-27 19:01:35 +00:00
Bruce Momjian
5c25d60244 Add:
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc

to all files copyright Regents of Berkeley.  Man, that's a lot of files.
2000-01-26 05:58:53 +00:00
Tom Lane
b6fdd14765 ecpg shouldn't depend on parser/gramparse.h. Also, eliminate some
compiler warnings caused by lack of extern declarations in extern.h.
I believe the remaining gcc warnings here would go away if the ecpg
grammar could be tweaked so it doesn't use REJECT ...
2000-01-20 05:23:26 +00:00
Michael Meskes
c80ba6a1b5 *** empty log message *** 2000-01-18 13:03:49 +00:00
Bruce Momjian
3f03f74f36 Update int28out and out8out and _in_ functions to handle trailing zeros
properly.
2000-01-10 15:41:34 +00:00
Bruce Momjian
69d4299e3e This patch removes the initialization of ri in loop in
quote_postgres(...) in ecpglib.c.

The code in CVS reads:

quote_postgres(char *arg, int lineno)
{
 char    *res = (char *) ecpg_alloc(2 * strlen(arg) + 3, lineno);
 int   i,
    ri = 0;

 if (!res)
  return (res);

 res[ri++] = '\'';
 for (i = 0, ri=0; arg[i]; i++, ri++)
 {
  switch (arg[i])
  {
   case '\'':
    res[ri++] = '\'';
    break;
   case '\\':
    res[ri++] = '\\';
    break;
   default:
    ;
  }

The problem here is that ri is reset to 0, thus overwriting the initial
quote.

Stephen Birch
2000-01-08 22:58:03 +00:00
Michael Meskes
33d71e3037 *** empty log message *** 2000-01-07 08:01:18 +00:00
Tom Lane
bc036a063d Put back erroneously-removed definition of 'defines' variable. 1999-12-26 21:31:35 +00:00
Michael Meskes
bd5ea42a8d *** empty log message *** 1999-12-23 12:33:19 +00:00
Bruce Momjian
b57b0e0445 The first fix is to allow an input file with a relative path and without
a ".pgc " extension. The second patch fixes a coredump when there is
more than one input file (in that case, cur and types were not set to
NULL before processing the second f ile)

The patch below modifies the accepted grammar of ecpg to accept

 FETCH [direction] [amount] cursor name

i.e. the IN|FROM clause becomes optional (as in Oracle and Informix).
This removes the incompatibility mentioned in section "Porting From
Other RDBMS Packages" p169, PostgreSQL Programmer's Guide. The grammar
is modified in such a way as to avoid shift/reduce conflicts. It does
not accept the statement "EXEC SQL FETCH;" anymore, as the old grammar
did (this seems to be a bug of the old grammar anyway).

This patch cleans up the handling of space characters in the scanner;
some patte rns require \n to be in {space}, some do not. A second fix is
the handling of cpp continuati on lines; the old pattern did not match
these. The parser is patched to fix an off-by-one error in the #line
directives. The pa rser is also enhanced to report the correct location
of errors in declarations in the "E XEC SQL DECLARE SECTION". Finally,
some right recursions in the parser were replaced by  left-recursions.


This patch adds preprocessor directives to ecpg; in particular

EXEC SQL IFDEF, EXEC SQL IFNDEF, EXEC SQL ELSE, EXEC SQL ELIF and EXEC SQL ENDIF

"EXEC SQL IFDEF" is used with defines made with "EXEC SQL DEFINE" and
defines, specified on the command line with -D. Defines, specified on
the command line are persistent across multiple input files. Defines can
be nested up to a maximum level of 128 (see patch). There is a fair
amount of error checking to make sure directives are matched properly. I
need preprocessor directives for porting code, that is written for an
Informix database, to a PostgreSQL database, while maintaining
compatibility with the original code. I decided not to extend the
already large ecpg grammar. Everything is done in the scanner by adding
some states, e.g. to skip all input except newlines and directives. The
preprocessor commands are compatible with Informix. Oracle uses a cpp
replacement.

Rene Hogendoorn
1999-12-21 17:42:16 +00:00
Michael Meskes
50a5b4ab41 *** empty log message *** 1999-12-16 06:53:12 +00:00
Bruce Momjian
9805abb0fb This patch solves a couple of memory leaks in ecpglib.c. The patch is
ok for both the
development tree (CVS) and for 6.5.3.

 Stephen Birch
1999-12-14 22:03:48 +00:00
Bruce Momjian
97dec77fab Rename several destroy* functions/tags to drop*. 1999-12-10 03:56:14 +00:00
Michael Meskes
7cf0f634d5 *** empty log message *** 1999-12-08 09:52:29 +00:00
Michael Meskes
54847b25d4 *** empty log message *** 1999-12-07 10:29:18 +00:00
Bruce Momjian
54ffd4677a ecpg ECPGFree fix from Rene Hogendoorn. 1999-11-23 19:47:14 +00:00
Bruce Momjian
85bb91a319 Fix _cplusplus test in both trees. 1999-11-23 18:49:55 +00:00
Michael Meskes
36b0f67335 *** empty log message *** 1999-11-23 10:32:16 +00:00
Michael Meskes
e30c2d67ef *** empty log message *** 1999-11-22 12:48:48 +00:00
Michael Meskes
a2c834f709 *** empty log message *** 1999-11-02 19:03:34 +00:00
Michael Meskes
7ff8a18030 *** empty log message *** 1999-11-02 12:11:53 +00:00
Michael Meskes
969093b785 *** empty log message *** 1999-10-29 19:39:31 +00:00
Michael Meskes
d3571c755e *** empty log message *** 1999-10-27 14:36:09 +00:00
Tom Lane
51f62d505e Standardize on MAXPGPATH as the size of a file pathname buffer,
eliminating some wildly inconsistent coding in various parts of the
system.  I set MAXPGPATH = 1024 in config.h.in.  If anyone is really
convinced that there ought to be a configure-time test to set the
value, go right ahead ... but I think it's a waste of time.
1999-10-25 03:08:03 +00:00
Tom Lane
45c002460c Remove fixed-size literal buffer from ecpg's lexer (same
fix recently applied to backend's lexer).  I see that YY_USES_REJECT
still gets defined for this lexer, which means it's going to have trouble
parsing really long tokens.  Not sure if it's worth doing anything about
that or not; I don't have the interest right now to understand why
ecpg's additions to the syntax cause this problem...
1999-10-22 23:14:50 +00:00
Michael Meskes
6fb3c3f78f *** empty log message *** 1999-10-15 19:02:08 +00:00
Bruce Momjian
c3ac9f07b7 Hi,
I have changed a bit the makefiles for the win32 port - the *.def files
(created when building shared libraries) are now clean from
Makefile.shlib.

I have also removed "-g" from CFLAGS in the "cygwin32" template - it can
be
enabled when running configure.

                        Dan
1999-10-13 11:38:42 +00:00
Michael Meskes
a4f59da146 *** empty log message *** 1999-10-08 11:05:05 +00:00
Bruce Momjian
9394d62c73 I have been working with user defined types and user defined c
functions.  One problem that I have encountered with the function
manager is that it does not allow the user to define type conversion
functions that convert between user types. For instance if mytype1,
mytype2, and mytype3 are three Postgresql user types, and if I wish to
define Postgresql conversion functions like

I run into problems, because the Postgresql dynamic loader would look
for a single link symbol, mytype3, for both pieces of object code.  If
I just change the name of one of the Postgresql functions (to make the
symbols distinct), the automatic type conversion that Postgresql uses,
for example, when matching operators to arguments no longer finds the
type conversion function.

The solution that I propose, and have implemented in the attatched
patch extends the CREATE FUNCTION syntax as follows. In the first case
above I use the link symbol mytype2_to_mytype3 for the link object
that implements the first conversion function, and define the
Postgresql operator with the following syntax

The patch includes changes to the parser to include the altered
syntax, changes to the ProcedureStmt node in nodes/parsenodes.h,
changes to commands/define.c to handle the extra information in the AS
clause, and changes to utils/fmgr/dfmgr.c that alter the way that the
dynamic loader figures out what link symbol to use.  I store the
string for the link symbol in the prosrc text attribute of the pg_proc
table which is currently unused in rows that reference dynamically
loaded
functions.


Bernie Frankpitt
1999-09-28 04:34:56 +00:00
Bruce Momjian
3f5a164387 Hello,
Two patches included:
- the first one enables the use of bool variables in fields which might
become NULL.
  Up to now the lib told you that NULL is not a bool variable, even if
you provide a indicator.

- the second patch checks whether a value is null and issues an error if
no indicator is provided.

Sidenote: IIRC, the variable should be left alone if the value is NULL.
ECPGlib sets it's value to 0 on NULL. Is this a violation of the
standard?

Regards
     Christof
1999-09-27 19:16:29 +00:00
Michael Meskes
66270c94e1 *** empty log message *** 1999-09-27 10:41:02 +00:00
Michael Meskes
231c5935a4 *** empty log message *** 1999-09-17 18:28:15 +00:00
Michael Meskes
68ee58ed43 *** empty log message *** 1999-09-17 09:48:25 +00:00
Michael Meskes
864e1e9d0e *** empty log message *** 1999-09-15 08:29:25 +00:00
Tom Lane
b65ab31910 Eliminate token length assumption in scanstr(). 1999-09-11 22:26:47 +00:00
Tom Lane
c9d040d85e Un-break code generated by ECPGRelease production. 1999-08-22 20:37:24 +00:00
Michael Meskes
b2a2be4c5a *** empty log message *** 1999-08-02 04:59:18 +00:00