summaryrefslogtreecommitdiff
path: root/src/backend/access/Makefile
AgeCommit message (Collapse)Author
6 daysSplit some long Makefile listsMichael Paquier
This change makes more readable code diffs when adding new items or removing old items, while ensuring that lines do not get excessively long. Some SUBDIRS, PROGRAMS and REGRESS lists are split. Note that there are a few more REGRESS lists that could be split, particularly in contrib/. Author: Jelte Fennema-Nio <postgres@jeltef.nl> Co-Authored-By: Jacob Champion <jacob.champion@enterprisedb.com> Reviewed-by: Chao Li <li.evan.chao@gmail.com> Reviewed-by: Japin Li <japinli@hotmail.com> Reviewed-by: Man Zeng <zengman@halodbtech.com> Discussion: https://postgr.es/m/DF6HDGB559U5.3MPRFCWPONEAE@jeltef.nl
2024-02-26Introduce sequence_*() access functionsMichael Paquier
Similarly to tables and indexes, these functions are able to open relations with a sequence relkind, which is useful to make a distinction with the other relation kinds. Previously, commands/sequence.c used a mix of table_{close,open}() and relation_{close,open}() routines when manipulating sequence relations, so this clarifies the code. A direct effect of this change is to align the error messages produced when attempting DDLs for sequences on relations with an unexpected relkind, like a table or an index with ALTER SEQUENCE, providing an extra error detail about the relkind of the relation used in the DDL query. Author: Michael Paquier Reviewed-by: Tomas Vondra Discussion: https://postgr.es/m/ZWlohtKAs0uVVpZ3@paquier.xyz
2019-01-21Introduce access/{table.h, relation.h}, for generic functions from heapam.h.Andres Freund
access/heapam contains functions that are very storage specific (say heap_insert() and a lot of lower level functions), and fairly generic infrastructure like relation_open(), heap_open() etc. In the upcoming pluggable storage work we're introducing a layer between table accesses in general and heapam, to allow for different storage methods. For a bit cleaner separation it thus seems advantageous to move generic functions like the aforementioned to their own headers. access/relation.h will contain relation_open() etc, and access/table.h will contain table_open() (formerly known as heap_open()). I've decided for table.h not to include relation.h, but we might change that at a later stage. relation.h already exists in another directory, but the other plausible name (rel.h) also conflicts. It'd be nice if there were a non-conflicting name, but nobody came up with a suggestion. It's possible that the appropriate way to address the naming conflict would be to rename nodes/relation.h, which isn't particularly well named. To avoid breaking a lot of extensions that just use heap_open() etc, table.h has macros mapping the old names to the new ones, and heapam.h includes relation, table.h. That also allows to keep the bulk renaming of existing callers in a separate commit. Author: Andres Freund Discussion: https://postgr.es/m/20190111000539.xbv7s6w7ilcvm7dp@alap3.anarazel.de
2015-05-15TABLESAMPLE, SQL Standard and extensibleSimon Riggs
Add a TABLESAMPLE clause to SELECT statements that allows user to specify random BERNOULLI sampling or block level SYSTEM sampling. Implementation allows for extensible sampling functions to be written, using a standard API. Basic version follows SQLStandard exactly. Usable concrete use cases for the sampling API follow in later commits. Petr Jelinek Reviewed by Michael Paquier and Simon Riggs
2014-11-07BRIN: Block Range IndexesAlvaro Herrera
BRIN is a new index access method intended to accelerate scans of very large tables, without the maintenance overhead of btrees or other traditional indexes. They work by maintaining "summary" data about block ranges. Bitmap index scans work by reading each summary tuple and comparing them with the query quals; all pages in the range are returned in a lossy TID bitmap if the quals are consistent with the values in the summary tuple, otherwise not. Normal index scans are not supported because these indexes do not store TIDs. As new tuples are added into the index, the summary information is updated (if the block range in which the tuple is added is already summarized) or not; in the latter case, a subsequent pass of VACUUM or the brin_summarize_new_values() function will create the summary information. For data types with natural 1-D sort orders, the summary info consists of the maximum and the minimum values of each indexed column within each page range. This type of operator class we call "Minmax", and we supply a bunch of them for most data types with B-tree opclasses. Since the BRIN code is generalized, other approaches are possible for things such as arrays, geometric types, ranges, etc; even for things such as enum types we could do something different than minmax with better results. In this commit I only include minmax. Catalog version bumped due to new builtin catalog entries. There's more that could be done here, but this is a good step forwards. Loosely based on ideas from Simon Riggs; code mostly by Álvaro Herrera, with contribution by Heikki Linnakangas. Patch reviewed by: Amit Kapila, Heikki Linnakangas, Robert Haas. Testing help from Jeff Janes, Erik Rijkers, Emanuel Calvo. PS: The research leading to these results has received funding from the European Union's Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 318633.
2012-11-28Split out rmgr rm_desc functions into their own filesAlvaro Herrera
This is necessary (but not sufficient) to have them compilable outside of a backend environment.
2011-12-17Add SP-GiST (space-partitioned GiST) index access method.Tom Lane
SP-GiST is comparable to GiST in flexibility, but supports non-balanced partitioned search structures rather than balanced trees. As described at PGCon 2011, this new indexing structure can beat GiST in both index build time and query speed for search problems that it is well matched to. There are a number of areas that could still use improvement, but at this point the code seems committable. Teodor Sigaev and Oleg Bartunov, with considerable revisions by Tom Lane
2010-09-20Remove cvs keywords from all files.Magnus Hagander
2008-02-19Refactor backend makefiles to remove lots of duplicate codePeter Eisentraut
2007-02-09Replace useless uses of := by = in makefiles.Peter Eisentraut
2007-01-20Remove remains of old depend target.Peter Eisentraut
2006-05-02GIN: Generalized Inverted iNdex.Teodor Sigaev
text[], int4[], Tsearch2 support for GIN.
2005-11-07R-tree is dead ... long live GiST.Tom Lane
2003-11-29$Header: -> $PostgreSQL Changes ...PostgreSQL Daemon
2002-08-10Fix failure to relink postmaster executable in the first make run if only aPeter Eisentraut
single source file a few directories deep in the backend tree has changed.
2000-08-31Fix relative path references so that make knowns which dependencies referPeter Eisentraut
to one another. Sort out builddir vs srcdir variable namings. Remove some now obsoleted make variables.
2000-07-13Repair parallel make in backend tree (and make it really parallel).Peter Eisentraut
Make Gen_fmgrtab.sh reasonably robust against concurrent invocation.
1999-12-13New LDOUT makefile variable for QNX os.Bruce Momjian
1999-12-09Make LD -r as macros that can be changed for QNX.Bruce Momjian
1997-06-11From: Robert Bruccoleri <bruc@bms.com>Marc G. Fournier
Subject: [PORTS] Patches for Irix 6.4 I have worked out how to compile PostgreSQL on Irix 6.4 using the -n32 compiler mode and version 7.1 of the C compiler. (The n32 compiler use 32 bits addressing, but allows access to all the instructions in the MIPS4 instruction set.) There were several problems: 1) The ld command is not referenced as a macro in all the Makefiles. On this platform, you have to include -n32 on all the ld commands. Makefiles were changed as needed. 3) Lots of warnings are generated from the compiler. Since the regression tests worked OK, I didn't attempt to fix them. If anyone wants the compilation log, please let me know, and I'll email it to you. The version of postgresql was 970602. Here is Makefile.custom: CUSTOM_COPT = -O2 -n32 MK_NO_LORDER = 1 LD = ld -n32 CC += -n32
1996-11-10Recognize dependencies more reliably.Bryan Henderson
1996-10-27Simplify make files, add full dependencies.Bryan Henderson