aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* It has been tested only against CVS backend, however. Some checking of theBruce Momjian2003-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | changes to the SQL to retrieve attributes for older versions of Postgres is probably wise. Also, please make sure that I have mapped the storage types to the correct storage names, as this is relatively poorly documented. I think that this patch might need to be considered for back-porting to 7.3.3 since at the moment, people will be losing valuable information after upgrades. Will dump: CREATE TABLE test ( a text, b text, c text, d text ); ALTER TABLE ONLY test ALTER COLUMN a SET STATISTICS 55; ALTER TABLE ONLY test ALTER COLUMN a SET STORAGE PLAIN; ALTER TABLE ONLY test ALTER COLUMN b SET STATISTICS 1000; ALTER TABLE ONLY test ALTER COLUMN c SET STORAGE EXTERNAL; ALTER TABLE ONLY test ALTER COLUMN d SET STORAGE MAIN; Christopher Kings-Lynne
* PGRES_POLLING_ACTIVE is unused, keep for backward compatibility.Bruce Momjian2003-03-20
| | | | Lennert Buytenhek
* Attached is a patch that limits the range tested by horology toBruce Momjian2003-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | what is capable using integer-datatime timestamps. It does attempt to exercise the maximum allowable timestamp range. Also is a small error check when converting a timestamp from external to internal format that prevents out of range timestamps from being entered. Files patched: Index: src/backend/utils/adt/timestamp.c Added range check to prevent out of range timestamps from being used. Index: src/test/regress/sql/horology.sql Index: src/test/regress/expected/horology-no-DST-before-1970.out Index: src/test/regress/expected/horology-solaris-1947.out Limited range of timestamps being checked to Jan 1, 4713 BC to Dec 31, 294276 In creating this patch, I have seen some definite problems with integer timestamps and how they react when used near their limits. For example, the following statement gives the correct result: SELECT timestamp without time zone 'Jan 1, 4713 BC' + interval '109203489 days' AS "Dec 31, 294276"; However, this statement which is the logical inverse of the above gives incorrect results: SELECT timestamp without time zone '12/31/294276' - timestamp without time zone 'Jan 1, 4713 BC' AS "109203489 Days"; John Cochran
* Here's some changes I made last night to psql's common.c (as found inBruce Momjian2003-03-20
| | | | | | | | | 7.3.2). It removes some code duplication and #ifdeffing, and some unstructured ugliness such as tacky breaks and an unneeded continue. Breaks up a large function into smaller functions and reduces required nesting levels, and kills a variable or two. Jeroen T. Vermeulen
* Peter found bug in the to_char() routine for PL/MI options. ThisBruce Momjian2003-03-20
| | | | | | | | | | | | | | | | | | | patch fix it -- but this patch doesn't contains tests or docs fixes. I will send it later. Fixed outputs: select to_char(x, '9999.999') as x, to_char(x, 'S9999.999') as s, to_char(x, 'SG9999.999') as sg, to_char(x, 'MI9999.999') as mi, to_char(x, 'PL9999.999') as pl, to_char(x, 'PLMI9999.999') as plmi, to_char(x, '9999.999SG') as sg2, to_char(x, '9999.999PL') as pl2, to_char(x, '9999.999MI') as mi2 from num; Karel Zak
* > > - Move SEQ_MAXVALUE, SEQ_MINVALUE definitions to sequence.hBruce Momjian2003-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > > > > - Add check in pg_dump to see if the value returned is the max /min > > values and replace with NO MAXVALUE, NO MINVALUE. > > > > - Change START and INCREMENT to use START WITH and INCREMENT BY syntax. > > This makes it a touch easier to port to other databases with sequences > > (Oracle). PostgreSQL supports both syntaxes already. > > + char bufm[100], > + bufx[100]; > > This seems to be an arbitary size. Why not set it to the actual maximum > length? > > Also: > > + snprintf(bufm, 100, INT64_FORMAT, SEQ_MINVALUE); > + snprintf(bufx, 100, INT64_FORMAT, SEQ_MAXVALUE); > > sizeof(bufm), sizeof(bufx) is probably the more > maintenance-friendly/standard way to do it. I changed the code to use sizeof - but will wait for a response from Peter before changing the size. It's consistent throughout the sequence code to be 100 for this purpose. Rod Taylor <rbt@rbt.ca>
* "Information_schema" changesBruce Momjian2003-03-20
| | | | | | | | | - Add domain check constraints to "check_constraints" view - Create "domains" view - Create "domain_constraints" view -- Rod Taylor <rbt@rbt.ca>
* (Now featuring documentation: fixed some typos, expanded theBruce Momjian2003-03-20
| | | | | | | | | | | | | | | | Envrironment and Files section, explained exactly what -w does) This is a patch which allows pg_ctl to make an intelligent guess as to the proper port when running 'psql -l' to determine if the database has started up (the -w flag). The environment variable PGPORT is used. If that is not found, it checks if a specific port has been set inside the postgresql.conf file. If it is has not, it uses the port that Postgres was compiled with. Greg Sabino Mullane greg@turnstep.com
* This trivial cleans up a little bit of the code inBruce Momjian2003-03-20
| | | | | | | src/test/regress/regress.c (e.g. removing K & R style parameter declarations, improving sprintf() usage, etc.) Neil Conway
* > I can see a couple possible downsides: (a) the library might have someBruce Momjian2003-03-20
| | | | | | | | | | | | | | | | | | | | | | | > weird behavior across fork boundaries; (b) the additional memory space > that has to be duplicated into child processes will cost something per > child launch, even if the child never uses it. But these are only > arguments that it might not *always* be a prudent thing to do, not that > we shouldn't give the DBA the tool to do it if he wants. So fire away. Here is a patch for the above, including a documentation update. It creates a new GUC variable "preload_libraries", that accepts a list in the form: preload_libraries = '$libdir/mylib1:initfunc,$libdir/mylib2' If ":initfunc" is omitted or not found, no initialization function is executed, but the library is still preloaded. If "$libdir/mylib" isn't found, the postmaster refuses to start. In my testing with PL/R, it reduces the first call to a PL/R function (after connecting) from almost 2 seconds, down to about 8 ms. Joe Conway
* > Mph. It fails for me too when I use --enable-integer-datetimes. LooksBruce Momjian2003-03-20
| | | | | | | | | | | | | | | | | | | | | | | > like that patch still needs some work... Yeah. I'm really, really, *really* sorry for submitting it in the state it was in. I shouldn't have done that just before moving to another country. I found the problem last night, but couldn't get to a Net connection until now. The problem is in src/bin/psql/common.c, around line 250-335 somewhere depending on the version. The 2nd and 3rd clauses of the "while" loop condition: (rstatus == PGRES_COPY_IN) && (rstatus == PGRES_COPY_OUT)) should of course be: (rstatus != PGRES_COPY_IN) && (rstatus != PGRES_COPY_OUT)) Jeroen T. Vermeulen
* Add start time to pg_stat_activityBruce Momjian2003-03-20
| | | | Neil Conway
* This patch fixes a very small memory leak in psql, spotted withBruce Momjian2003-03-19
| | | | | | valgrind. Neil Conway
* Set up the privileges on the default schemas in initdb with real GRANTPeter Eisentraut2003-03-19
| | | | commands, to arrive at a valid and dumpable state.
* Avoid mysterious warning about possibly uninitialized variable.Peter Eisentraut2003-03-19
|
* Applied patch to work around server bug.Barry Lind2003-03-19
| | | | | Modified Files: jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java
* Reimplement create and drop scripts in C, to reduce repetitivePeter Eisentraut2003-03-18
| | | | | connections, increase robustness, add NLS, and prepare for Windows port. (vacuumdb and clusterdb will follow later.)
* Make the printing code somewhat more independent by not relying onPeter Eisentraut2003-03-18
| | | | | functions and global variables from the rest of psql. Also clean up some data type mismatches created by the last pager patch.
* Improve error message.Peter Eisentraut2003-03-18
|
* Fix off-by-one error in the maxlen parameter handling.Peter Eisentraut2003-03-18
|
* Compiling anything that uses InvalidOid under g++ yields a warning aboutBruce Momjian2003-03-18
| | | | | | | the expression using an "old-style cast." Therefore, would it be okay to patch postgres_ext.h as follows: Jeroen T. Vermeulen
* Some bugfixes for numerical library.Michael Meskes2003-03-18
|
* Applied updated translation patchBarry Lind2003-03-18
| | | | | Modified Files: errors_zh_TW.properties
* Reorder crypt.h include for SunOS compile problem.Bruce Momjian2003-03-17
| | | | Fred Houweling
* Forgot some files...Michael Meskes2003-03-16
|
* Started working on a seperate pgtypes library. First test work. PLEASE test ↵Michael Meskes2003-03-16
| | | | compilation on iother systems.
* Arrange to print the relevant key values when reporting a foreign-keyTom Lane2003-03-15
| | | | | violation. Also, factor out some duplicate code in the RI triggers. Patch by Dmitry Tkach, reviewed by Stephan Szabo and Tom Lane.
* A typo in src/backend/libpq/hba.c breaks local ident authenticationBruce Momjian2003-03-15
| | | | | | | in the SO_PEERCRED case. elif is misspelled as elsif for the test. A patch is attached. Bruno Wolff III
* pg_dumpall failed on groups having no members. Per report fromTom Lane2003-03-14
| | | | Nick Eskelinen.
* Remove unneeded dash blocks around function start comments.Bruce Momjian2003-03-14
|
* Fixed parsing to handle \n for updateable result sets. Bug reported by Rich ↵Barry Lind2003-03-14
| | | | | | | Cullingford. Modified Files: jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java
* Repair incorrect prorettype entry for timestamptz_izone. Can't forceTom Lane2003-03-14
| | | | | initdb in the 7.3 branch, but we can at least make it right for people who install 7.3.3 from scratch.
* Improved error message and added some log messages in batch update functionalityBarry Lind2003-03-14
| | | | | | | Modified Files: jdbc/org/postgresql/errors.properties jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java jdbc/org/postgresql/util/PSQLException.java
* Make eval_const_expressions simplify FieldSelect from a whole-row VarTom Lane2003-03-14
| | | | into an ordinary one-field Var. Per example from Chris Mungall.
* Prevent infinite loop in ln_var() due to roundoff error.Tom Lane2003-03-14
| | | | Per report from Dave Marin.
* GROUP BY got confused if there were multiple equal() GROUP BY items.Tom Lane2003-03-13
| | | | | | This bug has been latent since 7.0 or maybe even further back, but it was only exposed when parse_clause.c stopped suppressing duplicate items (see its rev 1.96 of 18-Aug-02).
* Add explicit tests for division by zero to all user-accessible integerTom Lane2003-03-11
| | | | | | | | division and modulo functions, to avoid problems on OS X (which fails to trap 0 divide at all) and Windows (which traps it in some bizarre nonstandard fashion). Standardize on 'division by zero' as the one true spelling of this error message. Add regression tests as suggested by Neil Conway.
* Implement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n optionsTom Lane2003-03-11
| | | | for FETCH and MOVE.
* This patch fixes a bunch of spelling mistakes in comments throughout theTom Lane2003-03-10
| | | | | | PostgreSQL source code. Neil Conway
* Cleanup up psql \connect and \pset pager setting display, DennisBruce Momjian2003-03-10
| | | | Bj?rklund.
* Restructure parsetree representation of DECLARE CURSOR: now it's aTom Lane2003-03-10
| | | | | | | | | | | | utility statement (DeclareCursorStmt) with a SELECT query dangling from it, rather than a SELECT query with a few unusual fields in it. Add code to determine whether a planned query can safely be run backwards. If DECLARE CURSOR specifies SCROLL, ensure that the plan can be run backwards by adding a Materialize plan node if it can't. Without SCROLL, you get an error if you try to fetch backwards from a cursor that can't handle it. (There is still some discussion about what the exact behavior should be, but this is necessary infrastructure in any case.) Along the way, make EXPLAIN DECLARE CURSOR work.
* pg_restore failed to restore blobs if -X disable-triggers is specified.Tom Lane2003-03-09
|
* tuplestore_donestoring() isn't needed anymore, but provide a no-opTom Lane2003-03-09
| | | | macro definition so as not to create compatibility problems.
* Revise tuplestore and nodeMaterial so that we don't have to read theTom Lane2003-03-09
| | | | | | | | | | entire contents of the subplan into the tuplestore before we can return any tuples. Instead, the tuplestore holds what we've already read, and we fetch additional rows from the subplan as needed. Random access to the previously-read rows works with the tuplestore, and doesn't affect the state of the partially-read subplan. This is a step towards fixing the problems with cursors over complex queries --- we don't want to stick in Materialize nodes if they'll prevent quick startup for a cursor.
* Applied patch from Paul Sorenson to correctly handle schema names in ↵Barry Lind2003-03-08
| | | | | | | | | | | | | updateable result sets. Applied patch from Rich Cullingford to fix a NPE in the absolute() method of result set. Applied patch from Tarjei Skorgenes to fix a NPE when logging is enabled. Modified Files: jdbc/org/postgresql/core/BaseResultSet.java jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java jdbc/org/postgresql/jdbc2/Array.java jdbc/org/postgresql/util/PSQLException.java
* Cleanup and reorganization.Barry Lind2003-03-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added a private api layer (org.postgresql.core.Base*) - Cleaned up public api (org.postgresql.PG*) - Added consistent headers and copywrite info - Removed deprecated Serialize functionality - Cleaned up imports - Moved some files to more appropriate locations Modified Files: jdbc/org/postgresql/Driver.java.in jdbc/org/postgresql/PGConnection.java jdbc/org/postgresql/PGNotification.java jdbc/org/postgresql/PGStatement.java jdbc/org/postgresql/core/Encoding.java jdbc/org/postgresql/core/Notification.java jdbc/org/postgresql/core/QueryExecutor.java jdbc/org/postgresql/core/StartupPacket.java jdbc/org/postgresql/fastpath/Fastpath.java jdbc/org/postgresql/fastpath/FastpathArg.java jdbc/org/postgresql/geometric/PGbox.java jdbc/org/postgresql/geometric/PGcircle.java jdbc/org/postgresql/geometric/PGline.java jdbc/org/postgresql/geometric/PGlseg.java jdbc/org/postgresql/geometric/PGpath.java jdbc/org/postgresql/geometric/PGpoint.java jdbc/org/postgresql/geometric/PGpolygon.java jdbc/org/postgresql/jdbc1/AbstractJdbc1Connection.java jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSetMetaData.java jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java jdbc/org/postgresql/jdbc1/Jdbc1CallableStatement.java jdbc/org/postgresql/jdbc1/Jdbc1Connection.java jdbc/org/postgresql/jdbc1/Jdbc1DatabaseMetaData.java jdbc/org/postgresql/jdbc1/Jdbc1PreparedStatement.java jdbc/org/postgresql/jdbc1/Jdbc1ResultSet.java jdbc/org/postgresql/jdbc1/Jdbc1ResultSetMetaData.java jdbc/org/postgresql/jdbc1/Jdbc1Statement.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Blob.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Clob.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Connection.java jdbc/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java jdbc/org/postgresql/jdbc2/Array.java jdbc/org/postgresql/jdbc2/Jdbc2CallableStatement.java jdbc/org/postgresql/jdbc2/Jdbc2Connection.java jdbc/org/postgresql/jdbc2/Jdbc2PreparedStatement.java jdbc/org/postgresql/jdbc2/Jdbc2ResultSet.java jdbc/org/postgresql/jdbc2/Jdbc2ResultSetMetaData.java jdbc/org/postgresql/jdbc2/Jdbc2Statement.java jdbc/org/postgresql/jdbc3/AbstractJdbc3ResultSet.java jdbc/org/postgresql/jdbc3/Jdbc3CallableStatement.java jdbc/org/postgresql/jdbc3/Jdbc3Connection.java jdbc/org/postgresql/jdbc3/Jdbc3PreparedStatement.java jdbc/org/postgresql/jdbc3/Jdbc3ResultSet.java jdbc/org/postgresql/jdbc3/Jdbc3ResultSetMetaData.java jdbc/org/postgresql/jdbc3/Jdbc3Statement.java jdbc/org/postgresql/largeobject/BlobInputStream.java jdbc/org/postgresql/largeobject/BlobOutputStream.java jdbc/org/postgresql/largeobject/LargeObject.java jdbc/org/postgresql/largeobject/LargeObjectManager.java jdbc/org/postgresql/test/jdbc2/Jdbc2TestSuite.java jdbc/org/postgresql/test/jdbc2/optional/BaseDataSourceTest.java jdbc/org/postgresql/util/MD5Digest.java jdbc/org/postgresql/util/MessageTranslator.java jdbc/org/postgresql/util/PGbytea.java jdbc/org/postgresql/util/PGmoney.java jdbc/org/postgresql/util/PGobject.java jdbc/org/postgresql/util/PGtokenizer.java jdbc/org/postgresql/util/PSQLException.java jdbc/org/postgresql/util/UnixCrypt.java Added Files: jdbc/org/postgresql/core/BaseConnection.java jdbc/org/postgresql/core/BaseResultSet.java jdbc/org/postgresql/core/BaseStatement.java jdbc/org/postgresql/core/Field.java jdbc/org/postgresql/core/PGStream.java Removed Files: jdbc/org/postgresql/Field.java jdbc/org/postgresql/PG_Stream.java jdbc/org/postgresql/test/jdbc2/SerializeObject.java jdbc/org/postgresql/test/jdbc2/SerializeTest.java jdbc/org/postgresql/util/Serialize.java
* Tweak dependency code to suppress NOTICEs generated by new method forTom Lane2003-03-06
| | | | | | cleaning out temp namespaces. We don't really want the server log to be cluttered with 'Drop cascades to table foo' every time someone uses a temp table...
* Add missing --globals-only (long form of -g).Tom Lane2003-03-06
|
* Use poll(2) in preference to select(2), if available. This solvesTom Lane2003-03-06
| | | | | | problems in applications that may have a large number of files open, such that libpq's socket number exceeds the range supported by fd_set. From Chris Brown.
* Add code to dump contents of free space map into $PGDATA/global/pg_fsm.cacheTom Lane2003-03-06
| | | | | | at database shutdown, and then load it again at database startup. This preserves our hard-won knowledge of free space across restarts (given an orderly shutdown, that is).