summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2001-06-12Back out has_table_privilege patch.Bruce Momjian
2001-06-12OK -- here's take #5.Bruce Momjian
It "make"s and "make check"s clean against current cvs tip. There are now both Text and Name variants, and the regression test support is rolled into the patch. Note that to be complete wrt Name based variants, there are now 12 user visible versions of has_table_privilege: has_table_privilege(Text usename, Text relname, Text priv_type) has_table_privilege(Text usename, Name relname, Text priv_type) has_table_privilege(Name usename, Text relname, Text priv_type) has_table_privilege(Name usename, Name relname, Text priv_type) has_table_privilege(Text relname, Text priv_type) /* assumes current_user */ has_table_privilege(Name relname, Text priv_type) /* assumes current_user */ has_table_privilege(Text usename, Oid reloid, Text priv_type) has_table_privilege(Name usename, Oid reloid, Text priv_type) has_table_privilege(Oid reloid, Text priv_type) /* assumes current_user */ has_table_privilege(Oid usesysid, Text relname, Text priv_type) has_table_privilege(Oid usesysid, Name relname, Text priv_type) has_table_privilege(Oid usesysid, Oid reloid, Text priv_type) For the Text based inputs, a new internal function, get_Name is used (shamelessly copied from get_seq_name in sequence.c) to downcase if not quoted, or remove quotes if quoted, and truncate. I also added a few test cases for the downcasing, quote removal, and Name based variants to the regression test. Joe Conway
2001-06-12I installed postgres 7.1 with --enable-odbc. I then installedBruce Momjian
tclodbc (http://sourceforge.net/projects/tclodbc) and libiodbc-2.50.3 (http://www.iodbc.org/dist/libiodbc-2.50.3.tar.gz). I could not get either to work... postgres would not find the global odbcinst.ini file. I traced this to src/interfaces/odbc/gpps.c -- here are the many things I think are wrong: Run tclodbc and do a ``database db <DSNname>'' where ``DSNname'' is one of the DSN's in /usr/local/etc/odbcinst.ini (or wherever the global ini file is installed.) The result is always the error message that ``one of server,port,database,etc. are missing''. Run libiodbc-2.50.3/samples/odbctest <DSNname>. The command fails to connect to the database and just exits. Dave Bodenstab
2001-06-12Clean up various to-do items associated with system indexes:Tom Lane
pg_database now has unique indexes on oid and on datname. pg_shadow now has unique indexes on usename and on usesysid. pg_am now has unique index on oid. pg_opclass now has unique index on oid. pg_amproc now has unique index on amid+amopclaid+amprocnum. Remove pg_rewrite's unnecessary index on oid, delete unused RULEOID syscache. Remove index on pg_listener and associated syscache for performance reasons (caching rows that are certain to change before you need 'em again is rather pointless). Change pg_attrdef's nonunique index on adrelid into a unique index on adrelid+adnum. Fix various incorrect settings of pg_class.relisshared, make that the primary reference point for whether a relation is shared or not. IsSharedSystemRelationName() is now only consulted to initialize relisshared during initial creation of tables and indexes. In theory we might now support shared user relations, though it's not clear how one would get entries for them into pg_class &etc of multiple databases. Fix recently reported bug that pg_attribute rows created for an index all have the same OID. (Proof that non-unique OID doesn't matter unless it's actually used to do lookups ;-)) There's no need to treat pg_trigger, pg_attrdef, pg_relcheck as bootstrap relations. Convert them into plain system catalogs without hardwired entries in pg_class and friends. Unify global.bki and template1.bki into a single init script postgres.bki, since the alleged distinction between them was misleading and pointless. Not to mention that it didn't work for setting up indexes on shared system relations. Rationalize locking of pg_shadow, pg_group, pg_attrdef (no need to use AccessExclusiveLock where ExclusiveLock or even RowExclusiveLock will do). Also, hold locks until transaction commit where necessary.
2001-06-11The attached patch enables PostgreSQL CVS to build cleanly under CygwinBruce Momjian
when built against readline 4.2. Specifically, it handles the deprecation of filename_completion_function() with preference for rl_filename_completion_function() Although, I was motivated by Cygwin support, IMO this patch is appropriate for all platforms. To quote from the readline source: #if 0 /* Backwards compatibility (compat.c). These will go away sometime. */ ... extern READLINE_EXPORT(char, *filename_completion_function) ... #endif Note that this patch is modeled after the one by Peter Eisentraut for completion_matches(): http://www.ca.postgresql.org/~petere/readline42.html I tested this patch under the following environments: Cygwin with readline 4.1 Cygwin with readline 4.2 Linux with readline 2.2.1 Linux with readline 4.2 and it behaved as expected. Jason Tishler
2001-06-11 Got two patches that were found by folks on the Castor list, that we'd like toBruce Momjian
submit. These were done for the jdbc2 driver. The first one is for support of the Types.BIT in the PreparedStatement class. The following lines need to be inserted in the switch statment, at around line 530: (Prepared statment, line 554, before the default: switch case Types.BIT: if (x instanceof Boolean) { set(parameterIndex, ((Boolean)x).booleanValue() ? "TRUE" : "FALSE"); } else { throw new PSQLException("postgresql.prep.type"); } break; The second one is dealing with blobs, inserted in PreparedStatemant.java (After previous patch line, 558): case Types.BINARY: case Types.VARBINARY: setObject(parameterIndex,x); break; and in ResultSet.java (Around line 857): case Types.BINARY: case Types.VARBINARY: return getBytes(columnIndex); Ned Wolpert <ned.wolpert@knowledgenet.com>
2001-06-11Add French psql translation. (My rendition of French anyway...)Peter Eisentraut
Fix typo in message.
2001-06-11Nest macros with slightly less enthusiasm, for performance and to avoidTom Lane
having non-gcc compilers spit up.
2001-06-11Move temporary files into 'pg_tempfiles' subdirectory of each databaseTom Lane
directory (which can be made a symlink to put temp files on another disk). Add code to delete leftover temp files during postmaster startup. Bruce, with some kibitzing from Tom.
2001-06-11Make planner compute the number of hash buckets the same way thatTom Lane
nodeHash.c will compute it (by sharing code).
2001-06-10Mark inet,cidr,macaddr '=' operators as mergejoinable.Tom Lane
2001-06-10Fix thinko in hash cost estimation: average frequencyTom Lane
should be computed from total number of distinct values in whole relation, not # distinct values we expect to have after restriction clauses are applied.
2001-06-09Allow GRANT/REVOKE to/from more than one user per invocation. Command tagPeter Eisentraut
for GRANT/REVOKE is now just that, not "CHANGE". On the way, migrate some of the aclitem internal representation away from the parser and build a real parse tree instead. Also add some 'const' qualifiers.
2001-06-09Teach convert_to_scalar about datatypes timetz, inet, cidr, macaddr.Tom Lane
2001-06-09Add #define for OID of type macaddr.Tom Lane
2001-06-09Remove RelationGetBufferWithBuffer(), which is horribly confused aboutTom Lane
appropriate pin-count manipulation, and instead use ReleaseAndReadBuffer. Make use of the fact that the passed-in buffer (if there is one) must be pinned to avoid grabbing the bufmgr spinlock when we are able to return this same buffer. Eliminate unnecessary 'previous tuple' and 'next tuple' fields of HeapScanDesc and IndexScanDesc, thereby removing a whole lot of bookkeeping from heap_getnext() and related routines.
2001-06-09Fix a few missed NOIND usages.Tom Lane
2001-06-08Finish German translation, edit (original) messages a bit.Peter Eisentraut
2001-06-08Preliminary code cleanup in elog(). Split out some code into utilityPeter Eisentraut
functions, remove indent support, make sure all strings are marked translatable.
2001-06-07Document and work around ANT bug that prevents directory deletion.Bruce Momjian
2001-06-07reset all: command line and .conf options change defaultsBruce Momjian
on RESET ALL those are restored. show all: GUC + non-GUC. SHOW ALL, RESET ALL Marko Kreen
2001-06-07I have ported another Python Postgres interface to Windows (PgSQL). It seemsBruce Momjian
that not many people actually use libpq on Win32; I have found another bug. Some functions that are defined in libpq-fe.h aren't exported in the DLL version of the library. I have added them to src/interfaces/libpq/libpqdll.def. The new complete file is attached. Gerhard H?ring
2001-06-07This adds unary plus capability. No grammar changes, per Tom's request.Bruce Momjian
Marko Kreen
2001-06-06get_seq_name should truncate name to NAMEDATALEN, so that this works:Tom Lane
create sequence a1234567890123456789012345678901234567890; select nextval('a1234567890123456789012345678901234567890');
2001-06-06Be a little smarter about deciding how many most-common values to save.Tom Lane
2001-06-06Add large object finalization cleanup to the proper java file.Bruce Momjian
2001-06-06Remove large object finalize code. Compile error.Bruce Momjian
2001-06-06pgindent fix for asterisk indented too much in return type, for Tom.Bruce Momjian
2001-06-06Patch from Ian Lance Taylor fixing multiple cursor argumentsJan Wieck
and buffer zero termination. Jan
2001-06-06Adjust WAL code so that checkpoints truncate the xlog at the previousTom Lane
checkpoint's redo pointer, not its undo pointer, per discussion in pghackers a few days ago. No point in hanging onto undo information until we have the ability to do something with it --- and this solves a rather large problem with log space for long-running transactions. Also, change all calls of write() to detect the case where write returned a count less than requested, but failed to set errno. Presume that this situation indicates ENOSPC, and give the appropriate error message, rather than a random message associated with the previous value of errno.
2001-06-05Correct permissions-checking bugs associated with ancient decision toTom Lane
copy PUBLIC access rights into each newly created ACL entry. Instead treat each ACL entry as independent flags. Also clean up some ugliness in acl.h API.
2001-06-05Improve planning of OR indexscan plans: for quals likeTom Lane
WHERE (a = 1 or a = 2) and b = 42 and an index on (a,b), include the clause b = 42 in the indexquals generated for each arm of the OR clause. Essentially this is an index- driven conversion from CNF to DNF. Implementation is a bit klugy, but better than not exploiting the extra quals at all ...
2001-06-05Further work on making use of new statistics in planner. Adjust APIsTom Lane
of costsize.c routines to pass Query root, so that costsize can figure more things out by itself and not be so dependent on its callers to tell it everything it needs to know. Use selectivity of hash or merge clause to estimate number of tuples processed internally in these joins (this is more useful than it would've been before, since eqjoinsel is somewhat more accurate than before).
2001-06-04This patch adds support for %TYPE in CREATE FUNCTION argument and returnBruce Momjian
types. This version has an elog() to remind the user the type resolution is not dynamic. Ian Lance Taylor
2001-06-04protected void finalize() {Bruce Momjian
close(); } in LargeObject.java so that the db resources are released when it is garbage collected or am I missing something? Philip Crotwell
2001-06-04Give error message, rather than coredump, for utility statements inTom Lane
conditional rules (rules with WHERE clauses). We cannot support these since there's noplace to hang a condition on a utility statement. We caught the other case (attempt to attach a condition at rewrite time) awhile ago, but this one escaped notice until now.
2001-06-03Mark many strings in backend not covered by elog for translation. Also,Peter Eisentraut
make strings in xlog.c look more like English and less like binary noise.
2001-06-02Accept and output '-Infinity' as well as 'Infinity', per long-agoTom Lane
suggestion from Ross Reedstrom. Still needs work to make those symbols convert to actual IEEE infinities (on machines where such things exist).
2001-06-02Tweak sorting so that nulls appear at the front of a descending sortTom Lane
(vs. at the end of a normal sort). This ensures that explicit sorts yield the same ordering as a btree index scan. To be really sure that that equivalence holds, we use the btree entries in pg_amop to decide whether we are looking at a '<' or '>' operator. For a sort operator that has no btree association, we put the nulls at the front if the operator is named '>' ... pretty grotty, but it does the right thing in simple ASC and DESC cases, and at least there's no possibility of getting a different answer depending on the plan type chosen.
2001-06-02Native Language Support (NLS)Peter Eisentraut
Use --enable-nls to turn it on; see installation instructions for details. See developer's guide how to make use of it in programs and how to add translations. psql sources have been almost fully prepared and an incomplete German translation has been provided. In the backend, only elog() calls are currently translatable, and the provided German translation file is more of a placeholder.
2001-06-02Paranoia about unordered comparisons in IEEE float math. If we areTom Lane
given values that compare as unordered, make sure we reply that they are equal, which is better than giving an arbitrary answer --- at least it doesn't depend on which one is passed as which arg.
2001-06-02dllist.c is included in the frontend libpq interface via symlink.Jan Wieck
There is no elog() available. Used fprintf(stderr, ...) and exit instead. Jan
2001-06-01The following patch for JDBC fixes an issue with jdbc running on aBruce Momjian
non-multibyte database loosing 8bit characters. This patch will cause the jdbc driver to ignore the encoding reported by the database when multibyte isn't enabled and use the JVM default in that case. Barry Lind
2001-06-01Check for malloc failure.Tom Lane
2001-06-01Guard against malloc failure. Also, don't examine segP->lastBackendTom Lane
until we hold the spinlock.
2001-06-01Check for malloc failure.Tom Lane
2001-06-01If spi.c wants to use malloc, it better test for malloc failure.Tom Lane
2001-06-01pltcl, plperl, and plpython all suffer the same bug previously fixedTom Lane
in plpgsql: they fail for datatypes that have old-style I/O functions due to caching FmgrInfo structs with wrong fn_mcxt lifetime. Although the plpython fix seems straightforward, I can't check it here since I don't have Python installed --- would someone check it?
2001-06-01New improved version of bpcharin() may have got the truncation caseTom Lane
right, but it failed to get the padding case right. This was obscured by subsequent application of bpchar() in all but one regression test case, and that one didn't fail in an obvious way --- trailing blanks are hard to see. Add another test case to make it more obvious if it breaks again.
2001-06-01Fix for:Bruce Momjian
> Example form two pg_dump outputs > 7.1.2 : > COPY "list" FROM stdin; > 7.0.2 : > COPY "list" FROM stdin;