Skip to content
Snippets Groups Projects
  1. Sep 01, 1998
  2. Aug 31, 1998
  3. Aug 29, 1998
  4. Aug 24, 1998
    • Bruce Momjian's avatar
      This is the final state of the rule system for 6.4 after the · 15cb32d9
      Bruce Momjian authored
          patch is applied:
      
      	Rewrite rules on relation level work fine now.
      
      	Event qualifications on insert/update/delete  rules  work
      	fine now.
      
      	I  added  the  new  keyword  OLD to reference the CURRENT
      	tuple. CURRENT will be removed in 6.5.
      
      	Update rules can  reference  NEW  and  OLD  in  the  rule
      	qualification and the actions.
      
      	Insert/update/delete rules on views can be established to
      	let them behave like real tables.
      
      	For  insert/update/delete  rules  multiple  actions   are
      	supported  now.   The  actions  can also be surrounded by
      	parantheses to make psql  happy.   Multiple  actions  are
      	required if update to a view requires updates to multiple
      	tables.
      
      	Regular users  are  permitted  to  create/drop  rules  on
      	tables     they     have     RULE     permissions     for
      	(DefineQueryRewrite() is  now  able  to  get  around  the
      	access  restrictions  on  pg_rewrite).  This enables view
      	creation for regular users too. This  required  an  extra
      	boolean  parameter  to  pg_parse_and_plan() that tells to
      	set skipAcl on all rangetable entries  of  the  resulting
      	queries.       There      is      a      new     function
      	pg_exec_query_acl_override()  that  could  be   used   by
      	backend utilities to use this facility.
      
      	All rule actions (not only views) inherit the permissions
      	of the event relations  owner.  Sample:  User  A  creates
      	tables    T1    and    T2,   creates   rules   that   log
      	INSERT/UPDATE/DELETE on T1 in T2 (like in the  regression
      	tests  for rules I created) and grants ALL but RULE on T1
      	to user B.  User B  can  now  fully  access  T1  and  the
      	logging  happens  in  T2.  But user B cannot access T2 at
      	all, only the rule actions can. And due to  missing  RULE
      	permissions on T1, user B cannot disable logging.
      
      	Rules  on  the  attribute  level are disabled (they don't
      	work properly and since regular users are  now  permitted
      	to create rules I decided to disable them).
      
      	Rules  on  select  must have exactly one action that is a
      	select (so select rules must be a view definition).
      
      	UPDATE NEW/OLD rules  are  disabled  (still  broken,  but
      	triggers can do it).
      
      	There are two new system views (pg_rule and pg_view) that
      	show the definition of the rules or views so the db admin
      	can  see  what  the  users do. They use two new functions
      	pg_get_ruledef() and pg_get_viewdef() that are  builtins.
      
      	The functions pg_get_ruledef() and pg_get_viewdef() could
      	be used to implement rule and view support in pg_dump.
      
      	PostgreSQL is now the only database system I  know,  that
      	has rewrite rules on the query level. All others (where I
      	found a  rule  statement  at  all)  use  stored  database
      	procedures  or  the  like  (triggers as we call them) for
      	active rules (as some call them).
      
          Future of the rule system:
      
      	The now disabled parts  of  the  rule  system  (attribute
      	level,  multiple  actions on select and update new stuff)
      	require a complete new rewrite handler from scratch.  The
      	old one is too badly wired up.
      
      	After  6.4  I'll  start to work on a new rewrite handler,
      	that fully supports the attribute level  rules,  multiple
      	actions on select and update new.  This will be available
      	for 6.5 so we get full rewrite rule capabilities.
      
      Jan
      15cb32d9
  5. Aug 19, 1998
    • Bruce Momjian's avatar
      heap_fetch requires buffer pointer, must be released; heap_getnext · 79715390
      Bruce Momjian authored
      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;
      79715390
  6. Aug 16, 1998
  7. Aug 15, 1998
  8. Aug 11, 1998
    • Bruce Momjian's avatar
      the following patch fixes a bug in the oracle compatibility · f22c6f92
      Bruce Momjian authored
          functions btrim() ltrim() and rtrim().
      
          The error was that the character after the set  was  included
          in the tests (ptr2 pointed to the character after the vardata
          part of set if no match found,  so  comparing  *ptr  or  *end
          against *ptr2 MAY match -> strip).
      
      
      Jan
      
      --
      
      #======================================================================#
      # It's easier to get forgiveness for being wrong than for being
      right. # # Let's break this rule - forgive me.
      # #======================================== jwieck@debis.com (Jan
      Wieck) #
      f22c6f92
  9. Jul 27, 1998
  10. Jul 26, 1998
    • Marc G. Fournier's avatar
      · 5979d738
      Marc G. Fournier authored
      From: t-ishii@sra.co.jp
      
      As Bruce mentioned, this is due to the conflict among changes we made.
      Included patches should fix the problem(I changed all MB to
      MULTIBYTE). Please let me know if you have further problem.
      
      P.S. I did not include pathces to configure and gram.c to save the
      file size(configure.in and gram.y modified).
      5979d738
  11. Jul 24, 1998
    • Marc G. Fournier's avatar
      · bf00bbb0
      Marc G. Fournier authored
      I really hope that I haven't missed anything in this one...
      
      From: t-ishii@sra.co.jp
      
      Attached are patches to enhance the multi-byte support.  (patches are
      against 7/18 snapshot)
      
      * determine encoding at initdb/createdb rather than compile time
      
      Now initdb/createdb has an option to specify the encoding. Also, I
      modified the syntax of CREATE DATABASE to accept encoding option. See
      README.mb for more details.
      
      For this purpose I have added new column "encoding" to pg_database.
      Also pg_attribute and pg_class are changed to catch up the
      modification to pg_database.  Actually I haved added pg_database_mb.h,
      pg_attribute_mb.h and pg_class_mb.h. These are used only when MB is
      enabled. The reason having separate files is I couldn't find a way to
      use ifdef or whatever in those files. I have to admit it looks
      ugly. No way.
      
      * support for PGCLIENTENCODING when issuing COPY command
      
      commands/copy.c modified.
      
      * support for SQL92 syntax "SET NAMES"
      
      See gram.y.
      
      * support for LATIN2-5
      * add UNICODE regression test case
      * new test suite for MB
      
      New directory test/mb added.
      
      * clean up source files
      
      Basic idea is to have MB's own subdirectory for easier maintenance.
      These are include/mb and backend/utils/mb.
      bf00bbb0
  12. Jul 20, 1998
  13. Jul 19, 1998
  14. Jul 18, 1998
  15. Jul 12, 1998
  16. Jul 08, 1998
  17. Jun 16, 1998
    • Bruce Momjian's avatar
      Hello! · 8d8bcda2
      Bruce Momjian authored
         Attached to the mail is locale-patch.tar.gz. In the archive
         there are:
      
      file README.locale
         short description
      
      directory src/test/locale
         test suite; currently only koi8-r tests, but the suite can be
         easily extended
      
      file locale.patch
         the very patch; to apply: patch < locale.patch; should be applied
         to postgres-6.3.2 (at least I created it with 6.3.2 without any
      additional
         patches)
      
         Files touched by the patch:  src/include/utils/builtins.h
      src/backend/utils/adt/char.c src/backend/utils/adt/varchar.c
      src/backend/utils/adt/varlena.c
      
      Oleg
      8d8bcda2
  18. Jun 15, 1998
  19. Jun 09, 1998
  20. May 29, 1998
  21. May 10, 1998
  22. Apr 29, 1998
    • Marc G. Fournier's avatar
      From: Jeroen van Vianen <jeroenv@design.nl> · 51a1741c
      Marc G. Fournier authored
      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)
      51a1741c
  23. Apr 27, 1998
    • Marc G. Fournier's avatar
      From: t-ishii@sra.co.jp · f554af0a
      Marc G. Fournier authored
      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.
      f554af0a
    • Marc G. Fournier's avatar
      From: Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu> · 1af6b564
      Marc G. Fournier authored
              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.
      1af6b564
    • Bruce Momjian's avatar
      This patch... · 09baa3cc
      Bruce Momjian authored
      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.
      09baa3cc
  24. Apr 26, 1998
  25. Apr 12, 1998
  26. Apr 07, 1998
  27. Apr 06, 1998
    • Bruce Momjian's avatar
      Hi, · 1e801a8f
      Bruce Momjian authored
      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
      1e801a8f
  28. Mar 30, 1998
    • Bruce Momjian's avatar
      The following uuencoded, gzip'd file will ... · 57b59664
      Bruce Momjian authored
      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
      57b59664
    • Bruce Momjian's avatar
      There's a patch attached to fix gcc 2.8.x warnings, except for the · 9a0dd4fb
      Bruce Momjian authored
      yyerror ones from bison. It also includes a few 'enhancements' to
      the C programming style (which are, of course, personal).
      
      The other patch removes the compilation of backend/lib/qsort.c, as
      qsort() is a standard function in stdlib.h and can be used any
      where else (and it is). It was only used in
      backend/optimizer/geqo/geqo_pool.c, backend/optimizer/path/predmig.c,
      and backend/storage/page/bufpage.c
      
      > > Some or all of these changes might not be appropriate for v6.3,
      since we > > are in beta testing and since they do not affect the
      current functionality.  > > For those cases, how about submitting
      patches based on the final v6.3 > > release?
      
      There's more to come. Please review these patches. I ran the
      regression tests and they only failed where this was expected
      (random, geo, etc).
      
      Cheers,
      
      Jeroen
      9a0dd4fb
  29. Mar 20, 1998
  30. Mar 15, 1998
    • Marc G. Fournier's avatar
      From: "Thomas G. Lockhart" <lockhart@alumni.caltech.edu> · b64a7549
      Marc G. Fournier authored
      For substr() and substring() on the text data type, the relevant code is in
      varlena.c. You are right, there is a problem. I have a patch which I will
      apply to the source tree soon. The copy enclosed below probably does not
      preserve tabs correctly so cannot be applied directly; the relevant change
      is simply changing the ">=" to ">"...
      b64a7549
    • Marc G. Fournier's avatar
      From: t-ishii@sra.co.jp · 661ecf3c
      Marc G. Fournier authored
      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.)
      661ecf3c
  31. Mar 02, 1998
Loading