activerecord-postgres-earthdistance 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. data/.gitignore +21 -0
  2. data/.rspec +2 -0
  3. data/.travis.yml +7 -0
  4. data/Gemfile +4 -10
  5. data/Gemfile.lock +92 -69
  6. data/README.md +124 -0
  7. data/Rakefile +12 -40
  8. data/activerecord-postgres-earthdistance.gemspec +24 -117
  9. data/lib/activerecord-postgres-earthdistance.rb +5 -46
  10. data/lib/activerecord-postgres-earthdistance/activerecord.rb +9 -10
  11. data/lib/activerecord-postgres-earthdistance/acts_as_geolocated.rb +24 -0
  12. data/lib/activerecord-postgres-earthdistance/railties.rb +40 -0
  13. data/lib/templates/setup_earthdistance.rb +4 -427
  14. data/spec/act_as_geolocated_spec.rb +29 -0
  15. data/{test/app/app/models → spec/fixtures}/place.rb +0 -0
  16. data/spec/spec_helper.rb +46 -0
  17. metadata +67 -109
  18. data/README.rdoc +0 -17
  19. data/VERSION +0 -1
  20. data/test/app/.gitignore +0 -4
  21. data/test/app/Gemfile +0 -5
  22. data/test/app/Gemfile.lock +0 -83
  23. data/test/app/README +0 -256
  24. data/test/app/Rakefile +0 -7
  25. data/test/app/app/controllers/application_controller.rb +0 -3
  26. data/test/app/app/helpers/application_helper.rb +0 -2
  27. data/test/app/app/views/layouts/application.html.erb +0 -14
  28. data/test/app/config.ru +0 -4
  29. data/test/app/config/application.rb +0 -42
  30. data/test/app/config/boot.rb +0 -13
  31. data/test/app/config/database.yml +0 -25
  32. data/test/app/config/environment.rb +0 -5
  33. data/test/app/config/environments/development.rb +0 -26
  34. data/test/app/config/environments/production.rb +0 -49
  35. data/test/app/config/environments/test.rb +0 -35
  36. data/test/app/config/initializers/backtrace_silencers.rb +0 -7
  37. data/test/app/config/initializers/inflections.rb +0 -10
  38. data/test/app/config/initializers/mime_types.rb +0 -5
  39. data/test/app/config/initializers/secret_token.rb +0 -7
  40. data/test/app/config/initializers/session_store.rb +0 -8
  41. data/test/app/config/initializers/use_sql_schema.rb +0 -3
  42. data/test/app/config/locales/en.yml +0 -5
  43. data/test/app/config/routes.rb +0 -58
  44. data/test/app/db/development_structure.sql +0 -807
  45. data/test/app/db/migrate/20110225205046_setup_earthdistance.rb +0 -434
  46. data/test/app/db/migrate/20110225205131_create_places.rb +0 -15
  47. data/test/app/db/schema.rb +0 -24
  48. data/test/app/db/seeds.rb +0 -7
  49. data/test/app/doc/README_FOR_APP +0 -2
  50. data/test/app/lib/tasks/.gitkeep +0 -0
  51. data/test/app/public/404.html +0 -26
  52. data/test/app/public/422.html +0 -26
  53. data/test/app/public/500.html +0 -26
  54. data/test/app/public/favicon.ico +0 -0
  55. data/test/app/public/images/rails.png +0 -0
  56. data/test/app/public/index.html +0 -239
  57. data/test/app/public/javascripts/application.js +0 -2
  58. data/test/app/public/javascripts/controls.js +0 -965
  59. data/test/app/public/javascripts/dragdrop.js +0 -974
  60. data/test/app/public/javascripts/effects.js +0 -1123
  61. data/test/app/public/javascripts/prototype.js +0 -6001
  62. data/test/app/public/javascripts/rails.js +0 -175
  63. data/test/app/public/robots.txt +0 -5
  64. data/test/app/public/stylesheets/.gitkeep +0 -0
  65. data/test/app/script/rails +0 -6
  66. data/test/app/test/performance/browsing_test.rb +0 -9
  67. data/test/app/test/test_helper.rb +0 -13
  68. data/test/app/test/unit/place_test.rb +0 -27
  69. data/test/app/vendor/plugins/.gitkeep +0 -0
