Commit Graph

957 Commits

Author SHA1 Message Date
Tom Lane
a27b691e29 Ensure that all uses of <ctype.h> functions are applied to unsigned-char
values, whether the local char type is signed or not.  This is necessary
for portability.  Per discussion on pghackers around 9/16/00.
2000-12-03 20:45:40 +00:00
Peter Eisentraut
e5ba2fc5b5 Make all commands that link a program look like
$(CC) $(CFLAGS) $(LDFLAGS) <object files> <extra-libraries> $(LIBS) -o $@

This form seemed to be the most portable, readable, and logical, but in any
case it's better than having a dozen different ones in the tree.
2000-11-30 20:36:13 +00:00
Tom Lane
712af72c77 Fix yacc failures in preproc.y. 2000-11-20 22:03:06 +00:00
Michael Meskes
2d248d6585 Parser synced. 2000-11-20 10:50:42 +00:00
Tom Lane
f084a18af5 Eliminate unused-variable warning. 2000-11-20 03:51:33 +00:00
Michael Meskes
5cbbdd2ecb Applied yet another patch by Christof. Thanks Cristof!
Synced parser.
2000-11-09 14:06:57 +00:00
Peter Eisentraut
5e00df3568 Add dependencies required for parallel make 2000-11-08 18:56:25 +00:00
Michael Meskes
df8789bb15 Third try. Sorry, I had a wrong path in my copy statement. 2000-11-07 08:46:27 +00:00
Michael Meskes
b703c127ed Parser sync. 2000-11-03 10:47:54 +00:00
Michael Meskes
fae180f477 Added patch by Christof Petig <christof.petig@wtal.de> that fixes some bugs in preproc.y. 2000-10-31 15:11:38 +00:00
Michael Meskes
c7a3e0dfcb Sync preproc.y with gram.y. 2000-10-30 14:43:40 +00:00
Michael Meskes
dfb12a9850 Removed multibyte stuff since client does not know about encoding in the backendFixed quoting bug reported by Sascha Demetrio (sd@b-comp.de). 2000-10-29 09:44:58 +00:00
Michael Meskes
b111331d4b Synced preproc.y with gram.y. 2000-10-25 19:28:09 +00:00
Michael Meskes
03f9e5a5fc Added some more C constructs to the parser. 2000-10-25 07:00:33 +00:00
Peter Eisentraut
805e431a38 Add support for VPATH builds, that is, building somewhere else than in the
source directory.  This involves mostly makefiles using $(srcdir) when they
might have used ".".  (Regression tests don't work with this, yet.)

Sort out usage of CPPFLAGS, CFLAGS (and CXXFLAGS).  Add "override" keyword
in most places, to preserve necessary flags even when the user overrode the
flags.
2000-10-20 21:04:27 +00:00
Michael Meskes
adeedf9047 Fixed some bugs in C language parsing. 2000-10-17 15:38:26 +00:00
Michael Meskes
0a97c4a047 Simplified parsing of connect rule. 2000-10-17 06:15:29 +00:00
Michael Meskes
3615a6a84d Fixed handling of variables in connect rule. 2000-10-16 19:53:04 +00:00
Michael Meskes
965a0a40e1 Replace constants by C variables wherever possible. 2000-10-12 18:25:36 +00:00
Michael Meskes
8e72a8782c Synced preproc.y with gram.y 2000-10-11 14:56:37 +00:00
Michael Meskes
76f286b2ce - Synced preproc.y with gram.y.
- Synced keyword.c.
- Added patch by Christof Petig <christof.petig@wtal.de> to fix NOT
  FOUND problem on update/insert/delete.
2000-09-26 11:41:45 +00:00
Tatsuo Ishii
e9da3dc673 Fix compile error in ecpg when enable-multibyte is on. This is due to
illegal call to pg_mbclipen() that is for backend only.  However I
have not remove the entire part of the problem, rather mark it with
#ifdef MULTIBYTE_NOTUSED since we should come back with a long range
solution someday.
2000-09-26 05:42:15 +00:00
Michael Meskes
b4c8d47ab0 *** empty log message *** 2000-09-21 11:56:08 +00:00
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
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
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
ce2a9f372d *** empty log message *** 2000-05-15 09:36:06 +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
9fb20f105f *** empty log message *** 2000-04-05 09:05:40 +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
Michael Meskes
5a197810c0 *** empty log message *** 2000-03-07 15:11:03 +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
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
ab0c8c691e *** empty log message *** 2000-02-18 14:34:12 +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
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
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
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
Bruce Momjian
54ffd4677a ecpg ECPGFree fix from Rene Hogendoorn. 1999-11-23 19:47:14 +00:00
Michael Meskes
e30c2d67ef *** empty log message *** 1999-11-22 12:48:48 +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
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
Michael Meskes
66270c94e1 *** empty log message *** 1999-09-27 10:41:02 +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
Michael Meskes
9f0ffa2241 *** empty log message *** 1999-07-19 12:37:48 +00:00
Bruce Momjian
e44c931801 Re-add getopt.h check, remove NT-specific tests for it. 1999-07-19 02:27:16 +00:00
Bruce Momjian
c9acd2da12 Remove getopt configure check. 1999-07-19 01:18:05 +00:00
Bruce Momjian
c981442772 Update ecpg compile. 1999-07-18 21:07:02 +00:00
Bruce Momjian
cb08547646 Add getopt test. 1999-07-18 21:02:56 +00:00
Bruce Momjian
07262a2dfb Update configure include checks. 1999-07-18 16:42:16 +00:00
Bruce Momjian
3406901a29 Move some system includes into c.h, and remove duplicates. 1999-07-17 20:18:55 +00:00
Bruce Momjian
4b2c2850bf Clean up #include in /include directory. Add scripts for checking includes. 1999-07-15 15:21:54 +00:00
Bruce Momjian
ad4948862c Remove S*I comments from Stephan. 1999-07-13 21:17:45 +00:00
Tom Lane
73efd3867d Fix gcc complaint about long being passed to sprintf %d. 1999-07-09 22:53:40 +00:00
Bruce Momjian
eba41848aa Clarify maximum tuple and max attribute lengths. 1999-07-04 04:56:02 +00:00
Bruce Momjian
97dfff832c Fix to prevent too large tuple from being created. 1999-07-03 00:33:04 +00:00
Michael Meskes
9b0e20574b *** empty log message *** 1999-06-29 09:25:25 +00:00
Michael Meskes
d12561040c *** empty log message *** 1999-06-24 13:15:31 +00:00
Michael Meskes
c70db13265 *** empty log message *** 1999-06-16 18:25:50 +00:00
Michael Meskes
70dfc8c11e *** empty log message *** 1999-06-10 19:11:33 +00:00
Marc G. Fournier
840306af04 ecpg.patch (wrong makefile expansion in some cases)
the ecpg Makefiles use a variable DESTDIR which is never defined
        except by debian/rules makefile, in which case the ecpg makefiles
        expand wrong pathnames. If we want to support a DESTDIR root it
        must be done consistently in all the makefiles, not just in ecpg.

From: Massimo Dal Zotto <dz@cs.unitn.it>
1999-06-05 04:13:21 +00:00
Bruce Momjian
07842084fe pgindent run over code. 1999-05-25 16:15:34 +00:00
Michael Meskes
4b04b01aaa *** empty log message *** 1999-05-25 13:36:15 +00:00
Michael Meskes
a7b06f20c5 *** empty log message *** 1999-05-21 16:36:27 +00:00
Bruce Momjian
6d08b6a7b8 Remove 4096 string limited key on block size 1999-05-19 17:53:12 +00:00
Michael Meskes
21e03211cf *** empty log message *** 1999-05-18 05:20:17 +00:00
Michael Meskes
c8bd630af6 *** empty log message *** 1999-05-14 06:56:18 +00:00
Michael Meskes
e18c912acf *** empty log message *** 1999-05-07 18:03:37 +00:00
Bruce Momjian
210055ad61 here are some patches for 6.5.0 which I already submitted but have never
been applied. The patches are in the .tar.gz attachment at the end:

varchar-array.patch     this patch adds support for arrays of bpchar() and
                        varchar(), which where always missing from postgres.

                        These datatypes can be used to replace the _char4,
                        _char8, etc., which were dropped some time ago.

block-size.patch        this patch fixes many errors in the parser and other
                        program which happen with very large query statements
                        (> 8K) when using a page size larger than 8192.

                        This patch is needed if you want to submit queries
                        larger than 8K. Postgres supports tuples up to 32K
                        but you can't insert them because you can't submit
                        queries larger than 8K. My patch fixes this problem.

                        The patch also replaces all the occurrences of `8192'
                        and `1<<13' in the sources with the proper constants
                        defined in include files. You should now never find
                        8192 hardwired in C code, just to make code clearer.


--
Massimo Dal Zotto
1999-05-03 19:10:48 +00:00
Michael Meskes
dd6b1aaa25 *** empty log message *** 1999-04-26 05:28:48 +00:00
Michael Meskes
ad5a54d170 *** empty log message *** 1999-04-16 12:26:49 +00:00
Michael Meskes
29e2916827 *** empty log message *** 1999-04-14 18:51:37 +00:00
Michael Meskes
df6e504437 *** empty log message *** 1999-04-13 12:36:38 +00:00
Michael Meskes
d471f8073a *** empty log message *** 1999-03-24 20:05:15 +00:00
Tom Lane
b01a272755 Add .cvsignore file so cvs doesn't complain if you have lex/yacc
output files laying about.
1999-03-21 02:43:58 +00:00
Michael Meskes
e4274d60a5 *** empty log message *** 1999-03-20 19:46:54 +00:00
Tom Lane
a4ce6f00f8 Remove yacc/lex output files from CVS repository. 1999-03-20 18:45:27 +00:00
Tom Lane
e8f9b6baed make clean should remove lex.yy.c 1999-03-20 17:58:21 +00:00
Bruce Momjian
0aa2aed5f8 Reverse out pfree agg part of patch from Erik Riedel. 1999-03-20 13:18:20 +00:00
Michael Meskes
7729ba073d *** empty log message *** 1999-03-18 15:20:33 +00:00
Bruce Momjian
89b762e509 Fix snprintf with strings, and nextval('"Aa"'); 1999-03-16 04:26:01 +00:00
Michael Meskes
75380d3eae *** empty log message *** 1999-03-15 18:26:55 +00:00
Bruce Momjian
d66a44a58c Reversed out libpq protocol patch for Tom Lane. 1999-03-14 18:12:21 +00:00
Bruce Momjian
80db587e7b Here is a little syntax error found in a .y file... A dropped semi.
DwD
--
Daryl W. Dunbar
1999-03-14 16:40:18 +00:00
Michael Meskes
f9f458be10 *** empty log message *** 1999-03-11 15:42:08 +00:00
Michael Meskes
6f66fd8c2e *** empty log message *** 1999-03-07 08:01:18 +00:00
Michael Meskes
03842eb03b *** empty log message *** 1999-03-05 09:38:51 +00:00
Marc G. Fournier
d077c61492 From: Michael Meskes <Michael_Meskes@topmail.de>
+
+ Tue Feb 23 17:32:25 CET 1999
+
+       - Other than a struct a union itself cannot be specified as variable.
+
+ Fri Feb 26 07:18:25 CET 1999
+
+       - Synced preproc.y with gram.y.
+
+ Sat Feb 27 20:30:03 CET 1999
+
+       - Added automatic allocating for NULL pointers.
1999-02-28 07:25:34 +00:00
Marc G. Fournier
fa9db42a6e From: Michael Meskes <Michael_Meskes@topmail.de>
+
+ Son Feb 21 14:10:47 CET 1999
+
+       - Fixed variable detection in libecpg.
+
+ Mon Feb 22 19:47:45 CET 1999
+
+       - Added 'at <db_connection>' option to all commands it is apllicable
+         to. Due to changing the API of some libecpg functions this
+         requires me to increase the major version number.
+       - Synced pgc.l with scan.l.
+       - Added support for unions.
+       - Set library version to 3.0.0
+       - Set ecpg version to 3.0.0
1999-02-23 12:57:03 +00:00
Marc G. Fournier
bf6636baa6 From: Michael Meskes <Michael_Meskes@topmail.de>
See Changes file...
1999-02-20 07:01:08 +00:00
Bruce Momjian
6724a50787 Change my-function-name-- to my_function_name, and optimizer renames. 1999-02-13 23:22:53 +00:00
Marc G. Fournier
fc590b6f1a From: Michael Meskes <Michael.Meskes@usa.net>
+ Tue Feb  2 07:40:52 CET 1999
+
+       - Brought preproc.y in sync again with gram.y.
+       - Set ecpg version to 2.4.9
+
1999-02-04 04:58:05 +00:00
Bruce Momjian
9322950aa4 Cleanup of source files where 'return' or 'var =' is alone on a line. 1999-02-03 21:18:02 +00:00
Marc G. Fournier
91fed81c77 From: Michael Meskes <Michael.Meskes@usa.net>
+
+ Wed Jan 27 12:42:22 CET 1999
+
+       - Fixed bug that caused ecpg to lose 'goto' information.
+       - Set ecpg version to 2.4.7
+
+ Fri Jan 29 18:03:52 CET 1999
+
+       - Fixed bug that caused 'enum' to be rejected in pure C code.
+       - Fixed bug that caused function names to be translated to lower case.
+       - Set ecpg version to 2.4.8
+
1999-01-31 19:56:28 +00:00
Marc G. Fournier
cdbaec771c From: Michael Meskes <Michael.Meskes@usa.net>
See attached file. Now accepts "exec sql whenever sqlwarning".
1999-01-21 20:01:34 +00:00
Bruce Momjian
0347dcc860 Okay, I've updated the ecpg parser yet again. Unfortunately it has one
remaining shift/reduce conflict. But the very same conflict is in gram.y, so
I don't dig into it very much now.

Anyway, I just saw that there were minor changes made to ecpg by others. Now
I like that but I would prefer if I was told about that. Otherwise my
version numbering and Changelog maintaining might break. Or simply change
these too. :-)

