Commit Graph

119 Commits

Author SHA1 Message Date
17605996d6 remove whitespace before EOL 2015-11-02 17:24:07 +01:00
e0efc4b91f Re-order headers in modified files 2015-10-20 15:46:09 -07:00
741fd1e941 Remove unused define 2015-10-20 15:34:54 -07:00
081201d6e8 Remove excess includes, switch to C++ includes 2015-10-18 13:10:07 -07:00
a6ddaed4a5 avoid duplicates in job queues for pending ways and relations
If the pending tracker of output was ahead of the pending tracker
of middle when merging the two then an id coming from the middle
tracker was unconditionally added even if it was present in the
output tracker and therefore added from there.

Fixes #419
2015-07-31 21:40:19 +02:00
3d44d34db1 Move db options into database_options_t 2015-07-25 19:48:12 -07:00
8eecf7fcf6 Rename tag to tag_t 2015-07-20 19:46:46 -07:00
1aed75474e Replace wkt_itr with foreach loops and auto 2015-07-19 13:46:47 -07:00
55922d6ebc Replace BOOST_FOREACH with new C++11 for loops 2015-07-18 10:06:01 -07:00
8b0ffe4a6a Replace boost::shared_ptr with std::shared_ptr 2015-07-18 02:14:31 -07:00
6b5a0fffbf Move from NULL to nullptr
This leaves alone the o5m code, geos, and libosmium.
2015-07-17 16:30:35 -07:00
25bd886ed3 Update middle return types from int
g++ was warning of a signed/unsigned conversion
2015-07-16 16:13:47 -07:00
588431536f remove scale everywhere but in ramNode 2015-05-30 15:46:55 +02:00
72503fc2f7 Merge commit '4a5fc188e70a24c9772765c5acbb324e18b07be0' into static_analysis_2
Picks off parts of #299
2015-04-22 13:00:25 -07:00
275339a811 second attempt to fix broken way_area assignment 2015-04-13 23:31:06 +02:00
09da452026 correctly overwrite way_area for each polygon part 2015-04-13 21:40:21 +02:00
15f0d9802a reenable Wall and fix resulting warnings 2015-04-13 20:55:24 +02:00
8d803dc4d7 new types for keyval and for tag, member and node lists
Replace all hand-crafted lists by a simple std::vector. Make data
from the parser const and copy convered data in new vectors.

Coding style normalized in code touched by the change.
2015-04-12 21:59:36 +02:00
be29d2ebbb Make use of boost::diagnostic_information compatible with older versions of Boost. 2015-02-22 10:41:36 +00:00
3222fe1888 Catch exceptions in threads and print them upon join. This should stop thrown errors from aborting the thread without any message. 2015-02-22 09:40:17 +00:00
4a5fc188e7 Globally: catch by const ref 2015-02-21 15:15:26 +01:00
374e846874 ';' outside function is C++11 extension 2015-02-21 12:59:12 +01:00
f1efe8753c remove text-tree and make keyval a real C++ class 2014-12-28 21:38:47 +01:00
3d381ffe4f replace keyval::initList with proper C++ constructor use 2014-12-25 17:53:11 +01:00
d13ce14519 Remove buffer.cpp
Fixes #200
2014-10-26 00:24:06 -07:00
c3a203fa5a Clean up whitespace errors 2014-10-25 01:04:46 -07:00
9f0388b00a fix some warinigs by removing unused variables 2014-10-02 16:50:38 +06:00
b81e9e5085 remove unused parameter names and GCC __attribute__ 2014-10-02 12:55:49 +04:00
6debabccd2 dont set way done tracker when reprocessing relations as no one cares about it and it would be thread contention 2014-09-26 11:16:55 -04:00
1dfce321bc fix a bug where threaded pending would not have access to the information about which ways were determined to be used in relations beforehand which would have lead to more ways in the lines table for example 2014-09-26 08:54:38 -04:00
756a77454a dont add bogus ids to the pending threads' work queue 2014-09-25 11:01:01 -04:00
fa05c0735f Merge remote-tracking branch 'origin/jh_threadpend' into jh_threadpend
Conflicts:
	output-multi.cpp
	output-pgsql.cpp
2014-09-24 17:47:10 -04:00
3f248b4e1b Remove relation callbacks and replace with threaded relation processing. 2014-09-24 17:35:33 -04:00
0aa391a720 all tests passing with non global text_tree. but performance shouldnt be very good 2014-09-24 16:36:46 -04:00
5c86f4f679 Remove way callbacks which are no longer needed. 2014-09-24 15:27:41 -04:00
c50bf832ee remove pending tracking from the ram middle processing as now the middle has all ways nodes relations in it 2014-09-23 16:49:36 -04:00
659b9bb706 refactored a bunch of native pointers to smart ones. tests still failing for relations need to check old branch to see exepcted pending counts 2014-09-23 15:11:39 -04:00
a8c5b9f916 remove some of the native pointers and finish up moving pending rels from threads back to main outputs 2014-09-23 11:57:28 -04:00
68ff8a8f58 change around output map to be a vector with the index in the vector being the id of the output so the threads can simply index into their vector of outputs 2014-09-23 09:17:13 -04:00
fe7ce22419 Populate pending job queue prior to cloning out the middles and outputs.
Some other bug fixes and refactor.
Most tests pass now, but three still fail.
2014-09-22 21:07:07 -04:00
28cfac3577 Use cloned middle in cloned outputs. 2014-09-22 09:25:16 -04:00
c0e4c99b74 Merge expires on stop in multi and pgsql outputs. 2014-09-19 17:21:44 -04:00
3b56428b98 Combine base classes way_cb_func and rel_cb_func into single base class cb_func. Move thread handling out of middle_t into osmtypes.cpp. 2014-09-17 07:55:44 -04:00
dec9b54d4d Merge remote-tracking branch 'origin/mla_threadpend' into jh_threadpend
Conflicts:
	.gitignore
2014-09-16 15:18:54 -04:00
fca5f04015 Add clone methods to output classes, which create clones using the copy constructors. 2014-09-15 17:06:49 -04:00
e47a48a2bf Abstract expire_tiles output.
Rather than just outputting to a file at destructor time, which
has the potential to go horribly wrong if anything is thrown, this
now needs `output_and_destroy()` to be called before the object
goes out of scope.

The output is now effectively a functor object, so this allows it
to be swapped out for testing purposes.
2014-09-15 18:33:43 +01:00
75f3a75862 make MOAR copy constructors although because we are using pointer to parent class output_t we will need to change to having a pure virtual clone method.. to actually use this in the threads 2014-09-12 16:46:43 -04:00
95ab5d3f82 a performance step back but simplify the hand off between middle pending and backend pending. this should allow us to treat every job we push into the queue the same. after we've got it threaded we can go back and redesign it to query multiple ids at a time and do batches or whatever means we deem fit 2014-09-10 14:57:27 -04:00
eaedf6d1d7 add some small bookkeeping to id tracker to know how many marks it is carrying at any one time. clean out the rest of the db stuff that was there for pending 2014-09-05 11:52:32 -04:00
2565bf738f since middle is not seprate from out we are now keeping all way tags in middle (ie sans filtering) that means that when an out gets at a way through the middle it cant expect its particular important tags to be the only ones there. therefore each out must filter using its own transform/export list before using a way 2014-06-17 11:28:22 -04:00