Commit Graph

673 Commits

Author SHA1 Message Date
edbd51395c What I've done:
1. Rewritten libpq to allow asynchronous clients.

2. Implemented client side of cancel protocol in library,
   and patched psql.c to send a cancel request upon SIGINT.  The
   backend doesn't notice it yet :-(

3. Implemented 'Z' protocol message addition and renaming of
   copy in/out start messages.  These are implemented conditionally,
   ie, the client protocol version is checked; so the code should
   still work with 1.0 clients.

4. Revised protocol and libpq sgml documents (don't have an SGML
   compiler, though, so there may be some markup glitches here).


What remains to be done:

1. Implement addition of atttypmod field to RowDescriptor messages.
   The client-side code is there but ifdef'd out.  I have no idea
   what to change on the backend side.  The field should be sent
   only if protocol >= 2.0, of course.

2. Implement backend response to cancel requests received as OOB
   messages.  (This prolly need not be conditional on protocol
   version; just do it if you get SIGURG.)

3. Update libpq.3.  (I'm hoping this can be generated mechanically
   from libpq.sgml... if not, will do it by hand.)  Is there any
   other doco to fix?

4. Update non-libpq interfaces as necessary.  I patched libpgtcl
   so that it would compile, but haven't tested it.  Dunno what
   needs to be done with the other interfaces.

Have at it!

Tom Lane
1998-05-06 23:51:16 +00:00
2e12331d42 Remove extra paren in __alpha so it compiles. 1998-05-06 23:25:19 +00:00
f9322c66d3 Missed the __alpha__ to __alpha change...
From: David Gould <dg@illustra.com>
1998-05-04 23:49:17 +00:00
c73e186948 Okay...this should fix the s_lock() patches from David to what he
currently has...

From: David Gould <dg@illustra.com>
1998-05-04 16:58:59 +00:00
1d36bdcfa6 Major screwed up s_lock patches...need to be fixed... 1998-05-04 15:45:03 +00:00
29c20d498d Fix for missing parens with \g causing psql to get completely
confused.
1998-05-04 02:02:09 +00:00
51a1741cfb From: Jeroen van Vianen <jeroenv@design.nl>
Attached patch will add a version() function to Postges, e.g.

template1=> select version();
version
------------------------------------------------------------
PostgreSQL 6.3.2 on i586-pc-linux-gnu, compiled by gcc 2.8.1
(1 row)
1998-04-29 12:41:29 +00:00
f554af0a9f From: t-ishii@sra.co.jp
Hi, here are patches I promised (against 6.3.2):

* character_length(), position(), substring() are now aware of
          multi-byte characters
* add octet_length()
* add --with-mb option to configure
* new regression tests for EUC_KR
  (contributed by "Soonmyung. Hong" <hong@lunaris.hanmesoft.co.kr>)
* add some test cases to the EUC_JP regression test
* fix problem in regress/regress.sh in case of System V
* fix toupper(), tolower() to handle 8bit chars

note that:

o  patches for both configure.in and configure are
included. maybe the one for configure is not necessary.

o pg_proc.h was modified to add octet_length(). I used OIDs
(1374-1379) for that. Please let me know if these numbers are not
appropriate.
1998-04-27 17:10:50 +00:00
1af6b56427 From: Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>
Ok, I have finally gotten all of the defines for Dec/Alpha and
Linux/Alpha sorted out as Marc asked. There is no longer any need for
'-Dalpha' or '-Dlinuxalpha' in either the Dec/Alpha or the Linux/Alpha
template files (./src/template/{alpha,linuxalpha}). I have replaced every
instance of 'alpha' or '__alpha__' with '__alpha', as that appears to be
the common symbol between C compilers on both operating systems (RH4.2 &
DecUnix 4.0b) for alpha.
1998-04-27 14:46:51 +00:00
09baa3cc81 This patch...
1. Removes the unnecessary "#define AbcRegProcedure 123"'s from
pg_proc.h.

2. Changes those #defines to use the names already defined in
fmgr.h.

3. Forces the make of fmgr.h in backend/Makefile instead of having
it
   made as a dependency in access/common/Makefile  *hack*hack*hack*

4. Rearranged the #includes to a less helter-skelter arrangement,
also
    changing <file.h> to "file.h" to signify a non-system header.

5. Removed "pg_proc.h" from files where its only purpose was for
the
   #defines removed in item #1.

6. Added "fmgr.h" to each file changed for completeness sake.

Turns out that #6 was not necessary for some files because fmgr.h
was being included in a roundabout way SIX levels deep by the first
include.