Also I had to add #include <errno.h> to  backend/libpq/pqcomprim.c to be
able to compile postgresql.

Patch is attached. Since my resubscription process is still not finished
yet, I still send them here.

Michael
1999-01-18 17:17:06 +00:00
Bruce Momjian
7a6b562fdf Apply Win32 patch from Horak Daniel. 1999-01-17 06:20:06 +00:00
Bruce Momjian
97b88f1c15 Sorry for posting it here again, but I haven't corrected my
subscriptions
yet. It's just a small patch to ecpg to keep it in sync with gram.y.

Michael
1999-01-07 19:11:18 +00:00
Marc G. Fournier
e237194b72 From: Michael Meskes <Michael.Meskes@usa.net>
+
+Wed Dec  9 11:24:54 MEZ 1998
+
+       - Synced preproc.y with gram.y and the keywords.c files to add CASE
+         statement.
+
+Tue Dec 22 14:16:11 CET 1998
+
+       - Synced preproc.y with gram.y for locking statements.
+       - Set version to 2.4.5
1998-12-22 18:50:56 +00:00
Bruce Momjian
06edbafd4b Here's a patch. It also includes the latest parser changes.
Michael
1998-10-16 04:40:39 +00:00
Thomas G. Lockhart
607cd930d5 Changes from Michael Meskes:
Check strdup calls for out of memory.
Set library version to 2.6.2
Synced preproc.y and keywords.c with gram.y and keywords.c yet again.
Set version to 2.4.3
1998-10-03 02:33:51 +00:00
Marc G. Fournier
bf395e895b From: Michael Meskes <meskes@usa.net>
+ Mon Aug 31 09:40:04 CEST 1998
+
+       - Minor patch to Makefile
+       - Put pgc.l in sync with scan.l
+
+ Tue Sep  1 11:31:05 CEST 1998
+
+       - Fixed another bug in preproc.y
+
+ Thu Sep  3 12:21:16 CEST 1998
+
+       - Sync preproc.y with gram.y
+
+ Mon Sep 14 09:21:02 CEST 1998
+
+       - Sync preproc.y with gram.y yet again
+
+ Thu Sep 17 08:55:33 CEST 1998
+
+       - Synced preproc.y and gram.y one more time
+
+ Thu Sep 17 19:23:24 CEST 1998
+
+       - Added missing ´;´ in preproc.y
+       - Set version to 2.4.2
1998-09-21 05:52:55 +00:00
Bruce Momjian
25a64f7519 Fix for \z formatting from Tom Lane. 1998-09-21 02:25:29 +00:00
Bruce Momjian
fa1a8d6a97 OK, folks, here is the pgindent output. 1998-09-01 04:40:42 +00:00
Bruce Momjian
af74855a60 Renaming cleanup, no pgindent yet. 1998-09-01 03:29:17 +00:00
Marc G. Fournier
b9b00d5fe4 From: Michael Meskes <meskes@online-club.de>
This one is against the current archive (so it contains the one I send the
other day). It should fix the AIX problems. Andreas, could you please try
it? Thanks.

