mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Reorganize developers files.
This commit is contained in:
47
src/tools/BACKEND_DIRS
Normal file
47
src/tools/BACKEND_DIRS
Normal file
@@ -0,0 +1,47 @@
|
||||
access various index access methods
|
||||
access/common common access routines
|
||||
access/gist easy-to-define access method system
|
||||
access/hash hash
|
||||
access/heap heap
|
||||
access/index index handling
|
||||
access/nbtree btree
|
||||
access/rtree rtree
|
||||
access/transam transaction manager (BEGIN/ABORT/COMMIT)
|
||||
bootstrap handles initdb requests to create initial template database
|
||||
catalog system catalog manipulation
|
||||
commands commands that do not require executor
|
||||
executor executes complex node plans from optimizer
|
||||
include include files
|
||||
lib support library
|
||||
libpq communication to client libpq library routines
|
||||
main passes control to postmaster or postgres
|
||||
nodes creation/manipulation of nodes
|
||||
optimizer creates path and plan
|
||||
optimizer/path creates path from parser output
|
||||
optimizer/plan optmizes path output
|
||||
optimizer/prep handle special plan cases
|
||||
optimizer/util optimizer support routines
|
||||
parser converts SQL query to query tree
|
||||
postmaster controls postgres server startup/termination
|
||||
regex regular expression library
|
||||
rewrite rules system
|
||||
storage manages various storage systems
|
||||
storage/buffer shared buffer pool manager
|
||||
storage/file file manager
|
||||
storage/ipc semaphores and shared memory
|
||||
storage/large_object large objects
|
||||
storage/lmgr lock manager
|
||||
storage/page page manager
|
||||
storage/smgr storage(disk) manager
|
||||
tcop traffic cop, dispatches request to proper module
|
||||
tioga array handling?
|
||||
utils support routines
|
||||
utils/adt built-in data type routines
|
||||
utils/cache system/relation/function cache routines
|
||||
utils/error error reporting routines
|
||||
utils/fmgr function manager
|
||||
utils/hash hash routines for internal algorithms
|
||||
utils/init initialization stuff
|
||||
utils/mmgr memory manager(process-local memory)
|
||||
utils/sort sort routines for internal algorithms
|
||||
utils/time transaction time qualification routines
|
43
src/tools/find_static
Executable file
43
src/tools/find_static
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/bin/sh
|
||||
trap "rm -f /tmp/$$" 0 1 2 3 15
|
||||
|
||||
# This script finds functions that are either never called, or
|
||||
# should be static.
|
||||
# Some functions, like library functions and debug_print functions,
|
||||
# should remain unchanged.
|
||||
|
||||
# Run on a compiled source tree, from the top of the source tree
|
||||
|
||||
# My nm utility has 9 characters of address which I strip, then a 'type'
|
||||
# character, with T as a text function, and U as an undefined function
|
||||
# symbol, then the function name.
|
||||
|
||||
find . -name '[a-z]*.o' -type f -print | while read FILE
|
||||
do
|
||||
nm $FILE | cut -c10-100 |awk '{printf "%s\t%s\t%s\n", "'"$FILE"'",$1,$2}'
|
||||
done >/tmp/$$
|
||||
destroydb debug
|
||||
createdb debug
|
||||
echo "
|
||||
create table debug (file text, scope char, func text);
|
||||
|
||||
copy debug from '/tmp/"$$"';
|
||||
|
||||
select *
|
||||
into table debug2
|
||||
from debug;
|
||||
|
||||
update debug2
|
||||
set scope = '_'
|
||||
from debug
|
||||
where debug2.func = debug.func and
|
||||
debug2.scope = 'T' and debug.scope = 'U';
|
||||
|
||||
delete from debug2
|
||||
where scope = '_';
|
||||
|
||||
select *
|
||||
from debug2
|
||||
where scope = 'T';
|
||||
" |psql debug
|
||||
|
27
src/tools/find_typedef
Executable file
27
src/tools/find_typedef
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
# This script attempts to find all typedef's in the postgres binaries
|
||||
# by using 'nm' to report all typedef debugging symbols.
|
||||
#
|
||||
# For this program to work, you must have compiled all binaries with
|
||||
# debugging symbols.
|
||||
#
|
||||
# This is run on BSD/OS 3.0, so you may need to make changes for your
|
||||
# version of nm.
|
||||
#
|
||||
# Ignore the nm errors about a file not being a binary file.
|
||||
#
|
||||
# Remember, debugging symbols are your friends.
|
||||
#
|
||||
|
||||
if [ "$#" -ne 1 -o ! -d "$1" ]
|
||||
then echo "Usage: $0 postgres_binary_directory" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
nm -a "$1"/* |
|
||||
grep LSYM |
|
||||
grep ':t' |
|
||||
sed 's/^.*LSYM \([^:]*\):.*$/\1/' |
|
||||
grep -v ' ' | # some typedefs have spaces, revove them
|
||||
sort |
|
||||
uniq
|
35
src/tools/make_diff/README
Normal file
35
src/tools/make_diff/README
Normal file
@@ -0,0 +1,35 @@
|
||||
Bruce Momjian <maillist@candle.pha.pa.us>
|
||||
|
||||
Here are some of the scripts I use to make development easier.
|
||||
|
||||
First, I use 'cporig' on every file I am about to change. This makes a
|
||||
copy with the extension .orig. If an .orig already exists, I am warned.
|
||||
|
||||
I can get really fancy with this. I can do 'cporig *' and make a .orig
|
||||
for every file in the current directory. I can:
|
||||
|
||||
cporig `grep -l HeapTuple *`
|
||||
|
||||
If I use mkid (from ftp.postgreSQL.org), I can do:
|
||||
|
||||
cporig `lid -kn 'fsyncOff'`
|
||||
|
||||
and get a copy of every file containing that word. I can then do:
|
||||
|
||||
vi `find . -name '*.orig'`
|
||||
|
||||
or even better (using mkid):
|
||||
|
||||
eid fsyncOff
|
||||
|
||||
to edit all those files.
|
||||
|
||||
When I am ready to generate a patch, I run 'difforig' command from the top of
|
||||
the source tree:
|
||||
|
||||
I pipe the output of this to a file to hold my patch, and the file names
|
||||
it processes appear on my screen. It creates a nice patch for me of all
|
||||
the files I used with cporig.
|
||||
|
||||
Finally, I remove my old copies with 'rmorig'.
|
||||
|
8
src/tools/make_diff/cporig
Executable file
8
src/tools/make_diff/cporig
Executable file
@@ -0,0 +1,8 @@
|
||||
:
|
||||
for FILE
|
||||
do
|
||||
if [ ! -f "$FILE.orig" ]
|
||||
then cp $FILE $FILE.orig
|
||||
else echo "$FILE.orig exists" 1>&2
|
||||
fi
|
||||
done
|
11
src/tools/make_diff/difforig
Executable file
11
src/tools/make_diff/difforig
Executable file
@@ -0,0 +1,11 @@
|
||||
:
|
||||
if [ "$#" -eq 0 ]
|
||||
then APATH="."
|
||||
else APATH="$1"
|
||||
fi
|
||||
find $APATH -name '*.orig' -print | sort | while read FILE
|
||||
do
|
||||
NEW="`dirname $FILE`/`basename $FILE .orig`"
|
||||
echo "$NEW" 1>&2
|
||||
diff -c $FILE $NEW
|
||||
done
|
6
src/tools/make_diff/rmorig
Executable file
6
src/tools/make_diff/rmorig
Executable file
@@ -0,0 +1,6 @@
|
||||
:
|
||||
if [ "$#" -eq 0 ]
|
||||
then APATH="."
|
||||
else APATH="$1"
|
||||
fi
|
||||
find $APATH -name '*.orig' -exec rm {} \;
|
Reference in New Issue
Block a user