"access/genam.h"
 ->"access/relscan.h"
   ->"utils/rel.h"
     ->"access/strat.h"
       ->"access/skey.h"
	 ->"fmgr.h"

So adding fmgr.h really didn't add anything to the compile, hopefully
just made it clearer to the programmer.

S Darren.
1998-04-27 04:08:07 +00:00
306f89232a Fixed table type lengths for Maurice. 1998-04-27 03:19:10 +00:00
0d203b745d Re-apply Darren's char2-16 removal code. 1998-04-26 04:12:15 +00:00
4cbfeef912 Inline some small functions called for every row. 1998-04-24 14:43:33 +00:00
5529b783a8 Move HAVING function to proper file. 1998-04-15 15:29:57 +00:00
0435ecf5d5 What was LINUX_ELF doing in there? 1998-04-13 16:34:48 +00:00
07e3fb08be More work in the right direction on linux/alpha
From: Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>
1998-04-12 02:58:22 +00:00
43cfa1a0ce Fix incorrect second argument type for dpow() declaration. 1998-04-08 06:40:09 +00:00
db21523314 Back out char2-char16 removal. Add later. 1998-04-07 18:14:38 +00:00
1125bbf871 Assert fix 1998-04-06 17:52:35 +00:00
2ffd727531 ASSERT fixes. 1998-04-06 17:27:54 +00:00
fdb37f073b this patch solve 2 problemes :
probleme number 1 :

- configure can find the library readline , but don't
  find the header file . so in this case we don't use lib readline
  .

probleme number 2 :

- when you have postgres 6.2.1 and readline installed
  with the same prefix( and generally all your software ) .  you
  can compile the version 6.3 .  I use this prefix , when configure
  ask me for "Additional directories to search for include files"
  .

  ( because there a conflict in the header when you
    compile psql.c ) In this case, you must permut the sequence of
  directive -I .

Erwan MAS
1998-04-05 21:29:49 +00:00
4b6fcc4459 Remove GetDatabaseName/Path and use globals. Make consts later. 1998-04-05 21:04:50 +00:00
03a7cd1788 Fix for memory leak. 1998-04-05 05:52:10 +00:00
9fbdda039d Fix macro read violation for Maurice. 1998-03-31 15:53:51 +00:00
92c6bf9775 Pointed out by: Doug Winterburn <dlw@seavme.xroads.com>
2) Add "#define gettimeofday(a,b) gettimeofday(a) to src/include/config.h
        On the 88k SVR4, gettimeofday only has one argument.  This is
        checked for in a few other packages by configure, so there should
        be some examples of the configure test out there.
1998-03-31 02:59:07 +00:00
57b5966405 The following uuencoded, gzip'd file will ...
1. Remove the char2, char4, char8 and char16 types from postgresql
2. Change references of char16 to name in the regression tests.
3. Rename the char16.sql regression test to name.sql.  4. Modify
the regression test scripts and outputs to match up.

Might require new regression.{SYSTEM} files...

Darren King
1998-03-30 17:28:21 +00:00
5920345068 Sorry. I made above mistakes. "__svr4" should be "__svr4__" or
"__SVR4" as you pointed out.  There is another file that has the
same mistakes.  Included is a patche for include/c.h.

t-ishii@sra.co.jp
1998-03-20 04:17:34 +00:00
6df719184c Fix spelling of "including
Edward J. Huff
1998-03-20 04:12:25 +00:00
661ecf3c48 From: t-ishii@sra.co.jp
Included are patches intended for allowing PostgreSQL to handle
multi-byte charachter sets such as EUC(Extende Unix Code), Unicode and
Mule internal code. With the MB patch you can use multi-byte character
sets in regexp and LIKE. The encoding system chosen is determined at
the compile time.

To enable the MB extension, you need to define a variable "MB" in
Makefile.global or in Makefile.custom. For further information please
take a look at README.mb under doc directory.

