Commit Graph

241 Commits

Author SHA1 Message Date
Tom Lane
40f64064ff Update textin() and textout() to new fmgr style. This is just phase
one of updating the whole text datatype, but there are so dang many
calls of these two routines that it seems worth a separate commit.
2000-07-05 23:12:09 +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
5bb8b62983 Makefile cleanup for bin and pl subtrees. They should now support
all the standard semantics. Also get rid of Makefile.in's on the
way and instead declare all variables in Makefile.global.
2000-06-27 00:32:06 +00:00
Peter Eisentraut
bfdb695b85 Cleaned up PL/pgSQL build. Fixed a couple of copyandpaste'os in the
interfaces and interfaces/odbc make files. Adjusted regression test
driver to start building and installing in the top level directory.
2000-06-20 16:40:19 +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
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
Tom Lane
48165ec226 Latest round of fmgr updates. All functions with bool,char, or int2
inputs have been converted to newstyle.  This should go a long way towards
fixing our portability problems with platforms where char and short
parameters are passed differently from int-width parameters.  Still
more to do for the Alpha port however.
2000-06-05 07:29:25 +00:00
Tom Lane
0f1e39643d Third round of fmgr updates: eliminate calls using fmgr() and
fmgr_faddr() in favor of new-style calls.  Lots of cleanup of
sloppy casts to use XXXGetDatum and DatumGetXXX ...
2000-05-30 04:25:00 +00:00
Bruce Momjian
6c944bf3cc Cleanup of <> and "" 2000-05-29 21:25:07 +00:00
Tom Lane
091126fa28 Generated header files parse.h and fmgroids.h are now copied into
the src/include tree, so that -I backend is no longer necessary anywhere.
Also, clean up some bit rot in contrib tree.
2000-05-29 05:45:56 +00:00
Tom Lane
18952f6744 Second round of fmgr changes: triggers are now invoked in new style,
CurrentTriggerData is history.
2000-05-29 01:59:17 +00:00
Tom Lane
0a7fb4e918 First round of changes for new fmgr interface. fmgr itself and the
key call sites are changed, but most called functions are still oldstyle.
An exception is that the PL managers are updated (so, for example, NULL
handling now behaves as expected in plperl and plpgsql functions).
NOTE initdb is forced due to added column in pg_proc.
2000-05-28 17:56:29 +00:00
Bruce Momjian
992e7dd4e3 Oops, plpgsql didn't have the datetime->timestamp and timespan->interval
mappings.  In fact, it had them backward because it was using the 6.5.*
code.  Copied them from parser/gram.y, so it is fixed now.  Looks like
our first 7.0.1 fix.  Oops, seems Tom has beat me to it as I was typing
this.
2000-05-11 04:00:00 +00:00
Tom Lane
45cc0e9b27 plpgsql RAISE statement was careless about the possibility of a NULL
field value being displayed; produced coredump instead of the expected
<NULL> display.
2000-04-28 00:12:44 +00:00
Tom Lane
1460dd0eff Show failing OID in 'cache lookup failed' messages. 2000-04-16 04:16:55 +00:00
Bruce Momjian
52f77df613 Ye-old pgindent run. Same 4-space tabs. 2000-04-12 17:17:23 +00:00
Tom Lane
2ae6e86302 For no good reason at all, libplpgsql was getting linked with libpq.
Since plpgsql is a backend extension, it doesn't need libpq...
2000-04-04 01:47:59 +00:00
Tom Lane
73f5b0847b exec_simple_check_plan() must not allow a plan having initPlans or
subPlans to be considered 'simple'.  This fixes reported problem with
'return exists (select 1 from foo);' in plpgsql function.
2000-03-11 06:19:00 +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
Bruce Momjian
f40c50627f Fix plpsql for bsdi. 2000-02-23 22:24:46 +00:00
Hiroshi Inoue
5b58de124e Allow SELECT .. FOR UPDATE in PL/pgSQL. 2000-02-07 03:39:13 +00:00
Tom Lane
8cfb8c68ea Clean up longstanding warnings. I think the remaining
'defined but not used' warnings would go away if the scanner didn't use
YY_REJECT.
2000-01-20 05:44:34 +00:00
Tom Lane
72cec86235 Add .cvsignore so cvs update doesn't complain about derived
files being left around.
2000-01-17 04:38:49 +00:00
Peter Eisentraut
759fba4873 Included all yacc and lex files into the distribution. 2000-01-16 20:05:00 +00:00
Tom Lane
584e646ad8 Fix a passel of problems with incorrect calls to typinput and typoutput
functions, which would lead to trouble with datatypes that paid attention
to the typelem or typmod parameters to these functions.  In particular,
incorrect code in pg_aggregate.c explains the platform-specific failures
that have been reported in NUMERIC avg().
2000-01-15 22:43:25 +00:00
Tom Lane
6256fcb927 Remove redundant and now-incorrect declaration of pstrdup. 2000-01-14 01:36:42 +00:00
Bruce Momjian
8a093d0ae3 Make number of args to a function configurable. 2000-01-10 17:14:46 +00:00
Bruce Momjian
b78769fda2 Fix it's and its to be correct. 2000-01-05 18:23:54 +00:00
Tom Lane
76b110c82a Clean up some minor gcc warnings. 1999-12-20 01:41:32 +00:00
Tom Lane
66dbcd47ed Fix "Unable to identify an operator =$" problem that occurred when pgsql
expressions were written without spaces between operators and operands.
Problem was that something like "if new.f1=new.f2 then" would be translated
to "if $1=$2 then", and the Postgres lexer would tokenize that the wrong
way.  Fix is to emit spaces around $paramno constructs to ensure they are
seen as separate tokens.
1999-11-28 22:02:17 +00:00
Bruce Momjian
fc955b14ea Add system indexes to match all caches.
Make all system indexes unique.
Make all cache loads use system indexes.
Rename *rel to *relid in inheritance tables.
Rename cache names to be clearer.
1999-11-22 17:56:41 +00:00
Bruce Momjian
86ef36c907 New NameStr macro to convert Name to Str. No need for var.data anymore.
Fewer calls to nameout.

