mirror of
				https://github.com/psycopg/psycopg2.git
				synced 2025-11-04 01:37:31 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
General information
 | 
						|
*******************
 | 
						|
 | 
						|
Some help to people wanting to hack on psycopg. First of all, note that
 | 
						|
*every* function in the psycopg module source code is prefixed by one of the
 | 
						|
following words:
 | 
						|
 | 
						|
    psyco is used for function directly callable from python (i.e., functions
 | 
						|
        in the psycopg module itself.) the only notable exception is the
 | 
						|
        source code for the module itself, that uses "psyco" even for C-only
 | 
						|
        functions.
 | 
						|
 | 
						|
    conn is used for functions related to connection objects.
 | 
						|
 | 
						|
    curs is used for functions related to cursor objects.
 | 
						|
 | 
						|
    typecast is used for typecasters and utility function related to
 | 
						|
        typecaster creation and registration.
 | 
						|
 | 
						|
Pythonic definition of types and functions available from python are defined
 | 
						|
in *_type.c files. Internal functions, callable only from C are located in
 | 
						|
*_int.c files and extensions to the DBAPI can be found in the *_ext.c files.
 | 
						|
 | 
						|
 | 
						|
Patches
 | 
						|
*******
 | 
						|
 | 
						|
If you submit a patch, please send a diff generated with the "-u" switch.
 | 
						|
Also note that I don't like that much cosmetic changes (like renaming
 | 
						|
already existing variables) and I will rewrap the patch to 78 columns
 | 
						|
anyway, so it is much better if you do that beforehand.
 | 
						|
 | 
						|
 | 
						|
The type system
 | 
						|
***************
 | 
						|
 | 
						|
Simple types, like integers and strings, are converted to python base types
 | 
						|
(the conversion functions are in typecast_base.c). Complex types are
 | 
						|
converted to ad-hoc types, defined in the typeobj_*.{c,h} files. The
 | 
						|
conversion function are in the other typecast_*.c files. typecast.c defines
 | 
						|
the basic utility functions (available through the psycopg module) used when
 | 
						|
defining new typecasters from C and python.
 | 
						|
 |