+ Wed Aug 26 16:17:39 CEST 1998
+
+       - Sync preproc.y with gram.y
+
+ Thu Aug 27 15:32:23 CEST 1998
+
+       - Fix some minor glitches that the AIX compiler complains about
+       - Added patchlevel to library
+
+ Fri Aug 28 15:36:58 CEST 1998
+
+       - Removed one line of code that AIX complains about since it was not
+         needed anyway
+       - Set library version to 2.6.1
1998-08-28 17:47:53 +00:00
Bruce Momjian
d394d06d7a Fix atttypmod alignment again, and re-enable ecpg. 1998-08-26 16:43:54 +00:00
Marc G. Fournier
f62d1253ef From: Massimo Dal Zotto <dz@cs.unitn.it>
>       these patches define the UNLISTEN sql command. The code already
>       existed but it was unknown to the parser. Now it can be used
>       like the listen command.
>       You must make clean and delete gram.c and parser.h before make.
1998-08-25 21:37:08 +00:00
Marc G. Fournier
35478b8028 From: Michael Meskes <meskes@online-club.de>
+
+ Fri Aug 14 12:44:21 CEST 1998
+
+       - Added EXEC SQL DEFINE statement
+       - Set version to 2.4.0
+
+ Tue Aug 18 09:24:15 CEST 1998
+
+       - Removed keyword IS from DEFINE statement
+       - Added latest changes from gram.y
+       - Removed duplicate symbols from preproc.y
+       - Initialize sqlca structure
+       - Added check for connection to ecpglib
+       - Set version to 2.4.1
+
+ Thu Aug 20 15:31:29 CEST 1998
+
+       - Cleaned up memory allocation in ecpglib.c
+       - Set library version to 2.6
+
1998-08-25 12:17:27 +00:00
Bruce Momjian
5fbbd364e8 fix for ecpg corruption 1998-08-19 14:51:31 +00:00
Bruce Momjian
7971539020 heap_fetch requires buffer pointer, must be released; heap_getnext
no longer returns buffer pointer, can be gotten from scan;
	descriptor; bootstrap can create multi-key indexes;
