Commit graph

75 commits

Author SHA1 Message Date
Tom Lane
766fb7f707 Mop-up for removal of ':' and ';' operators ... like, say, actually
take 'em out of pg_operator.  Also remove from scan.l's set of legal
operator characters.  Update documentation.
2000-08-12 05:15:24 +00:00
Thomas G. Lockhart
df40234639 Support SQL99 embedded double-quote syntax for quoted identifiers.
Allow this in the parser and in pg_dump, but it is probably not enough
 for a complete solution.
Better to have the feature started then never here.
2000-08-06 17:50:48 +00:00
Thomas G. Lockhart
be703cd9e8 Implement nested block comments in the backend and in psql.
Include updates for the comment.sql regression test.
Implement SET SESSION CHARACTERISTICS and SET DefaultXactIsoLevel.
Implement SET SESSION CHARACTERISTICS TRANSACTION COMMIT
 and SET AutoCommit in the parser only.
 Need to add code to actually do something.
Implement WITHOUT TIME ZONE type qualifier.
Define SCHEMA keyword, along with stubbed-out grammar.
Implement "[IN|INOUT|OUT] [varname] type" function arguments
 in parser only; INOUT and OUT throws an elog(ERROR).
Add PATH as a type-specific token, since PATH is in SQL99
 to support schema resource search and resolution.
2000-07-14 15:43:57 +00:00
Peter Eisentraut
44d1abebb4 Big warnings cleanup for Solaris/GCC. Down to about 40 now, but
we'll get there one day.

Use `cat' to create aclocal.m4, not `aclocal'. Some people don't
have automake installed.

