Commit graph

228 commits

Author SHA1 Message Date
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