pg_procname index now is multi-key index; oidint2, oidint4, oidname
are gone (must be removed from regression tests); use System Cache
rather than sequential scan in many places; heap_modifytuple no
longer takes buffer parameter; remove unused buffer parameter in
a few other functions; oid8 is not index-able; remove some use of
single-character variable names; cleanup Buffer variables usage
and scan descriptor looping; cleaned up allocation and freeing of
tuples; 18k lines of diff;
1998-08-19 02:04:17 +00:00
Bruce Momjian
c6dd1e63a9 This one cleans the cursor problems ecpg had so far. It is now able
to understand cursors with variables.

Michael
1998-08-11 18:33:37 +00:00
Marc G. Fournier
186aeb1d67 From: Dr. Michael Meskes <meskes@online-club.de>
So this should finally get cursors working. There was an ugly bug in it.
1998-08-05 04:47:54 +00:00
Marc G. Fournier
db921be319 From: "Dr. Michael Meskes" <meskes@online-club.de>
+ Thu Jul  2 20:30:14 CEST 1998
+
+       - Changed new style db name to allow connection types "tcp" and
+         "unix" only
+
+ Tue Jul  7 15:14:14 CEST 1998
+
+       - Fixed some bugs in preproc.y
+       - Set version to 2.3.4
1998-07-07 17:59:32 +00:00
Bruce Momjian
6bd323c6b3 Remove un-needed braces around single statements. 1998-06-15 19:30:31 +00:00
Marc G. Fournier
2a74511bf4 From: Michael Meskes <meskes@topsystem.de>
+ Wed Jun  3 13:38:57 CEST 1998
+
+       - Made sqlca struct compatible with other systems.
+       - Give back a warning in case of truncation
+       - Changed the handling of OptimizableStmt since the old one broke
+         CREATE RULE
+       - Set library version to 2.3
+       - Set version to 2.3.3
1998-06-03 13:55:15 +00:00
Marc G. Fournier
c31a80faf0 From: Michael Meskes <meskes@topsystem.de>
+Wed May 20 10:46:48 CEST 1998
+
+       - Fixed handling of preprocessor directives and variable
+         initialization.
+       - Added enum datatype.
        - Set version to 2.3.2