(Note that unlike "jp patch" I do not use modified GNU regexp any
more. I changed Henry Spencer's regexp coming with PostgreSQL.)
1998-03-15 07:39:04 +00:00
8ecc01cf8a Fix bad oid in table. 1998-03-07 04:49:57 +00:00
a8de40df53 Get rid of those pesky long constants, 'l'. Has no affect. 1998-03-04 18:41:08 +00:00
9bc57c6665 From: Darren King <darrenk@insightdist.com>
Patch1:

Postgres thinks dist_pl (dist of a point to a line) is expecting a box (603)
for the right arg, but it really should be a line (628).

Otherwise the left & right args match those of dist_pb (dist of a point to a
box) two lines further down.


Patch2:

Anyways, these two functions take a path (602) whereas in pg_proc.h they are
listed as taking a lseg (601).
1998-03-02 06:12:15 +00:00
6a9627e792 Last minute clean up for SunOS...
From: t-ishii@sra.co.jp
1998-03-02 05:42:15 +00:00
9ed7a21ba6 Fix boolean operator declarations for path to return boolean, not float8. 1998-03-01 08:10:34 +00:00
56b3182241 From: "Billy G. Allie" <Bill.Allie@mug.org>
The following patches will allow postgreSQL 6.3 to compile and run on a
UNIXWARE 2.1.2 system with the native C compiler with the following library
change:

        The alloca function must be copied from the libucb.a archive and added
        to the libgen.a archive.

Also, the GNU flex program is needed to successfully build postgreSQL.
1998-03-01 04:47:38 +00:00
9986d9a404 ExecReScan for MergeJoin. 1998-02-27 16:12:09 +00:00
8d78d16485 index_markpos()/index_restrpos() are in use now. 1998-02-26 12:14:54 +00:00
a32450a585 pgindent run before 6.3 release, with Thomas' requested changes. 1998-02-26 04:46:47 +00:00
b5b3735f22 pg_user.h is obseleted in favor of pg_shadow.h 1998-02-25 14:54:44 +00:00
780068f812 From: Jan Wieck <jwieck@debis.com>
seems  that  my last post didn't make it through. That's good
    since  the  diff  itself  didn't  covered  the  renaming   of
    pg_user.h to pg_shadow.h and it's new content.

    Here  it's  again.  The  complete regression test passwd with
    only some  float  diffs.  createuser  and  destroyuser  work.
    pg_shadow cannot be read by ordinary user.
1998-02-25 13:09:49 +00:00
0227a4e114 From: "Denis V. Dmitrienko" <denis@null.net>
What it does:
It solves stupid problem with cyrillic charsets IP-based on-fly recoding.
take a look at /data/charset.conf for details.
You can use any tables for any charset.
Tables are from Russian Apache project.
Tables in this patch contains also Ukrainian characters.

Then run ./configure --enable-recode
1998-02-24 15:27:04 +00:00
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
712e77e3df Various fixes for string.h vs strings.h
From: Frank Ridderbusch <ridderbusch.pad@sni.de>
1998-02-24 04:02:20 +00:00
5cf1964fc6 From: Jan Wieck <jwieck@debis.com>
So   if   the   relname   is   given   to   acldefault()   in
    utils/adt/acl.c, it can do a IsSystemRelationName() on it and
    return ACL_RD instead of ACL_WORLD_DEFAULT.
1998-02-24 03:31:50 +00:00
7549bb66c2 Add an '#include <sys/types.h>' for the netinet/in.h section 1998-02-24 03:12:55 +00:00
0b4620b575 Quick cleanups 1998-02-23 18:43:13 +00:00
6c7c6d0c05 From: Jan Wieck <jwieck@debis.com>
The diff looks so simple and easy. But to find it wasn't fun.

    It must have been there for a long time. What happened:

    When a tuple in one of some central catalogs was updated, the
    referenced  relation  got flushed, so it would be reopened on
    the next access (to reflect new  triggers,  rules  and  table
    structure changes into the relation cache).

    Some  data  (the  tupleDescriptor e.g.) is used in the system
    cache too. So when a relation is subject to the system cache,
    this  must know too that a cached system relation got flushed
    because the tupleDesc data gets freed during the flush!

    For the GRANT/REVOKE on pg_class it was  slightly  different.
    There  is some local data in inval.c that gets initialized on
    the first invalidation of a tuple in some  central  catalogs.
    This  needs a SysCache lookup in pg_class. But when the first
    of all commands is a GRANT on pg_class,  exactly  the  needed
    tuple is the one actually invalidated. So I added little code
    snippets that the initialization of the  local  variables  in
    inval.c will already happen during InitPostgres().
1998-02-23 17:44:24 +00:00
f0e7e2faa4 ExecReScan for Unique & Sort nodes. 1998-02-23 06:28:16 +00:00
856da1e65a Constlen can be -1, so make it a signed type. 1998-02-21 16:58:49 +00:00
7b30490bc9 First step done,
below  is  the patch to have views to override the permission
    checks for the accessed tables. Now we can do the following:

    CREATE VIEW db_user AS SELECT
         usename,
         usesysid,
         usecreatedb,
         usetrace,
         usecatupd,
         '**********'::text as passwd,
         valuntil
        FROM pg_user;

    REVOKE ALL ON pg_user FROM public;
    REVOKE ALL ON db_user FROM public;
    GRANT SELECT ON db_user TO public;
1998-02-21 06:32:15 +00:00