Only run the autoconf rule in the top-level GNUmakefile if the
invoker specified `make configure', don't run it automatically
because of CVS timestamp skew.
2000-06-14 18:18:01 +00:00
Tom Lane
0672a3c081 Lexer defended us against overlength plain identifiers, but not against
overlength quoted identifiers.  Death and destruction ensue...
2000-06-01 22:21:05 +00:00
Tom Lane
091126fa28 Generated header files parse.h and fmgroids.h are now copied into
the src/include tree, so that -I backend is no longer necessary anywhere.
Also, clean up some bit rot in contrib tree.
2000-05-29 05:45:56 +00:00
Tom Lane
67ad9a18c0 define YY_NEVER_INTERACTIVE for flex, to persuade flex that it's not
necessary to call isatty() for each and every received query.  That's
one less kernel call per query cycle ...
2000-05-27 05:13:38 +00:00
Tom Lane
f945f46193 Modify lexing of multi-char operators per pghackers discussion around
16-Mar-00: trailing + or - is not part of the operator unless the operator
also contains characters not present in SQL92-defined operators.  This
solves the 'X=-Y' problem without unduly constraining users' choice of
operator names --- in particular, no existing Postgres operator names
become invalid.

Also, remove processing of // comments, as agreed in the same thread.
2000-03-18 18:03:12 +00:00
Tom Lane
a84c95634e Performance improvement for lexing long strings: increase flex's
YY_READ_BUF_SIZE, which turns out to have nothing to do with buffer size.
It's just a totally arbitrary upper limit on how much data myinput() is
asked for at one time.
2000-03-13 01:52:06 +00:00
Tom Lane
f3a9d75ebd Finish cleaning up backend's handling of /* ... */ and -- comments,
per pghackers discussion around 20-Feb.  Also add specific error messages
for unterminated comments and unterminated quoted strings.  These things
are nonissues for input coming from psql, but they do matter for input
coming from other front ends.
2000-03-11 05:14:06 +00:00
Tom Lane
393f313227 Change parse-time representation of float literals (which include oversize
integers) to be strings instead of 'double'.  We convert from string form
to internal representation only after type resolution has determined the
correct type for the constant.  This eliminates loss-of-precision worries
and gets rid of the change in behavior seen at 17 digits with the
previous kluge.
2000-02-21 18:47:12 +00:00
Tom Lane
3cfdd8fdf2 Clean up scan.l's handling of \r vs \n --- they are reliably treated as
equivalent now, which should make Windows and Mac clients happier.
Also fix failure to handle SQL comments between segments of a multiline
quoted literal.
2000-02-19 04:17:25 +00:00
Bruce Momjian
5c25d60244 Add:
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc

to all files copyright Regents of Berkeley.  Man, that's a lot of files.
2000-01-26 05:58:53 +00:00
Peter Eisentraut
49581f9848 updated install file
updated date/time types doc
fixed small psql bug
removed libpq code that lower-cased db names
make notice when long identifier is truncated
2000-01-23 01:27:39 +00:00
Tom Lane
1c15186747 Clean up longstanding gcc warnings by adding missing extern
declarations.
2000-01-20 05:26:54 +00:00
Tom Lane
8e35bbd133 Remove fixed-size literal buffer from scan.l, and repair
boundary-condition bug in myinput() which caused flex scanner to fail
on tokens larger than a bufferload.  Turns out flex doesn't want null-
terminated input ... and if it gives you a 1-character buffer, you'd
better supply a character, not a null, lest you be thought to be
reporting end of input.
1999-10-18 02:42:31 +00:00
Bruce Momjian
b8c3226da2 Allow \r as whitespace. 1999-10-09 01:32:38 +00:00
Bruce Momjian
fbe9d1a430 Fix for "--" comment and no trailing newline, as seen in Perl. 1999-10-08 05:03:14 +00:00
Bruce Momjian
63a85082e3 Reverse out last scan.l patch for minus handling.\ 1999-09-28 03:41:40 +00:00
Bruce Momjian
341e360d67 Sorry, guys. Here is the ultimate patch which keeps the entire
behavior as it was, apart from forbidding minus-terminated
operators. Seems that I have to break the habit of doing before
thinking properly :-/  The point is that my second patch breaks
constructs like a & b  or   a ! b. This patch is to be applied
instead of any of two other today's patches.

Leon
1999-09-27 21:02:54 +00:00
Bruce Momjian
7d7fb02148 Following advice from Michael Ansley, I broke up the patch in
two: one fixes uminus and other literal length. They are to be
applied - uminus first, then possilbly literal on top of uminus.

Leon
1999-09-27 19:40:40 +00:00
Tom Lane
b65ab31910 Eliminate token length assumption in scanstr(). 1999-09-11 22:26:47 +00:00
Tom Lane
85712da90d Mike Ansley's fixes for long queries. This change just
corrects flex myinput() routine so that it doesn't assume there is only
one bufferload of data.  We still have the issue of getting rid of
YY_USES_REJECT so that the scanner can cope with tokens larger than its
initial buffer size.
1999-09-07 00:13:27 +00:00
Bruce Momjian
3406901a29 Move some system includes into c.h, and remove duplicates. 1999-07-17 20:18:55 +00:00
Bruce Momjian
a71802e12e Final cleanup. 1999-07-16 05:00:38 +00:00
Bruce Momjian
104d6c816e Add ^ precidence. 1999-07-08 00:00:43 +00:00
Thomas G. Lockhart
8d21a6ef51 Keep long non-quoted numeric strings *as* untyped strings if they fail
the obvious conversion.
Define a new pattern "decimal" which is non-exponential floating point
 for use with numeric() and decimal() types.
1999-05-12 07:12:51 +00:00
Bruce Momjian
210055ad61 here are some patches for 6.5.0 which I already submitted but have never
been applied. The patches are in the .tar.gz attachment at the end:

varchar-array.patch     this patch adds support for arrays of bpchar() and
                        varchar(), which where always missing from postgres.

                        These datatypes can be used to replace the _char4,
                        _char8, etc., which were dropped some time ago.

block-size.patch        this patch fixes many errors in the parser and other
                        program which happen with very large query statements
                        (> 8K) when using a page size larger than 8192.

                        This patch is needed if you want to submit queries
                        larger than 8K. Postgres supports tuples up to 32K
                        but you can't insert them because you can't submit
                        queries larger than 8K. My patch fixes this problem.

                        The patch also replaces all the occurrences of `8192'
                        and `1<<13' in the sources with the proper constants
                        defined in include files. You should now never find
                        8192 hardwired in C code, just to make code clearer.


--
Massimo Dal Zotto
1999-05-03 19:10:48 +00:00
Bruce Momjian
3b43accb0f Have % operator have precedence like /. 1999-03-17 20:17:13 +00:00
Bruce Momjian
6724a50787 Change my-function-name-- to my_function_name, and optimizer renames. 1999-02-13 23:22:53 +00:00
Tom Lane
f7c6a88c33 Simplify lexer's rules for string constants, eliminate potential buffer overrun. 1999-02-07 23:58:52 +00:00
Bruce Momjian
173c555948 Make functions static or ifdef NOT_USED. Prevent pg_version creation. 1998-10-08 18:30:52 +00:00
Bruce Momjian
af74855a60 Renaming cleanup, no pgindent yet. 1998-09-01 03:29:17 +00:00
Bruce Momjian
2618fcdf0d Fix scanner name length trimming. 1998-08-29 05:27:17 +00:00
Bruce Momjian
d15c37ca82 Truncate identifiers at NAMEDATALEN length. 1998-08-29 02:36:18 +00:00
Bruce Momjian
cb7cbc16fa Hi, here are the patches to enhance existing MB handling. This time
I have implemented a framework of encoding translation between the
backend and the frontend. Also I have added a new variable setting
command:

SET CLIENT_ENCODING TO 'encoding';

Other features include:
	Latin1 support more 8 bit cleaness

See doc/README.mb for more details. Note that the pacthes are
against May 30 snapshot.

Tatsuo Ishii
1998-06-16 07:29:54 +00:00
Thomas G. Lockhart
d4a95fd7ab Allow more variations on valid floating point numbers (e.g. ".1", "1e6").
Reintroduce fixes for unary minus parsing with leading spaces.
1998-05-09 23:15:20 +00:00
Thomas G. Lockhart
31b9e3fc68 Temporarily back out fixes for unary minus parsing.
Will re-introduce for v6.4 but requires fixes for automatic type
 conversion beforehand.
1998-04-08 06:35:02 +00:00
Thomas G. Lockhart
561aead3f1 Allow parsing expressions with ") -" (scan.l, scan.c only).
Make "TABLE" optional in "LOCK TABLE" command
 and "... INTO TABLE..." clause.
Explicitly parse CREATE SEQUENCE options to allow a negative integer
 as an argument; this is an artifact of unary minus handling in scan.l.
Add "PASSWORD" as an allowed column identifier.
These fixes will require a "make clean install" but not a dump/reload.
1998-03-18 16:50:25 +00:00
Thomas G. Lockhart
5ac4dcaa19 Fix parsing for <identifier>-<number> which was mis-identified as a unary
minus. Example is SELECT f1-2 FROM INT4_TBL;
1998-02-18 07:23:22 +00:00
Thomas G. Lockhart
5e9e8849c9 Automatically promote out of range integers to floats.
Throw elog(NOTICE) to flag promotion.
1998-02-11 03:56:08 +00:00
Bruce Momjian
deea69b90e Change some ABORTS to ERROR. Add line number when COPY Failure. 1998-01-05 16:40:20 +00:00
Bruce Momjian
0d9fc5afd6 Change elog(WARN) to elog(ERROR) and elog(ABORT). 1998-01-05 03:35:55 +00:00
Bruce Momjian
5a5cb30096 Fix tolower loops to go in proper direction for cache. 1997-12-05 01:13:24 +00:00
Thomas G. Lockhart
361f9e7f8d Add comments and move a few declaration blocks to help readability.
No functional changes this time!
1997-11-30 23:05:39 +00:00
Bruce Momjian
e9e1ff226f Remove all time travel stuff. Small parser cleanup. 1997-11-20 23:24:03 +00:00
Thomas G. Lockhart
3d4d1e14f8 Implement SQL92 binary and hexadecimal string decoding (b'10' and x'1F').
Check decoding of integer in x - y syntax (already done for most ints).
1997-11-17 16:31:39 +00:00
Thomas G. Lockhart
97d2b92384 Add flag to supress one compiler warning regarding unused "unput" function
in flex-specific code.
1997-11-14 15:43:27 +00:00
Thomas G. Lockhart
0a9be2db9b Add support for delimited identifiers. Include new exclusive state "xd".
Remove unused ScanString variable and code.
1997-10-30 16:36:39 +00:00
Bruce Momjian
80440a51fa Fix for international identifiers, from Tatsuo Ishii 1997-10-30 15:28:25 +00:00