Better use of RelationGetRelationName.
1999-11-07 23:08:36 +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
Bruce Momjian
392f304cae gram.y cleanup 1999-09-21 21:10:37 +00:00
Bruce Momjian
80751a72ee Make proper plpgsql non-externs. 1999-09-20 22:28:05 +00:00
Bruce Momjian
7559677551 Define plpgsql_yylineno as non-extern somewhere for bsdi. 1999-09-20 02:12:31 +00:00
Bruce Momjian
e69a997d02 Allow BSD yacc and bison to compile pl code. 1999-08-16 19:57:21 +00:00
Bruce Momjian
f0b651ac6b replace #Include . 1999-08-09 00:08:52 +00:00
Bruce Momjian
4cddd482c1 Fix so BSD yacc works on file. 1999-08-07 04:25:02 +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
Tom Lane
b31aa64f4a Make exec_simple_check_plan() check for a null plan, so
that it doesn't crash when processing a utility statement.
1999-07-04 01:03:01 +00:00
Tom Lane
fa179dde82 Make sure symlinks for sharedlib get removed by 'make clean'. 1999-06-30 23:57:31 +00:00
Bruce Momjian
26fb87d37e Fix compile of plpgsql by adding 'extern int yylineno.' 1999-05-26 20:55:06 +00:00
Bruce Momjian
07842084fe pgindent run over code. 1999-05-25 16:15:34 +00:00
Tom Lane
5085132c6d Fix configure to generate correct expansion of library directory
in pl/plpgsql/src/mklang.sql.
1999-05-11 22:57:50 +00:00
Bruce Momjian
1ba362f567 put back mklang.sql.in file. 1999-05-11 03:30:41 +00:00
Bruce Momjian
12f9de3fd4 clean up comments 1999-05-11 03:28:43 +00:00
Bruce Momjian
4853495e03 Change error messages to oids come out as %u and not %d. Change has no
real affect now.
1999-05-10 00:46:32 +00:00
Tom Lane
09c5e84072 Change elog(ERROR) to get back to main loop via a plain sigsetjmp,
instead of doing a kill(self, SIGQUIT) and expecting the signal handler
to do it.  Also, clean up inconsistent definitions of the sigjmp buffer
in the several files that already referenced it.
1999-04-20 02:19:59 +00:00
Bruce Momjian
48ea8b76db Hi,
I have solved some problems with dynamic loading on NT. It is possible
to
run succesfully both trigger and plpgsql regression tests. The patch is
in
the included file "diff".

                        Dan
1999-03-22 16:45:30 +00:00
Tom Lane
8425c2496f Ah, *now* I understand: plpgsql lexer must be generated with flex -l ... 1999-03-21 02:27:47 +00:00
Tom Lane
1b8d9466fb Hmm, it seems some versions of flex declare yytext as extern char[]
but others declare it as extern char *.  gcc complains (quite rightly too).
Worked around it by rearranging the order of inclusions so that we don't
have to explicitly declare yytext; this should work with either variant.
1999-03-21 01:07:07 +00:00
Tom Lane
19e4d33bf0 Remove yacc/lex output files from CVS repository. 1999-03-20 18:03:37 +00:00
Tom Lane
bb7c0da104 Clean up build procedure: do not keep raw lex/yacc files around,
only the edited ones.
1999-03-20 18:00:38 +00:00
Tom Lane
45ff93c460 Include -lcrypt when needed to link libpgtcl.so and plpgsql.so 1999-02-07 22:10:47 +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
Bruce Momjian
4390b0bfbe Add TEMP tables/indexes. Add COPY pfree(). Other cleanups. 1999-02-02 03:45:56 +00:00
Vadim B. Mikheev
aaef7beb79 Hope that execMain.c good merged.
Fix for BEFORE ROW UPDATE triggers: result tuple may be different
(due to concurrent update) from one initially produced by top level plan.
1999-01-29 11:56:01 +00:00
Jan Wieck
51e8a1d390 New prebuilt versions of gram.c and scan.c for the mixed case
identifier support.

