activerecord-postgres-earthdistance 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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');