]> git.openstreetmap.org Git - rails.git/blobdiff - db/README
Use utility method for error reporting.
[rails.git] / db / README
index 03e95fff3907442ecdbee9ae6688708fb6a768a5..39ce18023b2d1daa8638598e6e656dd7ec37931f 100644 (file)
--- a/db/README
+++ b/db/README
@@ -25,24 +25,19 @@ $ mysql -u <uid> -p
 > flush privileges;
 > exit
 
 > flush privileges;
 > exit
 
-Creating functions
-====================
+Creating functions For MySQL
+==============================
 
 Run this command in the db/functions directory:
 
 
 Run this command in the db/functions directory:
 
-$ make
-
-The above command should work for linux and most other Unix systems
-that use ELF shared objects. For MacOS X you will need to do:
-
-$ make libquadtile.dylib
+$ make libmyosm.so
 
 Make sure the db/functions directory is on the MySQL server's library
 
 Make sure the db/functions directory is on the MySQL server's library
-path and restart the MySQL server. On linux the easiest way to do this
-is to create /etc/ld.so.conf.d/osm.conf and place the path to the
-db/functions directory in it and then run the following command as root:
+path and restart the MySQL server. 
+
+On Linux the easiest way to do this is to create /etc/ld.so.conf.d/osm.conf, and place the path to the db/functions directory in it and then run the ldconfig command as root.
 
 
-$ ldconfig
+On OS X: sudo ln -s /path_to_your_osm_install/sites/rails_port/db/functions/libmyosm.so /usr/local/lib/libmyosm.so
 
 Now create the functions as follows:
 
 
 Now create the functions as follows:
 
@@ -50,13 +45,25 @@ $ mysql -u <uid> -p openstreetmap
 
 (change <uid> with appropriate username of administrative user eg. root )
 
 
 (change <uid> with appropriate username of administrative user eg. root )
 
-> create function tile_for_point returns integer soname 'libquadtile.so';
+> create function tile_for_point returns integer soname 'libmyosm.so';
+> create function maptile_for_point returns integer soname 'libmyosm.so';
 > exit
 
 > exit
 
-or, for MacOS X:
+Creating functions for PgSQL
+==============================
 
 
-> create function tile_for_point returns integer soname 'libquadtile.dylib';
-> exit
+Run this command in the db/functions directory:
+
+$ make libpgosm.so
+
+Now create the function as follows:
+
+$ psql openstreetmap
+(This may need authentication or a -u <dbowneruid>)
+
+> CREATE FUNCTION maptile_for_point(int8, int8, int4) RETURNS int4 
+  AS '/path/to/rails-port/db/functions/libpgosm.so', 'maptile_for_point'
+  LANGUAGE C STRICT;
 
 Creating database skeleton tables
 ===================================
 
 Creating database skeleton tables
 ===================================