| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
handled as special productions. This is needed to keep us honest about
user-schema type names that happen to coincide with system type names.
Per pghackers discussion 24-Apr. To avoid bloating the keyword list
too much, I removed the translations for datetime, timespan, and lztext,
all of which were slated for destruction several versions back anyway.
|
| |
|
|
|
|
|
|
| |
in gram.y can make use of the keywords.c string table, instead of having
their own copies of the keyword strings. This saves a few kilobytes and
more importantly eliminates an opportunity for cut-and-paste errors.
|
|
|
|
|
|
| |
in the search path. (We might want to make these available as SQL
functions too, but I haven't done that yet.) Fix format_type to be
schema-aware.
|
|
|
|
| |
binary case) already has. Needed for upcoming ruleutils change.
|
|
|
|
|
|
|
|
|
|
|
|
| |
in parse error messages, not just the part scanned by the last flex rule.
For example,
select "foo" "bar";
used to draw
ERROR: parser: parse error at or near """
which was rather unhelpful. Now it gives
ERROR: parser: parse error at or near ""bar""
Also, error messages concerning bitstring literals and suchlike will
quote the source text at you, not the processed internal form of the literal.
|
|
|
|
| |
see changes made by the transaction itself.
|
|
|
|
|
| |
I concluded that RENAME should require CREATE privilege on the namespace
as well as ownership of the table.
|
|
|
|
| |
don't scribble on tuple returned by table scan.
|
| |
|
| |
|
| |
|
|
|
|
| |
was incorrectly used for both qsort and bsearch.
|
|
|
|
|
|
|
|
| |
lists to join RTEs, attach a list of Vars and COALESCE expressions that will
replace the join's alias variables during planning. This simplifies
flatten_join_alias_vars while still making it easy to fix up varno references
when transforming the query tree. Add regression test cases for interactions
of subqueries with outer joins.
|
|
|
|
| |
in quoting rules and recognition of implicit type coercions.
|
| |
|
|
|
|
|
|
|
|
|
| |
pg_database, pg_shadow, pg_group, all of which now have potentially-long
fields. Along the way, get rid of SharedSystemRelationNames list: shared
rels are now identified in their include/pg_catalog/*.h files by a
BKI_SHARED_RELATION macro, while indexes and toast rels inherit sharedness
automatically from their parent table. Fix some bugs with failure to detoast
pg_group.grolist during ALTER GROUP.
|
|
|
|
| |
pg_hba.conf changes.
|
|
|
|
|
|
|
| |
messages more uniform and internationalizable: the global array
aclcheck_error_strings[] is gone in favor of a subroutine
aclcheck_error(). Partial implementation of namespace-related
permission checks --- not all done yet.
|
|
|
|
|
|
|
| |
divide backend/commands by object type, let's try to pay at least
minimal attention to respecting that structure, eh? Also reorder the
contents of tablecmds.c; it seems odd to me to put ALTER commands before
creation/deletion commands.
|
|
|
|
|
| |
Update has_table_privilege functions to cope with schema-qualified
names in the same way as nextval() and others.
|
|
|
|
|
|
|
| |
per pghackers discussion. Add some more typsanity tests, and clean
up some problems exposed thereby (broken or missing array types for
some built-in types). Also, clean up loose ends from unknownin/out
patch.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mysteriously disappearing.
ie. \d+ will only ever show the comment for the current database --
which is appropriate since it can only pull comments from the current
database.
Won't break pgadmin functionality as it enforces this behaviour already.
I didn't find any regression tests for COMMENT.
Rod Taylor
|
|
|
|
|
|
|
|
| |
left a stub for a future "ALTER RULE RENAME" but did not write that one
yet. Bruce, if you want to add my name for for that I'll take it and do
it later.
Joe Conway
|
|
|
|
|
|
| |
Appears I forgot to update the docs earlier.
Rod Taylor
|
|
|
|
|
|
|
|
|
|
| |
BAD: INSERT INTO tab (col1, col2) VALUES ('val1');
GOOD: INSERT INTO tab (col1, col2) VALUES ('val1', 'val2');
Regress tests against DEFAULT and normal values as they're managed
slightly different.
Rod Taylor
|
|
|
|
|
|
|
|
|
|
| |
looking for places that assume UNKNOWN == TEXT. One of those was the
"SET" type in pg_type.h, which was using textin/textout. This one I took
care of in this patch. The other suspicious place was in
string_to_dataum (which is defined in both selfuncs.c and indxpath.c). I
wasn't too sure about those, so I left them be.
Joe Conway
|
|
|
|
| |
Ulrich Neumann
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Attached is a pacth against 7.2 which adds locale awareness to the
character classes of the regular expression engine.
...
> > I still think the xdigit class could be handled the same way the digit
> > class is (by enumeration rather than using the isxdigit function). That
> > saves you a cicle, and I don't think there's any loss.
>
> In fact, I will email you when I apply the original patch.
I miss that case :-(. Here is the pached patch.
...
Here is a patch which addresses Tatsuo's concerns (it does return an
static struct instead of constructing it).
|
|
|
|
|
| |
UINT64CONST, since unsigned was what it wanted anyway. Centralize macro
definitions into c.h.
|
| |
|
|
|
|
| |
ALTER COLUMN SET STORAGE should be allowed.
|
|
|
|
|
| |
Change elog(ERROR) messages to say that a variable takes one parameter,
rather than saying that it does not take multiple parameters.
|
|
|
|
|
| |
The last version caught this with an assert because I wasn't sure whether
we should elog(ERROR) or just loop through the parameters.
|
| |
|
|
|
|
| |
it is now obsolete. Need some regression test cases to prove otherwise...
|
|
|
|
|
|
| |
These were for cases protected by elog(ERROR) exits, but may as well
keep the compiler happy. Not sure why they don't show up on my gcc-2.96.x
version of the compiler.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use "--enable-integer-datetimes" in configuration to use this rather
than the original float8 storage. I would recommend the integer-based
storage for any platform on which it is available. We perhaps should
make this the default for the production release.
Change timezone(timestamptz) results to return timestamp rather than
a character string. Formerly, we didn't have a way to represent
timestamps with an explicit time zone other than freezing the info into
a string. Now, we can reasonably omit the explicit time zone from the
result and return a timestamp with values appropriate for the specified
time zone. Much cleaner, and if you need the time zone in the result
you can put it into a character string pretty easily anyway.
Allow fractional seconds in date/time types even for dates prior to 1BC.
Limit timestamp data types to 6 decimal places of precision. Just right
for a micro-second storage of int8 date/time types, and reduces the
number of places ad-hoc rounding was occuring for the float8-based types.
Use lookup tables for precision/rounding calculations for timestamp and
interval types. Formerly used pow() to calculate the desired value but
with a more limited range there is no reason to not type in a lookup
table. Should be *much* better performance, though formerly there were
some optimizations to help minimize the number of times pow() was called.
Define a HAVE_INT64_TIMESTAMP variable. Based on the configure option
"--enable-integer-datetimes" and the existing internal INT64_IS_BUSTED.
Add explicit date/interval operators and functions for addition and
subtraction. Formerly relied on implicit type promotion from date to
timestamp with time zone.
Change timezone conversion functions for the timetz type from "timetz()"
to "timezone()". This is consistant with other time zone coersion
functions for other types.
Bump the catalog version to 200204201.
Fix up regression tests to reflect changes in fractional seconds
representation for date/times in BC eras.
All regression tests pass on my Linux box.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a big change from past behavior, but the last release was
designed to handle this correctly for dump/restore upgrades.
Fix up handling of SET value arguments. Allow lists for most options at
least at the parser level; multiple values may be rejected at the
command processor of course.
Allow more variations on values for SET commands, including integer and
float values where formerly stringy fields were required.
Check precision specification for date/time fields against the true
precision range allowed by the data types. Especially useful with the
new int8-based storage for these types, where precision is fixed and
predictable.
Stub out a basic CREATE ASSERTION per SQL9x. Does not do anything (yet) but
should be augmented as appropriate.
Minor fixups in braces and tabbing.
|
|
|
|
|
|
|
|
|
|
|
| |
most required a stringy syntax in the parser; now integers and floats
can (or should) be handled. There is at least one cheesy error message
mentioning sending mail to me if there are problems; should be changed
prior to release.
Allow lists of values from the parser in more cases. If multiple arguments
were not allowed previously, they probably are not allowed now, but at
least the data structures being passed around are more consistant across
more cases.
|
|
|
|
|
|
|
|
| |
compiled for integer date/time storage and to check the length of
storage for the locale fields in the same data structure.
Slightly reword some of the error messages to be more accurate on
possible recovery options (e.g. recompile *or* re-initdb).
Bump version number on this file.
|
| |
|
|
|
|
|
|
|
|
|
| |
different privilege bits (might as well make use of the space we were
wasting on padding). EXECUTE and USAGE bits for procedures, languages
now are separate privileges instead of being overlaid on SELECT. Add
privileges for namespaces and databases. The GRANT and REVOKE commands
work for these object types, but we don't actually enforce the privileges
yet...
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Use flex flags -CF. Pass the to-be-scanned string around as StringInfo
type, to avoid querying the length repeatedly. Clean up some code and
remove lex-compatibility cruft. Escape backslash sequences inline. Use
flex-provided yy_scan_buffer() function to set up input, rather than using
myinput().
|
|
|
|
| |
_RETURN now, since there's no need to keep 'em unique anymore.
|
|
|
|
|
|
|
|
|
|
| |
(tgrelid, tgname). This provides an additional check on trigger name
uniqueness per-table (which was already enforced by the code anyway).
With this change, RelationBuildTriggers will read the triggers in
order by tgname, since it's scanning using this index. Since a
predictable trigger ordering has been requested for some time, document
this behavior as a feature. Also document that rules fire in name
order, since yesterday's changes to pg_rewrite indexing cause that too.
|
|
|
|
| |
per previous discussion.
|