1998-05-26 13:43:55 +00:00
Marc G. Fournier
a45341979f From: Michael Meskes <meskes@topsystem.de>
+ Tue May 19 11:49:34 CEST 1998
+
+       - Tested (and fixed) 'set connection'
+       - Fixed string notation in C
+       - Set version to 2.3.2
1998-05-21 03:52:37 +00:00
Marc G. Fournier
ef567413d2 From: Michael Meskes <meskes@topsystem.de>
+
+ Wed May  6 16:09:45 CEST 1998
+
+       - Some more cleanups in the library.
+
+ Thu May  7 12:34:28 CEST 1998
+
+       - Made CONNECT and DISCONNECT statement more SQL3 compliant.
+       - Changed the API for the ECPGconnect function to be able to handle
+         hostnames and ports
+
+ Fri May  8 13:54:45 CEST 1998
+       - More changes to the parser. The connect statement now allows
+         ORACLE style logins.
+       - db-name is accepted in two ways:
+               - <dbname>[@<server>][:<port>]
+               - esql:postgresql://<server>[:<port>][/<dbname>]
+
+ Mon May 11 10:28:37 CEST 1998
+
+       - Added '? options' to connect call.
+       - Also allow USING as keyword for the password
+
+ Thu May 14 15:09:58 CEST 1998
+
+       - Changed preproc.y and pgc.l according to the parser changes in the
+         backend.
+
+ Fri May 15 09:55:21 CEST 1998
+
+       - Added connection_name handling
+
+
+ Mon May 18 10:33:58 CEST 1998
+
+       - Fixed some more bugs
+       - Set version to 2.3.1
+       - Set library version to 2.2
1998-05-18 16:05:05 +00:00
Marc G. Fournier
6bccf64d7b From: Michael Meskes <meskes@topsystem.de>
Tue Apr 28 14:48:41 CEST 1998

      - Put operator "->" back into parser. Note that :foo->bar means the
        C term, but :foo ->bar means the operator "->".