Jan
1999-01-28 11:50:42 +00:00
Jan Wieck
c42b959fb3 Partial support for mixed case in PL/pgSQL.
Left are identifiers that contain non-alnum/_ chars.
So e.g. whitespaces in identifiers are still not
supported.

Jan
1999-01-28 11:48:31 +00:00
Jan Wieck
28d8b42ca5 Speedup of PL/pgSQL by calling ExecEvalExpr() directly
instead of SPI_execp() for simple expressions.

Jan
1999-01-27 16:15:22 +00:00
Tom Lane
52065cf347 Clean up trivial compiler warning from gcc. 1999-01-17 21:53:32 +00:00
Bruce Momjian
7a6b562fdf Apply Win32 patch from Horak Daniel. 1999-01-17 06:20:06 +00:00
Bruce Momjian
3cd3be92ff Fix deadlock so it only checks once. 1998-12-18 19:45:38 +00:00
Bruce Momjian
26a23e33db Add enable_plpgsql from Oliver. 1998-12-13 05:22:58 +00:00
Vadim B. Mikheev
971175fa0c New HeapTuple structure/interface. 1998-11-27 20:09:56 +00:00
Thomas G. Lockhart
3d22596fe7 August version of docs superceded by sgml version from Jan. 1998-11-06 15:04:31 +00:00
Tom Lane
54789138bd Behave reasonably on a system without shared libraries. 1998-10-30 15:05:23 +00:00
Bruce Momjian
f4ccb5e170 Make these file generated in distribution. 1998-10-28 17:07:17 +00:00
Tom Lane
6d98d3737a Centralized shared-library build knowledge in a new file,
src/Makefile.shlib.  Updated all the makefiles that try to build shlibs
to include that file instead of having duplicate (and mostly incomplete)
copies of shared-library options.  It works on HPUX, a lot better than it
did before in fact, but there's a chance I broke some other platforms.
At least now you only have to fix one place not six...
1998-10-19 00:00:51 +00:00
Tom Lane
e1942f5b9e Clean up shared makefile install procedures.
Get the permissions right, don't overwrite real files with symlinks, etc.
plpgsql and odbc still aren't fully up to speed, but at least they don't crash and burn...
1998-10-18 19:41:00 +00:00
Bruce Momjian
c743b8cecd Add mklang.sh.in to plpgsql. 1998-10-12 04:55:03 +00:00
Bruce Momjian
2facf5460f TCL_LIB, TCL_INC not used. 1998-10-12 04:40:48 +00:00
Bruce Momjian
d2d919f7b7 tcl cleanup. 1998-10-12 04:32:24 +00:00
Bruce Momjian
e48623ce87 More Solaris fixes. 1998-10-12 01:23:29 +00:00
Bruce Momjian
e16634386a Add SVr4 shared libraries. 1998-10-12 01:10:09 +00:00
Bruce Momjian
66f893f3fe Solaris shared library fixes. 1998-10-12 01:04:02 +00:00
Bruce Momjian
40703f282a There where a few more problems fixed by the patch below.
o configure.in

Jan.
1998-10-09 16:57:10 +00:00
Bruce Momjian
a8428c9e3f More bsdi 4.0 cleanups for shared libraries. 1998-10-09 04:50:12 +00:00
Bruce Momjian
765dd1b3f2 More bsdi 4.0 fixes. 1998-10-09 04:22:49 +00:00
Bruce Momjian
af45dab6d7 Fix for BSDI shared libraries. 1998-10-09 03:08:00 +00:00
Bruce Momjian
23815260a3 I have had a few problems with the PL stuff recently committed. The
following patches fix the problems (i.e., all regression tests pass)
in what I hope to be a platform-independent fashion.  The accomplish
the following:

Brook Milligan
1998-10-08 23:45:19 +00:00
Bruce Momjian
18af384bb7 Unixware patches from Billy G. Allie. 1998-10-04 15:38:58 +00:00
Marc G. Fournier
2074b5f1ad failed to add some of Jan's files :( 1998-10-01 03:38:45 +00:00
Bruce Momjian
d73f73af6e Add new Makefile from Jan. 1998-09-25 15:50:02 +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
Bruce Momjian
28d90a5f8b move plpgsql 1998-08-24 19:16:28 +00:00
Bruce Momjian
0c5e541a9a move plpgsql to src/pl for Jan. 1998-08-24 19:14:51 +00:00