Refactor integration/data_test.go to use Test* names for the tests
and remove the TestAll test case, which uses reflection to iterate
over all test functions. Also, change the two SingleServerSuite
test functions in this file to DataTestSuite functions.
The DataTestSuite now conforms to standard Go / gocheck test
conventions. Individual tests can be run. Groups of tests can be
run by specifying patterns. E.g.,
make integraton_test only=DataTestSuite
...will run all tests in data_test.go. Or,
make integration_test only=DataTestSuite.Test.*Histogram
...will run all histogram related tests.
See the gocheck documentation for further details.
Conflicts:
integration/data_test.go
Refactor integration/data_test.go to use Test* names for the tests
and remove the TestAll test case, which uses reflection to iterate
over all test functions. Also, change the two SingleServerSuite
test functions in this file to DataTestSuite functions.
The DataTestSuite now conforms to standard Go / gocheck test
conventions. Individual tests can be run. Groups of tests can be
run by specifying patterns. E.g.,
make integraton_test only=DataTestSuite
...will run all tests in data_test.go. Or,
make integration_test only=DataTestSuite.Test.*Histogram
...will run all histogram related tests.
See the gocheck documentation for further details.
Combine the three separate loops for DB creation, running setup
functions, and running tests into one loop. Add a DB delete at the
end of each test for cleanup.
This groups output for each test together in one place. It also has
the advantage of not running all DB creations and setup functions until
they're needed.
Close#768
This patch isn't backward compatible since older version allowed the use
of table names with '-' without enclosing them. With this change, '-'
characters are disallowed completely unless they were enclosed in double
quotes. The parser can be made more complicated and be more context
aware to distinguish the use of the '-' character depending on the query
being parser, but I think the approach in this patch is simpler and less
confusing from the user's point of view.
Prior to this change, empty group filling worked between t1 and t2,
where t1 is the timestamp of the earliest point and t2 is the timestamp
of the last point. This patch change the behavior of the fill() to use
the query start and end time as t1 and t2, respectively. This only
happens if the user specified the start time of the query. Otherwise,
there's a potential of filling millions of millions of groups, since the
default start time of the query is really really early.
Points in the joined series should have either the columns of the left
side or the columns of the right side of the join. Before this patch
join relied on merge to order the points of the two series and then join
consecutive points together. The merge emitted the union of the columns
of the two series, which caused the joined series to always have the
union of two series. This combined with the fact that the point's values
weren't adjusted to have nulls for the missing columns caused panic when
any operation is done on the points, e.g. addition.
Fix#740, Fix#781