Tue Apr 28 15:49:07 CEST 1998

      - Added exec sql disconnect command.
      - Allow varchar in C to be written in uppercase too.
      - Added whenever option "do break;"

Wed Apr 29 09:17:53 CEST 1998

      - Corrected parsing of C comments.
      - Also allow C++ style comments.
      - Make sure not found is only checked after commands that could
          return it.
      - Added error codes, see ecpgerror.h for details.
      - Added "exec sql <TransactionStmt> release" as disconnect statement
        for compatibility issues.

Thu Apr 30 10:42:10 CEST 1998

      - Added a -t option to disable automatic transaction start.
      - Added sqlerrd[] to sqlca struct.
      - Give back number of tuples affect in sqlca.sqlerrd[2].

Thu Apr 30 13:36:02 CEST 1998

      - Make the return code different in case of different errors.

Wed May  6 11:42:48 CEST 1998

      - Free memory if possible
      - Some bugfixes for bugs I found while changing the memory
          allocation code
      - Now able to fill complete array with one call (see test1.pgc for
          an example)
      - Set version to 2.3.0
      - Set library version to 2.1
1998-05-06 13:03:47 +00:00
Marc G. Fournier
718430ea40 From: Michael Meskes <meskes@topsystem.de>
And the next update. Now you can use only parts of a struct like this:

