- May 27, 2004
-
-
Bruce Momjian authored
-
Tom Lane authored
Recommend ALTER TABLE ... TYPE as the best way to reclaim space occupied by deleted columns. The old method involving UPDATE and VACUUM FULL will be considerably less efficient.
-
Neil Conway authored
-
- May 26, 2004
-
-
Bruce Momjian authored
> FWIW, the section on configuring kernel resources under various > Unixen[1] doesn't have any documentation for AIX. If someone out there > knows which knobs need to be tweaked, would they mind sending in a doc > patch? (Or just specifying what needs to be done, and I'll add the > SGML.) After verifying that nobody wound up messing with the kernel parameters, here's a docs patch... Chris Browne
-
Bruce Momjian authored
the four functions. > Also, please justify the temp-related changes. I was not aware that we > had any breakage there. patch-tmp-schema.txt contains the following bits: *) Changes pg_namespace_aclmask() so that the superuser is always able to create objects in the temp namespace. *) Changes pg_namespace_aclmask() so that if this is a temp namespace, objects are only allowed to be created in the temp namespace if the user has TEMP privs on the database. This encompasses all object creation, not just TEMP tables. *) InitTempTableNamespace() checks to see if the current user, not the session user, has access to create a temp namespace. The first two changes are necessary to support the third change. Now it's possible to revoke all temp table privs from non-super users and limiting all creation of temp tables/schemas via a function that's executed with elevated privs (security definer). Before this change, it was not possible to have a setuid function to create a temp table/schema if the session user had no TEMP privs. patch-area-path.txt contains: *) Can now determine the area of a closed path. patch-dfmgr.txt contains: *) Small tweak to add the library path that's being expanded. I was using $lib/foo.so and couldn't easily figure out what the error message, "invalid macro name in dynamic library path" meant without looking through the source code. With the path in there, at least I know where to start looking in my config file. Sean Chittenden
-
Bruce Momjian authored
(1) boolean-and and boolean-or aggregates named bool_and and bool_or. they (SHOULD;-) correspond to standard sql every and some/any aggregates. they do not have the right name as there is a problem with the standard and the parser for some/any. Tom also think that the standard name is misleading because NULL are ignored. Also add 'every' aggregate. (2) bitwise integer aggregates named bit_and and bit_or for int2, int4, int8 and bit types. They are not standard, but I find them useful. I needed them once. The patches adds: - 2 new very short strict functions for boolean aggregates in src/backed/utils/adt/bool.c, src/include/utils/builtins.h and src/include/catalog/pg_proc.h - the new aggregates declared in src/include/catalog/pg_proc.h and src/include/catalog/pg_aggregate.h - some documentation and validation about these new aggregates. Fabien COELHO
-
Bruce Momjian authored
extend the GUC variable set". Plugin modules like the pl<lang> modules needs a way to declare configuration parameters. The postmaster has no knowledge of such modules when it reads the postgresql.conf file. Rather than allowing totally unknown configuration parameters, the concept of a variable "class" is introduced. Variables that belongs to a declared classes will create a placeholder value of string type and will not generate an error. When a module is loaded, it will declare variables for such a class and make those variables "consume" any placeholders that has been defined. Finally, the module will generate warnings for unrecognized placeholders defined for its class. More detail: The design is outlined after the suggestions made by Tom Lane and Joe Conway in this thread: http://archives.postgresql.org/pgsql-hackers/2004-02/msg00229.php A new string variable 'custom_variable_classes' is introduced. This variable is a comma separated string of identifiers. Each identifier denots a 'class' that will allow its members to be added without error. This variable must be defined in postmaster.conf. The lexer (guc_file.l) is changed so that it can accept a qualified name in the form <ID>.<ID> as the name of a variable. I also changed so that the 'custom_variable_classes', if found, is added first of all variables in order to remove the order of declaration issue. The guc_variables table is made more dynamic. It is originally created with 20% slack and can grow dynamically. A capacity is introduced to avoid resizing every time a new variable is added. guc_variables and num_guc_variables becomes static (hidden). The GucInfoMain now uses the new function get_guc_variables() and GetNumConfigOptions instead or using the guc_variables directly. The find_option() function, when passed a missing name, will check if the name is qualified. If the name is qualified and if the qualifier denotes a class included in the 'custom_variable_classes', a placeholder variable will be created. Such a placeholder will not participate in a list operation but will otherwise function as a normal string variable. Define<type>GucVariable() functions will be added, one for each variable type. They are inteded to be used by add-on modules like the pl<lang> mappings. Example: extern void DefineCustomBoolVariable( const char* name, const char* short_desc, const char* long_desc, bool* valueAddr, GucContext context, GucBoolAssignHook assign_hook, GucShowHook show_hook); (I created typedefs for the assign-hook and show-hook functions). A call to these functions will define a new GUC-variable. If a placeholder exists it will be replaced but it's value will be used in place of the default value. The valueAddr is assumed ot point at a default value when the define function is called. The only constraint that is imposed on a Custom variable is that its name is qualified. Finally, a function: void EmittWarningsOnPlacholders(const char* className) was added. This function should be called when a module has completed its variable definitions. At that time, no placeholders should remain for the class that the module uses. If they do, elog(INFO, ...) messages will be issued to inform the user that unrecognized variables are present. Thomas Hallgren
-
Bruce Momjian authored
It was necessary to touch in grammar and create a new node to make home to the new syntax. The command is also supported in E CPG. Doc updates are attached too. Only superusers can change the owner of the database. New owners don't need any aditional privileges. Euler Taveira de Oliveira
-
- May 24, 2004
-
-
Bruce Momjian authored
Viktor Vislobokov
-
Neil Conway authored
-
Bruce Momjian authored
> * Allow GRANT/REVOKE permissions to be given to all schema objects with one command
-
- May 23, 2004
-
-
Tom Lane authored
-
- May 22, 2004
-
-
Neil Conway authored
-
Neil Conway authored
-
- May 21, 2004
-
-
Tom Lane authored
and should do now that we control our own destiny for timezone handling, but this commit gets the bulk of the picayune diffs in place. Magnus Hagander and Tom Lane.
-
- May 20, 2004
-
-
Bruce Momjian authored
> * Support composite types as table columns 286,289d286 < * Python < o Allow users to register their own types with pg_ < o Allow SELECT to return a dictionary of dictionaries < o Allow COPY BINARY FROM 456d452 < * Support composite types as table columns
-
Bruce Momjian authored
< Bracketed items "[]" have more detailed. > Bracketed items "[]" have more detail. 35,36d34 < * Remove unreferenced table files and temp tables during database vacuum < or postmaster startup (Bruce) 68c66 < * Allow pg_dump to dump sequences using NO_MAXVALUE and NO_MINVALUE > * -Allow pg_dump to dump sequences using NO_MAXVALUE and NO_MINVALUE 70c68 < * Prevent whole-row references from leaking memory, e.g. SELECT COUNT(tab.*) > * -Prevent whole-row references from leaking memory, e.g. SELECT COUNT(tab.*) 76c74 < * Make LENGTH() of CHAR() not count trailing spaces > * -Make LENGTH() of CHAR() not count trailing spaces 145c143 < * Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8, > * -Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8, 179c177 < * Allow more ISOLATION LEVELS to be accepted, but issue a warning for them > * -Allow more ISOLATION LEVELS to be accepted 186c184 < * Add GUC setting to make created tables default to WITHOUT OIDS > * -Add GUC setting to make created tables default to WITHOUT OIDS 265d262 < * Allow fastpast to pass values in portable format 271c268 < * Move psql backslash database information into the backend, use nmumonic > * Move psql backslash database information into the backend, use nmeumonic 275,283d271 < * JDBC < o Comprehensive test suite. This may be available already. < o JDBC-standard BLOB support < o Error Codes (pending backend implementation) < o Support both 'make' and 'ant' < o Fix LargeObject API to handle OIDs as unsigned ints < o Use cursors implicitly to avoid large results (see setCursorName()) < o Add LISTEN/NOTIFY support to the JDBC driver (Barry) < 332c320 < * Have pg_dump -c clear the database using dependency information > * -Have pg_dump -c clear the database using dependency information 367,368c355,356 < * Cache last known per-tuple offsets to speed long tuple access < * Automatically place fixed-width, NOT NULL columns first in a table > * Cache last known per-tuple offsets to speed long tuple access, adjusting > for NULLs and TOAST values 467c455,456 < * Change representation of whole-tuple parameters to functions > * -Change representation of whole-tuple parameters to functions > * Support composite types as table columns 478,479d466 < * Allow the regression tests to start postmaster with -i so the tests < can be run on systems that don't support unix-domain sockets
-
Bruce Momjian authored
Larry Rosenman
-
Bruce Momjian authored
> * Investigate SMP context switching issues
-
Bruce Momjian authored
< * Allow col IS TRUE/FALSE use an index like col = TRUE/FALSE
-
Bruce Momjian authored
> o Add default clustering to system tables
-
Bruce Momjian authored
> o Add ALTER DOMAIN TYPE
-
Bruce Momjian authored
> * Allow col IS TRUE/FALSE use an index like col = TRUE/FALSE
-
Bruce Momjian authored
William White <bwhite@frognet.net>
-
Bruce Momjian authored
Karl O. Pinc
-
- May 19, 2004
-
-
Bruce Momjian authored
> * -Make pg_restore continue after errors, so it acts more like pg_dump scripts
-
- May 18, 2004
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
> * Allow binaries to be statically linked so they are more easily relocated
-
Bruce Momjian authored
Viktor Vislobokov
-
- May 17, 2004
-
-
Bruce Momjian authored
locations are overridden.
-
Bruce Momjian authored
-
Neil Conway authored
examples to use dollar quoting when appropriate. Original patch from David Fetter, additional work and editorializing by Neil Conway.
-
Neil Conway authored
error codes for certain error conditions, as specified by SQL2003.
-
- May 16, 2004
-
-
Bruce Momjian authored
-
- May 14, 2004
-
-
Neil Conway authored
a variant of the function for the 'numeric' datatype; it would be possible to add additional variants for other datatypes, but I haven't done so yet. This commit includes regression tests and minimal documentation; if we want developers to actually use this function in applications, we'll probably need to document what it does more fully.
-
Bruce Momjian authored
-
Neil Conway authored
-patches.
-
- May 12, 2004
-
-
Bruce Momjian authored
< o Add PL/PHP (Joe)
-
- May 11, 2004
-
-
Bruce Momjian authored
> * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, triggers?)
-