summaryrefslogtreecommitdiff
path: root/src/backend/parser
AgeCommit message (Collapse)Author
1998-10-09Fix for BSDI shared libraries.Bruce Momjian
1998-10-08Make functions static or ifdef NOT_USED. Prevent pg_version creation.Bruce Momjian
1998-10-03Integrate new IP type from Tom Ivar Helbekkmo.Bruce Momjian
1998-10-02 the following little patch adds array references to queryBruce Momjian
parameters. With it applied a function like CREATE FUNCTION getname(oid8, int4) RETURNS name AS 'SELECT typname FROM pg_type WHERE oid = $1[$2]' LANGUAGE 'sql'; is possible. Mainly I need this to enable array references in expressions for PL/pgSQL. Complete regression test ran O.K. Jan
1998-10-01Fix for constbyval.Bruce Momjian
1998-10-01Fix for constbyval .Bruce Momjian
1998-09-30Update to track newest gram.y.Thomas G. Lockhart
1998-09-30Add as many keywords as possible to column identifier or label lists.Thomas G. Lockhart
Add "timestamp" to list of tokens in keywords.c. Before, TIMESTAMP WITH TIME ZONE did not actually parser. Reorder token lists to be more alphabetical. Remove ARCHIVE keyword which was deprecated in v6.3.
1998-09-25Update to track gram.y.Thomas G. Lockhart
Had removed PARSEDEBUG statements...
1998-09-25Clean up code in analyze.c for SERIAL data type.Thomas G. Lockhart
Remove _all_ PARSEDEBUG print statements.
1998-09-18New gram.cBruce Momjian
1998-09-16Support specifying PRIMARY KEY for the SERIAL type.Thomas G. Lockhart
Change DEFAULT NULL to send back a NULL pointer rather than a string "NULL". This seems to work, where sending the string led to type conversion problems (and probably the wrong thing anyway).
1998-09-16Support specifying PRIMARY KEY for the SERIAL type.Thomas G. Lockhart
Check for a constraint if is_sequence is set and omit making a UNIQUE index if so, since the primary key will cover that for us.
1998-09-16Use oper_select_candidate() for unary operatorsThomas G. Lockhart
rather than func_select_candidate(). Fix oper_select_candidate() to work with a single operator argument. Repair left operator checking for null return from candidate list.
1998-09-15Forgot to remove README-1ST from the repository ...Marc G. Fournier
1998-09-13Update to new DECLARE and FETCH features in gram.y.Thomas G. Lockhart
1998-09-13Support SQL92-ish DECLARE and FETCH commands.Thomas G. Lockhart
Adds a few new keywords, but all are allowed as column names etc.
1998-09-09Fix using GroupBy/non-GroupBy expressions in HAVING.Vadim B. Mikheev
1998-09-03Allow insert statements to have every columnThomas G. Lockhart
supplied by a DEFAULT clause. Enables INSERT INTO TABLE DEFAULT VALUES...
1998-09-03Update to match newest gram.c since both are generated from gram.y.Thomas G. Lockhart
Should be done every time gram.c is refreshed.
1998-09-02Fix for indexing problems.Bruce Momjian
1998-09-02Update to support the CREATE TABLE DEFAULT VALUES statement in gram.y.Thomas G. Lockhart
1998-09-02Support CREATE TABLE DEFAULT VALUES statement.Thomas G. Lockhart
1998-09-01OK, folks, here is the pgindent output.Bruce Momjian
1998-09-01Renaming cleanup, no pgindent yet.Bruce Momjian
1998-08-30Fix for possible releasebuffer bug.Bruce Momjian
1998-08-29Fix scanner name length trimming.Bruce Momjian
1998-08-29Truncate identifiers at NAMEDATALEN length.Bruce Momjian
1998-08-26Fix atttypmod alignment again, and re-enable ecpg.Bruce Momjian
1998-08-26Make attalign match type alignment.Bruce Momjian
1998-08-26Fix up crashing symptoms for new serial type by making sure constraintThomas G. Lockhart
and index name fields are pstrdup'd (copied) rather than reused.
1998-08-26Fix for select bug.Bruce Momjian
1998-08-25From: Massimo Dal Zotto <dz@cs.unitn.it>Marc G. Fournier
> these patches define the UNLISTEN sql command. The code already > existed but it was unknown to the parser. Now it can be used > like the listen command. > You must make clean and delete gram.c and parser.h before make.
1998-08-25From: Massimo Dal Zotto <dz@cs.unitn.it>Marc G. Fournier
> sequence.patch > > adds the missing setval command to sequences. Owner of sequences > can now set the last value to any value between min and max > without recreating the sequence. This is useful after loading > data from external files.
1998-08-25Support SERIAL column type. Expand column marked is_sequence into threeThomas G. Lockhart
statements: - the table definition with a default clause referencing the sequence; - a CREATE SEQUENCE statement; - a UNIQUE constraint, which expands into a CREATE INDEX statement. This is not a perfect solution, since the sequence will remain even if the table is dropped. Also, there is no absolute protection on updating the sequence column.
1998-08-25Support SERIAL column type. Expand into an integer column but markThomas G. Lockhart
is_sequence in the ColumnDef structure.
1998-08-25Cleanup of target file.Bruce Momjian
1998-08-25Make sure resdomno for update/insert match attribute number forBruce Momjian
rewrite system. Restructure parse_target to make it easier to understand.
1998-08-24I have found a minor problem with current configure.in.Bruce Momjian
[AC_MSG_RESULT(yes) AC_DEFINE(HAVE_LONG_INT_64)], this line produces something like: echo "$ac_t""yes" 1>&6 cat >> confdefs.h <<\EOF and would append garbage "yes cat" to confdefs.h. Of course the result confdefs.h is not syntactically correct therefore following tests using confdefs.h would all fail. To avoid the problem, we could switch the order of AC_MSG_RESULT and AC_DEFINE (see attached patch). This happend on my LinuxPPC box. Tatsuo Ishii t-ishii@sra.co.jp
1998-08-24OLD has to return CURRENT for now, Jan.Bruce Momjian
1998-08-24 This is the final state of the rule system for 6.4 after theBruce Momjian
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
1998-08-24o note that now pg_database has a new attribuite "encoding" evenBruce Momjian
if MULTIBYTE is not enabled. So be sure to run initdb. o these patches are made against the latest source tree (after Bruce's massive patch, I think) BTW, I noticed that after running regression, the oid field of pg_type seems disappeared. regression=> select oid from pg_type; ERROR: attribute 'oid' not found this happens after the constraints test. This occures with/without my patches. strange... o pg_database_mb.h, pg_class_mb.h, pg_attribute_mb.h are no longer used, and shoud be removed. o GetDatabaseInfo() in utils/misc/database.c removed (actually in #ifdef 0). seems nobody uses. t-ishii@sra.co.jp
1998-08-23Attached is a patch that uses autoconf to determine whether thereBruce Momjian
is a working 64-bit-int type available. In playing around with it on my machine, I found that gcc provides perfectly fine support for "long long" arithmetic ... but sprintf() and sscanf(), which are system-supplied, don't work :-(. So the autoconf test program does a cursory test on them too. If we find that a lot of systems are like this, it might be worth the trouble to implement binary<->ASCII conversion of int64 ourselves rather than relying on sprintf/sscanf to handle the data type. regards, tom lane
1998-08-23cleanupBruce Momjian
1998-08-19fix for ecpg corruptionBruce Momjian
1998-08-19heap_fetch requires buffer pointer, must be released; heap_getnextBruce Momjian
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;
1998-08-18From: Jan Wieck <jwieck@debis.com>Marc G. Fournier
Hi, as proposed here comes the first patch for the query rewrite system. <for details, see archive dated Mon, 17 Aug 1998>
1998-08-17Update for changes to gram.y.Thomas G. Lockhart
1998-08-17Allow NOT LIKE, IN, NOT IN, BETWEEN, and NOT BETWEEN expressionsThomas G. Lockhart
in constraint clauses. IN and NOT IN only allow constaints, not subselects. Jose' Soares' new reference docs pointed out the discrepency. Updating the docs too...
1998-08-17Date: Sun, 16 Aug 1998 14:56:48 -0400Marc G. Fournier
From: Tom Lane <tgl@sss.pgh.pa.us> Attached is a patch for this weekend's work on libpq. I've dealt with several issues: <for details: see message, in pgsql-patches archive for above data>