exec sql select a into :struct.string from foo;
1998-04-27 14:35:58 +00:00
Bruce Momjian
1efd2cf7b0 Included is a patch for ecpg which seems to have some compiling
problems on non POSIX systems such as SunOS 4.1.x.  -- Tatsuo Ishii
t-ishii@sra.co.jp -
1998-04-26 23:14:39 +00:00
Marc G. Fournier
7500a961f1 From: Michael Meskes <meskes@topsystem.de>
+ Thu Apr 23 09:27:16 CEST 1998
+
+       - Also allow call in whenever statement with the same functionality
+         as do.
+
+ Thu Apr 23 12:29:28 CEST 1998
+
+       - Also rewrote variable declaration part. It is now possible to
+         declare more than one variable per line.
+       - Set version to 2.1.0
+
+ Fri Apr 24 13:50:15 CEST 1998
+
+       - Fixed some bugs.
+       - Set version to 2.1.1
1998-04-24 12:10:20 +00:00
Marc G. Fournier
64e35e1468 Upgrade ECPG to 2.0
Michael Meskes <meskes@topsystem.de>
1998-04-21 13:23:24 +00:00
Marc G. Fournier
83fd305f78 A few minor mods:
gram.c updated
	scan.c updated
	ecpg/Makefile added LDFLAGS
	configure requires sfio for those systems with it installed...
1998-04-17 03:06:35 +00:00
Bruce Momjian
471dbbc223 DESTDIR removed, again. 1998-04-06 16:53:15 +00:00
Bruce Momjian
645146260e Cleanup of compiler warnings. 1998-04-06 02:38:26 +00:00
Bruce Momjian
5523beb949 Re-introduce $DISTDIR. 1998-04-06 01:16:55 +00:00
Bruce Momjian
1e801a8f16 Hi,
Attached you'll find a (big) patch that fixes make dep and make
depend in all Makefiles where I found it to be appropriate.

It also removes the dependency in Makefile.global for NAMEDATALEN
and OIDNAMELEN by making backend/catalog/genbki.sh and bin/initdb/initdb.sh
a little smarter.

This no longer requires initdb.sh that is turned into initdb with
a sed script when installing Postgres, hence initdb.sh should be
renamed to initdb (after the patch has been applied :-) )

This patch is against the 6.3 sources, as it took a while to
complete.

Please review and apply,

Cheers,

Jeroen van Vianen
1998-04-06 00:32:26 +00:00
Bruce Momjian
2dfee93457 Remove DISTDIR. 1998-04-05 22:02:56 +00:00
Marc G. Fournier
62943bb76f Pointed out by: Doug Winterburn <dlw@seavme.xroads.com>
3) Add "#include "config.h" to src/interfaces/ecpg/preproc/pgc.l
   to correct "strings.h not found".  config.h has the proper define to
   make this work and should probably be near the top of pgc.l before
   the first include.
1998-03-31 03:00:20 +00:00
Bruce Momjian
80f7c41388 Here's my next patch to bring ecpg to version 1.1. It now correctly
handles all transaction commands and the exec sql include command.

Michael Meskes
1998-03-20 03:08:11 +00:00
Marc G. Fournier
96ac738269 From: Michael Meskes <meskes@topsystem.de>
No more shift/reduce conflicts. Also all other bugs I know about are fixed.
1998-02-27 12:59:33 +00:00
Marc G. Fournier
c37be81cdf Add <sys/types.h> for SunOS
From: t-ishii@sra.co.jp
1998-02-27 03:07:35 +00:00
Marc G. Fournier
296a942b56 From: Darren King <darrenk@insightdist.com>
This patch will...

1. Remove the "-Wall" option from the ecpg/lib and ecpg/preproc Makefile.

2. Remove the addition of $(SRCDIR)/include and-or $(SRCDIR)/backend from
   ecpg/lib, ecpg/preproc, libpq and utils Makefiles. Already in CFLAGS...

3. Set MK_NO_LORDER and RANLIB in Makefile.aix to avoid a couple of extra
   steps taken care of by the 'ld' command anyways.