@@ -1,35 +0,0 @@
1
- App::Application.configure do
2
- # Settings specified here will take precedence over those in config/application.rb
3
-
4
- # The test environment is used exclusively to run your application's
5
- # test suite. You never need to work with it otherwise. Remember that
6
- # your test database is "scratch space" for the test suite and is wiped
7
- # and recreated between test runs. Don't rely on the data there!
8
- config.cache_classes = true
9
-
10
- # Log error messages when you accidentally call methods on nil.
11
- config.whiny_nils = true
12
-
13
- # Show full error reports and disable caching
14
- config.consider_all_requests_local = true
15
- config.action_controller.perform_caching = false
16
-
17
- # Raise exceptions instead of rendering exception templates
18
- config.action_dispatch.show_exceptions = false
19
-
20
- # Disable request forgery protection in test environment
21
- config.action_controller.allow_forgery_protection = false
22
-
23
- # Tell Action Mailer not to deliver emails to the real world.
24
- # The :test delivery method accumulates sent emails in the
25
- # ActionMailer::Base.deliveries array.
26
- config.action_mailer.delivery_method = :test
27
-
28
- # Use SQL instead of Active Record's schema dumper when creating the test database.
29
- # This is necessary if your schema can't be completely dumped by the schema dumper,
30
- # like if you have constraints or database-specific column types
31
- # config.active_record.schema_format = :sql
32
-
33
- # Print deprecation notices to the stderr
34
- config.active_support.deprecation = :stderr
35
- end
@@ -1,7 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
4
- # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
5
-
6
- # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
7
- # Rails.backtrace_cleaner.remove_silencers!
@@ -1,10 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Add new inflection rules using the following format
4
- # (all these examples are active by default):
5
- # ActiveSupport::Inflector.inflections do |inflect|
6
- # inflect.plural /^(ox)$/i, '\1en'
7
- # inflect.singular /^(ox)en/i, '\1'
8
- # inflect.irregular 'person', 'people'
9
- # inflect.uncountable %w( fish sheep )
10
- # end
@@ -1,5 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Add new mime types for use in respond_to blocks:
4
- # Mime::Type.register "text/richtext", :rtf
5
- # Mime::Type.register_alias "text/html", :iphone
@@ -1,7 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Your secret key for verifying the integrity of signed cookies.
4
- # If you change this key, all old signed cookies will become invalid!
5
- # Make sure the secret is at least 30 characters and all random,
6
- # no regular words or you'll be exposed to dictionary attacks.
7
- App::Application.config.secret_token = 'fd1578c2e92c9d24325e92cea92f48e51c85d39fb7b555391cfe287642d1d5e17735939db1dd5a247d1b39f1794db045b6ae702a57f2e6dc42fc299f9add7609'
@@ -1,8 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- App::Application.config.session_store :cookie_store, :key => '_app_session'
4
-
5
- # Use the database for sessions instead of the cookie-based default,
6
- # which shouldn't be used to store highly confidential information
7
- # (create the session table with "rails generate session_migration")
8
- # App::Application.config.session_store :active_record_store
@@ -1,3 +0,0 @@
1
- App::Application.configure do
2
- config.active_record.schema_format = :sql
3
- end
@@ -1,5 +0,0 @@
1
- # Sample localization file for English. Add more files in this directory for other locales.
2
- # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
3
-
4
- en:
5
- hello: "Hello world"
@@ -1,58 +0,0 @@
1
- App::Application.routes.draw do
2
- # The priority is based upon order of creation:
3
- # first created -> highest priority.
4
-
5
- # Sample of regular route:
6
- # match 'products/:id' => 'catalog#view'
7
- # Keep in mind you can assign values other than :controller and :action
8
-
9
- # Sample of named route:
10
- # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase
11
- # This route can be invoked with purchase_url(:id => product.id)
12
-
13
- # Sample resource route (maps HTTP verbs to controller actions automatically):
14
- # resources :products
15
-
16
- # Sample resource route with options:
17
- # resources :products do
18
- # member do
19
- # get 'short'
20
- # post 'toggle'
21
- # end
22
- #
23
- # collection do
24
- # get 'sold'
25
- # end
26
- # end
27
-
28
- # Sample resource route with sub-resources:
29
- # resources :products do
30
- # resources :comments, :sales
31
- # resource :seller
32
- # end
33
-
34
- # Sample resource route with more complex sub-resources
35
- # resources :products do
36
- # resources :comments
37
- # resources :sales do
38
- # get 'recent', :on => :collection
39
- # end
40
- # end
41
-
42
- # Sample resource route within a namespace:
43
- # namespace :admin do
44
- # # Directs /admin/products/* to Admin::ProductsController
45
- # # (app/controllers/admin/products_controller.rb)
46
- # resources :products
47
- # end
48
-
49
- # You can have the root of your site routed with "root"
50
- # just remember to delete public/index.html.
51
- # root :to => "welcome#index"
52
-
53
- # See how all your routes lay out with "rake routes"
54
-
55
- # This is a legacy wild controller route that's not recommended for RESTful applications.
56
- # Note: This route will make all actions in every controller accessible via GET requests.
57
- # match ':controller(/:action(/:id(.:format)))'
58
- end
@@ -1,807 +0,0 @@
1
- --
2
- -- PostgreSQL database dump
3
- --
4
-
5
- SET statement_timeout = 0;
6
- SET client_encoding = 'UTF8';
7
- SET standard_conforming_strings = off;
8
- SET check_function_bodies = false;
9
- SET client_min_messages = warning;
10
- SET escape_string_warning = off;
11
-
12
- --
13
- -- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: -
14
- --
15
-
16
- CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql;
17
-
18
-
19
- SET search_path = public, pg_catalog;
20
-
21
- --
22
- -- Name: cube; Type: SHELL TYPE; Schema: public; Owner: -
23
- --
24
-
25
- CREATE TYPE cube;
26
-
27
-
28
- --
29
- -- Name: cube_in(cstring); Type: FUNCTION; Schema: public; Owner: -
30
- --
31
-
32
- CREATE FUNCTION cube_in(cstring) RETURNS cube
33
- LANGUAGE c IMMUTABLE STRICT
34
- AS '$libdir/cube', 'cube_in';
35
-
36
-
37
- --
38
- -- Name: cube_out(cube); Type: FUNCTION; Schema: public; Owner: -
39
- --
40
-
41
- CREATE FUNCTION cube_out(cube) RETURNS cstring
42
- LANGUAGE c IMMUTABLE STRICT
43
- AS '$libdir/cube', 'cube_out';
44
-
45
-
46
- --
47
- -- Name: cube; Type: TYPE; Schema: public; Owner: -
48
- --
49
-
50
- CREATE TYPE cube (
51
- INTERNALLENGTH = variable,
52
- INPUT = cube_in,
53
- OUTPUT = cube_out,
54
- ALIGNMENT = double,
55
- STORAGE = plain
56
- );
57
-
58
-
59
- --
60
- -- Name: TYPE cube; Type: COMMENT; Schema: public; Owner: -
61
- --
62
-
63
- COMMENT ON TYPE cube IS 'multi-dimensional cube ''(FLOAT-1, FLOAT-2, ..., FLOAT-N), (FLOAT-1, FLOAT-2, ..., FLOAT-N)''';
64
-
65
-
66
- --
67
- -- Name: cube_dim(cube); Type: FUNCTION; Schema: public; Owner: -
68
- --
69
-
70
- CREATE FUNCTION cube_dim(cube) RETURNS integer
71
- LANGUAGE c IMMUTABLE STRICT
72
- AS '$libdir/cube', 'cube_dim';
73
-
74
-
75
- --
76
- -- Name: cube_distance(cube, cube); Type: FUNCTION; Schema: public; Owner: -
77
- --
78
-
79
- CREATE FUNCTION cube_distance(cube, cube) RETURNS double precision
80
- LANGUAGE c IMMUTABLE STRICT
81
- AS '$libdir/cube', 'cube_distance';
82
-
83
-
84
- --
85
- -- Name: cube_is_point(cube); Type: FUNCTION; Schema: public; Owner: -
86
- --
87
-
88
- CREATE FUNCTION cube_is_point(cube) RETURNS boolean
89
- LANGUAGE c IMMUTABLE STRICT
90
- AS '$libdir/cube', 'cube_is_point';
91
-
92
-
93
- --
94
- -- Name: earth(); Type: FUNCTION; Schema: public; Owner: -
95
- --
96
-
97
- CREATE FUNCTION earth() RETURNS double precision
98
- LANGUAGE sql IMMUTABLE
99
- AS $$SELECT '6378168'::float8$$;
100
-
101
-
102
- --
103
- -- Name: earth; Type: DOMAIN; Schema: public; Owner: -
104
- --
105
-
106
- CREATE DOMAIN earth AS cube
107
- CONSTRAINT not_3d CHECK ((cube_dim(VALUE) <= 3))
108
- CONSTRAINT not_point CHECK (cube_is_point(VALUE))
109
- CONSTRAINT on_surface CHECK ((abs(((cube_distance(VALUE, '(0)'::cube) / earth()) - (1)::double precision)) < 9.99999999999999955e-07::double precision));
110
-
111
-
112
- --
113
- -- Name: cube(double precision[]); Type: FUNCTION; Schema: public; Owner: -
114
- --
115
-
116
- CREATE FUNCTION cube(double precision[]) RETURNS cube
117
- LANGUAGE c IMMUTABLE STRICT
118
- AS '$libdir/cube', 'cube_a_f8';
119
-
120
-
121
- --
122
- -- Name: cube(double precision); Type: FUNCTION; Schema: public; Owner: -
123
- --
124
-
125
- CREATE FUNCTION cube(double precision) RETURNS cube
126
- LANGUAGE c IMMUTABLE STRICT
127
- AS '$libdir/cube', 'cube_f8';
128
-
129
-
130
- --
131
- -- Name: cube(double precision[], double precision[]); Type: FUNCTION; Schema: public; Owner: -
132
- --
133
-
134
- CREATE FUNCTION cube(double precision[], double precision[]) RETURNS cube
135
- LANGUAGE c IMMUTABLE STRICT
136
- AS '$libdir/cube', 'cube_a_f8_f8';
137
-
138
-
139
- --
140
- -- Name: cube(double precision, double precision); Type: FUNCTION; Schema: public; Owner: -
141
- --
142
-
143
- CREATE FUNCTION cube(double precision, double precision) RETURNS cube
144
- LANGUAGE c IMMUTABLE STRICT
145
- AS '$libdir/cube', 'cube_f8_f8';
146
-
147
-
148
- --
149
- -- Name: cube(cube, double precision); Type: FUNCTION; Schema: public; Owner: -
150
- --
151
-
152
- CREATE FUNCTION cube(cube, double precision) RETURNS cube
153
- LANGUAGE c IMMUTABLE STRICT
154
- AS '$libdir/cube', 'cube_c_f8';
155
-
156
-
157
- --
158
- -- Name: cube(cube, double precision, double precision); Type: FUNCTION; Schema: public; Owner: -
159
- --
160
-
161
- CREATE FUNCTION cube(cube, double precision, double precision) RETURNS cube
162
- LANGUAGE c IMMUTABLE STRICT
163
- AS '$libdir/cube', 'cube_c_f8_f8';
164
-
165
-
166
- --
167
- -- Name: cube_cmp(cube, cube); Type: FUNCTION; Schema: public; Owner: -
168
- --
169
-
170
- CREATE FUNCTION cube_cmp(cube, cube) RETURNS integer
171
- LANGUAGE c IMMUTABLE STRICT
172
- AS '$libdir/cube', 'cube_cmp';
173
-
174
-
175
- --
176
- -- Name: FUNCTION cube_cmp(cube, cube); Type: COMMENT; Schema: public; Owner: -
177
- --
178
-
179
- COMMENT ON FUNCTION cube_cmp(cube, cube) IS 'btree comparison function';
180
-
181
-
182
- --
183
- -- Name: cube_contained(cube, cube); Type: FUNCTION; Schema: public; Owner: -
184
- --
185
-
186
- CREATE FUNCTION cube_contained(cube, cube) RETURNS boolean
187
- LANGUAGE c IMMUTABLE STRICT
188
- AS '$libdir/cube', 'cube_contained';
189
-
190
-
191
- --
192
- -- Name: FUNCTION cube_contained(cube, cube); Type: COMMENT; Schema: public; Owner: -
193
- --
194
-
195
- COMMENT ON FUNCTION cube_contained(cube, cube) IS 'contained in';
196
-
197
-
198
- --
199
- -- Name: cube_contains(cube, cube); Type: FUNCTION; Schema: public; Owner: -
200
- --
201
-
202
- CREATE FUNCTION cube_contains(cube, cube) RETURNS boolean
203
- LANGUAGE c IMMUTABLE STRICT
204
- AS '$libdir/cube', 'cube_contains';
205
-
206
-
207
- --
208
- -- Name: FUNCTION cube_contains(cube, cube); Type: COMMENT; Schema: public; Owner: -
209
- --
210
-
211
- COMMENT ON FUNCTION cube_contains(cube, cube) IS 'contains';
212
-
213
-
214
- --
215
- -- Name: cube_enlarge(cube, double precision, integer); Type: FUNCTION; Schema: public; Owner: -
216
- --
217
-
218
- CREATE FUNCTION cube_enlarge(cube, double precision, integer) RETURNS cube
219
- LANGUAGE c IMMUTABLE STRICT
220
- AS '$libdir/cube', 'cube_enlarge';
221
-
222
-
223
- --
224
- -- Name: cube_eq(cube, cube); Type: FUNCTION; Schema: public; Owner: -
225
- --
226
-
227
- CREATE FUNCTION cube_eq(cube, cube) RETURNS boolean
228
- LANGUAGE c IMMUTABLE STRICT
229
- AS '$libdir/cube', 'cube_eq';
230
-
231
-
232
- --
233
- -- Name: FUNCTION cube_eq(cube, cube); Type: COMMENT; Schema: public; Owner: -
234
- --
235
-
236
- COMMENT ON FUNCTION cube_eq(cube, cube) IS 'same as';
237
-
238
-
239
- --
240
- -- Name: cube_ge(cube, cube); Type: FUNCTION; Schema: public; Owner: -
241
- --
242
-
243
- CREATE FUNCTION cube_ge(cube, cube) RETURNS boolean
244
- LANGUAGE c IMMUTABLE STRICT
245
- AS '$libdir/cube', 'cube_ge';
246
-
247
-
248
- --
249
- -- Name: FUNCTION cube_ge(cube, cube); Type: COMMENT; Schema: public; Owner: -
250
- --
251
-
252
- COMMENT ON FUNCTION cube_ge(cube, cube) IS 'greater than or equal to';
253
-
254
-
255
- --
256
- -- Name: cube_gt(cube, cube); Type: FUNCTION; Schema: public; Owner: -
257
- --
258
-
259
- CREATE FUNCTION cube_gt(cube, cube) RETURNS boolean
260
- LANGUAGE c IMMUTABLE STRICT
261
- AS '$libdir/cube', 'cube_gt';
262
-
263
-
264
- --
265
- -- Name: FUNCTION cube_gt(cube, cube); Type: COMMENT; Schema: public; Owner: -
266
- --
267
-
268
- COMMENT ON FUNCTION cube_gt(cube, cube) IS 'greater than';
269
-
270
-
271
- --
272
- -- Name: cube_inter(cube, cube); Type: FUNCTION; Schema: public; Owner: -
273
- --
274
-
275
- CREATE FUNCTION cube_inter(cube, cube) RETURNS cube
276
- LANGUAGE c IMMUTABLE STRICT
277
- AS '$libdir/cube', 'cube_inter';
278
-
279
-
280
- --
281
- -- Name: cube_le(cube, cube); Type: FUNCTION; Schema: public; Owner: -
282
- --
283
-
284
- CREATE FUNCTION cube_le(cube, cube) RETURNS boolean
285
- LANGUAGE c IMMUTABLE STRICT
286
- AS '$libdir/cube', 'cube_le';
287
-
288
-
289
- --
290
- -- Name: FUNCTION cube_le(cube, cube); Type: COMMENT; Schema: public; Owner: -
291
- --
292
-
293
- COMMENT ON FUNCTION cube_le(cube, cube) IS 'lower than or equal to';
294
-
295
-
296
- --
297
- -- Name: cube_ll_coord(cube, integer); Type: FUNCTION; Schema: public; Owner: -
298
- --
299
-
300
- CREATE FUNCTION cube_ll_coord(cube, integer) RETURNS double precision
301
- LANGUAGE c IMMUTABLE STRICT
302
- AS '$libdir/cube', 'cube_ll_coord';
303
-
304
-
305
- --
306
- -- Name: cube_lt(cube, cube); Type: FUNCTION; Schema: public; Owner: -
307
- --
308
-
309
- CREATE FUNCTION cube_lt(cube, cube) RETURNS boolean
310
- LANGUAGE c IMMUTABLE STRICT
311
- AS '$libdir/cube', 'cube_lt';
312
-
313
-
314
- --
315
- -- Name: FUNCTION cube_lt(cube, cube); Type: COMMENT; Schema: public; Owner: -
316
- --
317
-
318
- COMMENT ON FUNCTION cube_lt(cube, cube) IS 'lower than';
319
-
320
-
321
- --
322
- -- Name: cube_ne(cube, cube); Type: FUNCTION; Schema: public; Owner: -
323
- --
324
-
325
- CREATE FUNCTION cube_ne(cube, cube) RETURNS boolean
326
- LANGUAGE c IMMUTABLE STRICT
327
- AS '$libdir/cube', 'cube_ne';
328
-
329
-
330
- --
331
- -- Name: FUNCTION cube_ne(cube, cube); Type: COMMENT; Schema: public; Owner: -
332
- --
333
-
334
- COMMENT ON FUNCTION cube_ne(cube, cube) IS 'different';
335
-
336
-
337
- --
338
- -- Name: cube_overlap(cube, cube); Type: FUNCTION; Schema: public; Owner: -
339
- --
340
-
341
- CREATE FUNCTION cube_overlap(cube, cube) RETURNS boolean
342
- LANGUAGE c IMMUTABLE STRICT
343
- AS '$libdir/cube', 'cube_overlap';
344
-
345
-
346
- --
347
- -- Name: FUNCTION cube_overlap(cube, cube); Type: COMMENT; Schema: public; Owner: -
348
- --
349
-
350
- COMMENT ON FUNCTION cube_overlap(cube, cube) IS 'overlaps';
351
-
352
-
353
- --
354
- -- Name: cube_size(cube); Type: FUNCTION; Schema: public; Owner: -
355
- --
356
-
357
- CREATE FUNCTION cube_size(cube) RETURNS double precision
358
- LANGUAGE c IMMUTABLE STRICT
359
- AS '$libdir/cube', 'cube_size';
360
-
361
-
362
- --
363
- -- Name: cube_subset(cube, integer[]); Type: FUNCTION; Schema: public; Owner: -
364
- --
365
-
366
- CREATE FUNCTION cube_subset(cube, integer[]) RETURNS cube
367
- LANGUAGE c IMMUTABLE STRICT
368
- AS '$libdir/cube', 'cube_subset';
369
-
370
-
371
- --
372
- -- Name: cube_union(cube, cube); Type: FUNCTION; Schema: public; Owner: -
373
- --
374
-
375
- CREATE FUNCTION cube_union(cube, cube) RETURNS cube
376
- LANGUAGE c IMMUTABLE STRICT
377
- AS '$libdir/cube', 'cube_union';
378
-
379
-
380
- --
381
- -- Name: cube_ur_coord(cube, integer); Type: FUNCTION; Schema: public; Owner: -
382
- --
383
-
384
- CREATE FUNCTION cube_ur_coord(cube, integer) RETURNS double precision
385
- LANGUAGE c IMMUTABLE STRICT
386
- AS '$libdir/cube', 'cube_ur_coord';
387
-
388
-
389
- --
390
- -- Name: earth_box(earth, double precision); Type: FUNCTION; Schema: public; Owner: -
391
- --
392
-
393
- CREATE FUNCTION earth_box(earth, double precision) RETURNS cube
394
- LANGUAGE sql IMMUTABLE STRICT
395
- AS $_$SELECT cube_enlarge($1, gc_to_sec($2), 3)$_$;
396
-
397
-
398
- --
399
- -- Name: earth_distance(earth, earth); Type: FUNCTION; Schema: public; Owner: -
400
- --
401
-
402
- CREATE FUNCTION earth_distance(earth, earth) RETURNS double precision
403
- LANGUAGE sql IMMUTABLE STRICT
404
- AS $_$SELECT sec_to_gc(cube_distance($1, $2))$_$;
405
-
406
-
407
- --
408
- -- Name: g_cube_compress(internal); Type: FUNCTION; Schema: public; Owner: -
409
- --
410
-
411
- CREATE FUNCTION g_cube_compress(internal) RETURNS internal
412
- LANGUAGE c IMMUTABLE STRICT
413
- AS '$libdir/cube', 'g_cube_compress';
414
-
415
-
416
- --
417
- -- Name: g_cube_consistent(internal, cube, integer, oid, internal); Type: FUNCTION; Schema: public; Owner: -
418
- --
419
-
420
- CREATE FUNCTION g_cube_consistent(internal, cube, integer, oid, internal) RETURNS boolean
421
- LANGUAGE c IMMUTABLE STRICT
422
- AS '$libdir/cube', 'g_cube_consistent';
423
-
424
-
425
- --
426
- -- Name: g_cube_decompress(internal); Type: FUNCTION; Schema: public; Owner: -
427
- --
428
-
429
- CREATE FUNCTION g_cube_decompress(internal) RETURNS internal
430
- LANGUAGE c IMMUTABLE STRICT
431
- AS '$libdir/cube', 'g_cube_decompress';
432
-
433
-
434
- --
435
- -- Name: g_cube_penalty(internal, internal, internal); Type: FUNCTION; Schema: public; Owner: -
436
- --
437
-
438
- CREATE FUNCTION g_cube_penalty(internal, internal, internal) RETURNS internal
439
- LANGUAGE c IMMUTABLE STRICT
440
- AS '$libdir/cube', 'g_cube_penalty';
441
-
442
-
443
- --
444
- -- Name: g_cube_picksplit(internal, internal); Type: FUNCTION; Schema: public; Owner: -
445
- --
446
-
447
- CREATE FUNCTION g_cube_picksplit(internal, internal) RETURNS internal
448
- LANGUAGE c IMMUTABLE STRICT
449
- AS '$libdir/cube', 'g_cube_picksplit';
450
-
451
-
452
- --
453
- -- Name: g_cube_same(cube, cube, internal); Type: FUNCTION; Schema: public; Owner: -
454
- --
455
-
456
- CREATE FUNCTION g_cube_same(cube, cube, internal) RETURNS internal
457
- LANGUAGE c IMMUTABLE STRICT
458
- AS '$libdir/cube', 'g_cube_same';
459
-
460
-
461
- --
462
- -- Name: g_cube_union(internal, internal); Type: FUNCTION; Schema: public; Owner: -
463
- --
464
-
465
- CREATE FUNCTION g_cube_union(internal, internal) RETURNS cube
466
- LANGUAGE c IMMUTABLE STRICT
467
- AS '$libdir/cube', 'g_cube_union';
468
-
469
-
470
- --
471
- -- Name: gc_to_sec(double precision); Type: FUNCTION; Schema: public; Owner: -
472
- --
473
-
474
- CREATE FUNCTION gc_to_sec(double precision) RETURNS double precision
475
- LANGUAGE sql IMMUTABLE STRICT
476
- AS $_$SELECT CASE WHEN $1 < 0 THEN 0::float8 WHEN $1/earth() > pi() THEN 2*earth() ELSE 2*earth()*sin($1/(2*earth())) END$_$;
477
-
478
-
479
- --
480
- -- Name: geo_distance(point, point); Type: FUNCTION; Schema: public; Owner: -
481
- --
482
-
483
- CREATE FUNCTION geo_distance(point, point) RETURNS double precision
484
- LANGUAGE c IMMUTABLE STRICT
485
- AS '$libdir/earthdistance', 'geo_distance';
486
-
487
-
488
- --
489
- -- Name: latitude(earth); Type: FUNCTION; Schema: public; Owner: -
490
- --
491
-
492
- CREATE FUNCTION latitude(earth) RETURNS double precision
493
- LANGUAGE sql IMMUTABLE STRICT
494
- AS $_$SELECT CASE WHEN cube_ll_coord($1, 3)/earth() < -1 THEN -90::float8 WHEN cube_ll_coord($1, 3)/earth() > 1 THEN 90::float8 ELSE degrees(asin(cube_ll_coord($1, 3)/earth())) END$_$;
495
-
496
-
497
- --
498
- -- Name: ll_to_earth(double precision, double precision); Type: FUNCTION; Schema: public; Owner: -
499
- --
500
-
501
- CREATE FUNCTION ll_to_earth(double precision, double precision) RETURNS earth
502
- LANGUAGE sql IMMUTABLE STRICT
503
- AS $_$SELECT cube(cube(cube(earth()*cos(radians($1))*cos(radians($2))),earth()*cos(radians($1))*sin(radians($2))),earth()*sin(radians($1)))::earth$_$;
504
-
505
-
506
- --
507
- -- Name: longitude(earth); Type: FUNCTION; Schema: public; Owner: -
508
- --
509
-
510
- CREATE FUNCTION longitude(earth) RETURNS double precision
511
- LANGUAGE sql IMMUTABLE STRICT
512
- AS $_$SELECT degrees(atan2(cube_ll_coord($1, 2), cube_ll_coord($1, 1)))$_$;
513
-
514
-
515
- --
516
- -- Name: sec_to_gc(double precision); Type: FUNCTION; Schema: public; Owner: -
517
- --
518
-
519
- CREATE FUNCTION sec_to_gc(double precision) RETURNS double precision
520
- LANGUAGE sql IMMUTABLE STRICT
521
- AS $_$SELECT CASE WHEN $1 < 0 THEN 0::float8 WHEN $1/(2*earth()) > 1 THEN pi()*earth() ELSE 2*earth()*asin($1/(2*earth())) END$_$;
522
-
523
-
524
- --
525
- -- Name: &&; Type: OPERATOR; Schema: public; Owner: -
526
- --
527
-
528
- CREATE OPERATOR && (
529
- PROCEDURE = cube_overlap,
530
- LEFTARG = cube,
531
- RIGHTARG = cube,
532
- COMMUTATOR = &&,
533
- RESTRICT = areasel,
534
- JOIN = areajoinsel
535
- );
536
-
537
-
538
- --
539
- -- Name: <; Type: OPERATOR; Schema: public; Owner: -
540
- --
541
-
542
- CREATE OPERATOR < (
543
- PROCEDURE = cube_lt,
544
- LEFTARG = cube,
545
- RIGHTARG = cube,
546
- COMMUTATOR = >,
547
- NEGATOR = >=,
548
- RESTRICT = scalarltsel,
549
- JOIN = scalarltjoinsel
550
- );
551
-
552
-
553
- --
554
- -- Name: <=; Type: OPERATOR; Schema: public; Owner: -
555
- --
556
-
557
- CREATE OPERATOR <= (
558
- PROCEDURE = cube_le,
559
- LEFTARG = cube,
560
- RIGHTARG = cube,
561
- COMMUTATOR = >=,
562
- NEGATOR = >,
563
- RESTRICT = scalarltsel,
564
- JOIN = scalarltjoinsel
565
- );
566
-
567
-
568
- --
569
- -- Name: <>; Type: OPERATOR; Schema: public; Owner: -
570
- --
571
-
572
- CREATE OPERATOR <> (
573
- PROCEDURE = cube_ne,
574
- LEFTARG = cube,
575
- RIGHTARG = cube,
576
- COMMUTATOR = <>,
577
- NEGATOR = =,
578
- RESTRICT = neqsel,
579
- JOIN = neqjoinsel
580
- );
581
-
582
-
583
- --
584
- -- Name: <@; Type: OPERATOR; Schema: public; Owner: -
585
- --
586
-
587
- CREATE OPERATOR <@ (
588
- PROCEDURE = cube_contained,
589
- LEFTARG = cube,
590
- RIGHTARG = cube,
591
- COMMUTATOR = @>,
592
- RESTRICT = contsel,
593
- JOIN = contjoinsel
594
- );
595
-
596
-
597
- --
598
- -- Name: <@>; Type: OPERATOR; Schema: public; Owner: -
599
- --
600
-
601
- CREATE OPERATOR <@> (
602
- PROCEDURE = geo_distance,
603
- LEFTARG = point,
604
- RIGHTARG = point,
605
- COMMUTATOR = <@>
606
- );
607
-
608
-
609
- --
610
- -- Name: =; Type: OPERATOR; Schema: public; Owner: -
611
- --
612
-
613
- CREATE OPERATOR = (
614
- PROCEDURE = cube_eq,
615
- LEFTARG = cube,
616
- RIGHTARG = cube,
617
- COMMUTATOR = =,
618
- NEGATOR = <>,
619
- MERGES,
620
- RESTRICT = eqsel,
621
- JOIN = eqjoinsel
622
- );
623
-
624
-
625
- --
626
- -- Name: >; Type: OPERATOR; Schema: public; Owner: -
627
- --
628
-
629
- CREATE OPERATOR > (
630
- PROCEDURE = cube_gt,
631
- LEFTARG = cube,
632
- RIGHTARG = cube,
633
- COMMUTATOR = <,
634
- NEGATOR = <=,
635
- RESTRICT = scalargtsel,
636
- JOIN = scalargtjoinsel
637
- );
638
-
639
-
640
- --
641
- -- Name: >=; Type: OPERATOR; Schema: public; Owner: -
642
- --
643
-
644
- CREATE OPERATOR >= (
645
- PROCEDURE = cube_ge,
646
- LEFTARG = cube,
647
- RIGHTARG = cube,
648
- COMMUTATOR = <=,
649
- NEGATOR = <,
650
- RESTRICT = scalargtsel,
651
- JOIN = scalargtjoinsel
652
- );
653
-
654
-
655
- --
656
- -- Name: @; Type: OPERATOR; Schema: public; Owner: -
657
- --
658
-
659
- CREATE OPERATOR @ (
660
- PROCEDURE = cube_contains,
661
- LEFTARG = cube,
662
- RIGHTARG = cube,
663
- COMMUTATOR = ~,
664
- RESTRICT = contsel,
665
- JOIN = contjoinsel
666
- );
667
-
668
-
669
- --
670
- -- Name: @>; Type: OPERATOR; Schema: public; Owner: -
671
- --
672
-
673
- CREATE OPERATOR @> (
674
- PROCEDURE = cube_contains,
675
- LEFTARG = cube,
676
- RIGHTARG = cube,
677
- COMMUTATOR = <@,
678
- RESTRICT = contsel,
679
- JOIN = contjoinsel
680
- );
681
-
682
-
683
- --
684
- -- Name: ~; Type: OPERATOR; Schema: public; Owner: -
685
- --
686
-
687
- CREATE OPERATOR ~ (
688
- PROCEDURE = cube_contained,
689
- LEFTARG = cube,
690
- RIGHTARG = cube,
691
- COMMUTATOR = @,
692
- RESTRICT = contsel,
693
- JOIN = contjoinsel
694
- );
695
-
696
-
697
- --
698
- -- Name: cube_ops; Type: OPERATOR CLASS; Schema: public; Owner: -
699
- --
700
-
701
- CREATE OPERATOR CLASS cube_ops
702
- DEFAULT FOR TYPE cube USING btree AS
703
- OPERATOR 1 <(cube,cube) ,
704
- OPERATOR 2 <=(cube,cube) ,
705
- OPERATOR 3 =(cube,cube) ,
706
- OPERATOR 4 >=(cube,cube) ,
707
- OPERATOR 5 >(cube,cube) ,
708
- FUNCTION 1 cube_cmp(cube,cube);
709
-
710
-
711
- --
712
- -- Name: gist_cube_ops; Type: OPERATOR CLASS; Schema: public; Owner: -
713
- --
714
-
715
- CREATE OPERATOR CLASS gist_cube_ops
716
- DEFAULT FOR TYPE cube USING gist AS
717
- OPERATOR 3 &&(cube,cube) ,
718
- OPERATOR 6 =(cube,cube) ,
719
- OPERATOR 7 @>(cube,cube) ,
720
- OPERATOR 8 <@(cube,cube) ,
721
- OPERATOR 13 @(cube,cube) ,
722
- OPERATOR 14 ~(cube,cube) ,
723
- FUNCTION 1 g_cube_consistent(internal,cube,integer,oid,internal) ,
724
- FUNCTION 2 g_cube_union(internal,internal) ,
725
- FUNCTION 3 g_cube_compress(internal) ,
726
- FUNCTION 4 g_cube_decompress(internal) ,
727
- FUNCTION 5 g_cube_penalty(internal,internal,internal) ,
728
- FUNCTION 6 g_cube_picksplit(internal,internal) ,
729
- FUNCTION 7 g_cube_same(cube,cube,internal);
730
-
731
-
732
- SET default_tablespace = '';
733
-
734
- SET default_with_oids = false;
735
-
736
- --
737
- -- Name: places; Type: TABLE; Schema: public; Owner: -; Tablespace:
738
- --
739
-
740
- CREATE TABLE places (
741
- id integer NOT NULL,
742
- lt double precision,
743
- lg double precision,
744
- lat double precision,
745
- lng double precision,
746
- created_at timestamp without time zone,
747
- updated_at timestamp without time zone
748
- );
749
-
750
-
751
- --
752
- -- Name: places_id_seq; Type: SEQUENCE; Schema: public; Owner: -
753
- --
754
-
755
- CREATE SEQUENCE places_id_seq
756
- START WITH 1
757
- INCREMENT BY 1
758
- NO MINVALUE
759
- NO MAXVALUE
760
- CACHE 1;
761
-
762
-
763
- --
764
- -- Name: places_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
765
- --
766
-
767
- ALTER SEQUENCE places_id_seq OWNED BY places.id;
768
-
769
-
770
- --
771
- -- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -; Tablespace:
772
- --
773
-
774
- CREATE TABLE schema_migrations (
775
- version character varying(255) NOT NULL
776
- );
777
-
778
-
779
- --
780
- -- Name: id; Type: DEFAULT; Schema: public; Owner: -
781
- --
782
-
783
- ALTER TABLE places ALTER COLUMN id SET DEFAULT nextval('places_id_seq'::regclass);
784
-
785
-
786
- --
787
- -- Name: places_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
788
- --
789
-
790
- ALTER TABLE ONLY places
791
- ADD CONSTRAINT places_pkey PRIMARY KEY (id);
792
-
793
-
794
- --
795
- -- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -; Tablespace:
796
- --
797
-
798
- CREATE UNIQUE INDEX unique_schema_migrations ON schema_migrations USING btree (version);
799
-
800
-
801
- --
802
- -- PostgreSQL database dump complete
803
- --
804
-
805
- INSERT INTO schema_migrations (version) VALUES ('20110225205046');
806
-
807
- INSERT INTO schema_migrations (version) VALUES ('20110225205131');