1998-02-27 02:41:21 +00:00
Marc G. Fournier
50e4120d5e From: Michael Meskes <meskes@topsystem.de>
Sorry, I just repeated the last call and send out a stupid should be empty
mail. Anyway, my last patch missed one change:
1998-02-27 02:34:33 +00:00
Marc G. Fournier
f139617b55 From: Michael Meskes <meskes@topsystem.de>
Subject: [PATCHES] ecpg: correct whenever statement
1998-02-27 02:31:20 +00:00
Bruce Momjian
a32450a585 pgindent run before 6.3 release, with Thomas' requested changes. 1998-02-26 04:46:47 +00:00
Marc G. Fournier
80e12829cf + Sat Feb 21 19:10:55 CET 1998
+
+       - use char[] as string not as array of bytes that is integers
+
+ Sun Feb 22 16:37:36 CET 1998
+
+       - use long for all size variables
+       - added execute immediate statement
+
+ Sun Feb 22 20:41:32 CET 1998
+
+       - use varcharsize = 1 for all simple types, 0 means pointer, > 1
+         means array if type is char resp. unsigned char
+
+ Thu Feb 24 12:26:12 CET 1998
+
+       - allow 'go to' in whenever statement as well as 'goto'
+       - new argument 'stop' for whenever statement

From: Michael Meskes <meskes@topsystem.de>
1998-02-24 15:52:13 +00:00
Marc G. Fournier
96316211c3 From: t-ishii@sra.co.jp
Ok. I have decided to use:

#if defined(sun) && if defined(sparc) && !defined(__svr4)

instead of defined(sunos4).  interfaces/libpq/libpq-fe.h and
include/c.h have been modified(see included patches).

Another porblems I have found are:

o SunOS lacks strtoul(). to fix this I stole strtoul.c from FreeBSD
and place it under backend/port. necessary modifications have been
also made to backend/port/Makefile.in, include/config.h.in and
configure.in (see included patches).
1998-02-24 06:04:55 +00:00
Marc G. Fournier
712e77e3df Various fixes for string.h vs strings.h
From: Frank Ridderbusch <ridderbusch.pad@sni.de>
1998-02-24 04:02:20 +00:00
Marc G. Fournier
751ebd20a0 Various fixes for ecpg to remove compiler dependency...
From: Darren King <darrenk@insightdist.com>
1998-02-24 03:23:52 +00:00
Marc G. Fournier
0daa8c3745 A few misc fixes brought up by Andrew 1998-02-23 15:44:25 +00:00
Marc G. Fournier
b34841d511 From: Michael Meskes <meskes@topsystem.de>
Please remove src/interfaces/ecpg/prproc/y.tab.h from cvs. It is generated
by make anyway.
1998-02-20 14:28:56 +00:00
Marc G. Fournier
1d6424b1fb From: Michael Meskes <meskes@topsystem.de>
Here's my next patch. this one should fix some more bugs. ecpg now fully
understands the whenever statement.
1998-02-19 13:52:17 +00:00
Marc G. Fournier
74e015916e Update the preprocessor code
From: Michael Meskes <meskes@topsystem.de>
1998-02-18 01:28:03 +00:00
Marc G. Fournier
922ea913b1 Check for and include <getopt.h> 1998-02-18 01:26:02 +00:00
Marc G. Fournier
25ad1439e1 Major update of ecpg preprocessor
From: Michael Meskes <meskes@topsystem.de>
1998-02-17 01:48:12 +00:00
Marc G. Fournier
b6d5fce951 Add missing extern.h file 1998-02-13 13:15:23 +00:00
Marc G. Fournier
33c2da9725 From: Michael Meskes <meskes@topsystem.de>
Here's the ecpg patch for the local variables bug I reported earlier:
1998-02-12 14:02:10 +00:00
Marc G. Fournier
d8b59b1d30 Clean up Makefiles - shouldn't require configure *.in Makefiles, as they should
pull their data/info from Makefile.global
1998-02-12 12:35:56 +00:00
Marc G. Fournier
7783c2b9ff Remove configure code from ecpg, as well as remove the 'for' loop from the
Makefile, as it isn't appropriate for GNUmake
1998-02-12 02:14:59 +00:00
Marc G. Fournier
df10360d8e From: Michael Meskes <meskes@topsystem.de>
Cleanups for ecpg, as well as a missing patch so that its configured in
1998-02-11 15:30:00 +00:00
Marc G. Fournier
38201e21d0 Erk, the whole directory structure changed on us here... 1998-02-10 16:44:17 +00:00