408 Commits

Author SHA1 Message Date
Ajay Kulkarni
8ae80b1bbe Fix bullets 2017-03-15 10:13:17 -07:00
Ajay Kulkarni
5259a0cc4c Merged in readme-edits-ajay (pull request #122)
Clarify README

Approved-by: ci-vast
Approved-by: Matvey Arye
Approved-by: Solar Olugebefola
2017-03-15 17:10:29 +00:00
Ajay Kulkarni
cb5a5d3bd1 Clarify README 2017-03-15 09:28:24 -07:00
Rob Kiefer
940e0049bc Update README with PostgreSQL version 2017-03-15 10:08:13 -04:00
Matvey Arye
69a2cf23c8 Merged in insert-main (pull request #118)
Make insert operate on main table instead of on root table

Approved-by: enordstr NA
Approved-by: ci-vast
Approved-by: RobAtticus NA
2017-03-14 19:35:42 +00:00
Matvey Arye
e9c554a901 Make insert operate on main table instead of on root table 2017-03-14 12:49:17 -04:00
Matvey Arye
012fe87499 Forbid users from creating custom triggers on hypertables 2017-03-14 09:27:59 -04:00
enordstr NA
01c4cdc0dd Merged in enordstr/backend-database/enordstr/break-up-timescaledb-c (pull request #120)
Break up timescaledb.c

Approved-by: Olof Rensfelt
Approved-by: ci-vast
2017-03-14 13:19:30 +00:00
Erik Nordström
7236b9723b Rename internal planner data types for consistency 2017-03-14 14:08:44 +01:00
Erik Nordström
001c41f84a Rename IobeamLoaded() to extension_is_loaded() 2017-03-14 14:08:39 +01:00
Erik Nordström
aa51e221f3 Break up timescaledb.c into separate source files.
This patch refactors the source code so that a bunch of unrelated code
for the planner, process utilities and transaction management, which
was previously located in the common file timescaledb.c, is now broken
up into separate source files.
2017-03-14 13:50:08 +01:00
Erik Nordström
e641ae4f5c Fix broken comment. 2017-03-14 13:50:08 +01:00
enordstr NA
5f4b158c83 Merged in enordstr/backend-database/enordstr/no-storage-for-negative-cache-entries (pull request #119)
Avoid allocating hypertable cache storage for negative entries.

Approved-by: Olof Rensfelt
Approved-by: ci-vast
2017-03-14 12:37:29 +00:00
Erik Nordström
852ba7ee97 Avoid allocating hypertable cache storage for negative entries.
The hypertable cache stores negative cache entries to speed up checks
for tables that aren't hypertables. However, a full hypertable cache
entry was allocated for these negative entries, thus wasting cache
storage. With this update, the full entry is only allocated for
positive entries that actually represent hypertables.
2017-03-14 13:31:34 +01:00
Erik Nordström
a1da9bf5c5 Fix misleading comment 2017-03-14 10:08:28 +01:00
Rob Kiefer
bffc594d85 Release 0.0.3-beta & fix install script 0.0.3-beta 2017-03-13 20:37:27 -04:00
Rob Kiefer
1e9c215535 Update README with note about upgrades 2017-03-13 15:22:37 -04:00
Rob Kiefer
3e37745dc0 Release 0.0.2-beta (and update build scripts) 0.0.2-beta 2017-03-13 15:17:42 -04:00
Matvey Arye
84d32e2fbe Merged in planner-use-cache (pull request #117)
Make the planner use metadata cache

Approved-by: enordstr NA
Approved-by: ci-vast
2017-03-13 18:30:39 +00:00
Matvey Arye
1f13354bf9 Make the planner use metadata cache
Previously, the planner used a direct query via the SPI interface to
retrieve metadata info needed for query planner functions like query
rewriting. This commit updates the planner to use our caching system.
This is a performance improvement for pretty much all operations,
both data modifications and queries.

For hypertables, this added a cache keyed by the main table OID and
added negative entries (because the planner often needs to know if a
table is /not/ a hypertable).
2017-03-13 14:18:33 -04:00
Matvey Arye
089c427567 Merged in fix-permissions (pull request #106)
Allow non-superusers to work with the db (but also mess up the catalog)

Approved-by: RobAtticus NA
Approved-by: Olof Rensfelt
Approved-by: ci-vast
Approved-by: enordstr NA
2017-03-13 14:12:49 +00:00
Matvey Arye
fbdcab186f Allow non-superusers to work with the db (but also mess up the catalog)
Previous to this commit non-superusers could not do anything inside
a database with the timescale extension loaded. Now, non-superuser
can create their own hypertables and work inside the db. There are
two big caveats:
      1) All users have read/write permissions to the timescaledb
      catalog.
      2) Permission changes applied to the main tables are not
      propagated to the associated tables.
2017-03-13 10:11:37 -04:00
enordstr NA
21d4ebb23b Merged in enordstr/backend-database/enordstr/move-table-defs-to-catalog (pull request #116)
Move catalog table definitions to catalog.h

Approved-by: ci-vast
Approved-by: Matvey Arye
2017-03-12 09:33:50 +00:00
Erik Nordström
3a03348356 Move catalog table definitions to catalog.h
This patch continues work to consolidate catalog information
and definitions to the catalog module.

It also refactors the naming of some data types to adhere
to camelcase naming convention (Hypertable, PartitionEpoch).
2017-03-10 20:39:20 +01:00
enordstr NA
98d6d6a6fa Merged in enordstr/backend-database/enordstr/insert-trigger-sorting (pull request #113)
Refactor insert path to use triggers instead of temp copy table.

Approved-by: Matvey Arye
Approved-by: ci-vast
2017-03-10 19:21:04 +00:00
Erik Nordström
3c1e9cc4ce Refactor insert path to use triggers instead of temp copy table.
This patch refactors the insert path to use insert triggers
instead of a temporary copy table. The copy table previously
served as an optimization for big batches where the cost of
inserting tuple-by-tuple into chunks was amortized by inserting
all tuples for a specific chunk in one insert. However, to avoid
deadlocks the tuples also had to inserted in a specific chunk
order, requiring adding an index to the copy table.

With trigger insertion, tuples are instead collected over a batch
into a sorting state, which is sorted in an "after" trigger. This
removes the overhead of the copy table and index. It also provides
a fast-path for single-tuple batches that avoids doing sorting
altogether.
2017-03-10 19:46:43 +01:00
Rob Kiefer
a089baf9b7 Clarify on UsingSamples.md that dataset names are clickable 2017-03-10 12:52:23 -05:00
Andrew Staller
fdfe87f2db Merged in andrew-readme-edit (pull request #115)
config file name

Approved-by: RobAtticus NA
2017-03-10 17:50:23 +00:00
Andrew Staller
2be3f7caf1 Update README with correct .conf filename 2017-03-10 12:49:43 -05:00
Ajay Kulkarni
7e7e71baed Merged in ajay-readme-edits (pull request #114)
Add mention/link to technical paper.

Approved-by: RobAtticus NA
Approved-by: ci-vast
2017-03-10 17:21:16 +00:00
Ajay Kulkarni
b6640ca34f Add mention/link to technical paper. 2017-03-10 12:14:11 -05:00
enordstr NA
d719ed8976 Merged in enordstr/backend-database/enordstr/chunk-replica-native-scans-master (pull request #111)
Perform native scans for chunks (replicas)

Approved-by: Olof Rensfelt
Approved-by: ci-vast
Approved-by: Matvey Arye
2017-03-10 17:04:50 +00:00
RobAtticus NA
4cd4df3add Merged in limitations (pull request #110)
Update README with additional limitations

Approved-by: ci-vast
Approved-by: Ajay Kulkarni
2017-03-10 16:49:09 +00:00
Rob Kiefer
c7b9dbbc10 Update README with additional limitations 2017-03-10 11:46:02 -05:00
RobAtticus NA
dd7ad16644 Merged in migrate-script (pull request #109)
Add a migrate data script for large datasets

Approved-by: ci-vast
Approved-by: enordstr NA
2017-03-10 16:43:29 +00:00
Rob Kiefer
55736b9262 Add a migrate data script for large datasets
Currently TimescaleDB does not close chunks mid-insert, so large
batches will overfill a chunk. This commit adds a script to
split large CSV files into smaller batches to allow reasonable
closing of chunks.
2017-03-10 11:41:11 -05:00
Erik Nordström
d1ad3afd49 Perform native scans for chunks (replicas)
Previously, chunk replicas were retreived with an SPI query. Now, all
catalog items are retrieved with native scans, with the exception of
newly created chunks.

This commit also refactors the chunk (replica) cache, removing some
data structures that were duplicating information. Now chunks are
cached by their ID (including their replicas) instead of just the
set of replicas. This removes the need for additional data structures,
such as the replica set which looked like a chunk minus time info,
and the cache entry wrapper struct. Another upside is that chunks
can be retrieved from the cache directly by ID.
2017-03-10 17:28:49 +01:00
Olof Rensfelt
88eed92733 Merged in olof_rensfelt/backend-database/ore/add_rename_test (pull request #107)
Add tests for rename and drop hypertables

Approved-by: ci-vast
Approved-by: RobAtticus NA
Approved-by: Matvey Arye
Approved-by: enordstr NA
2017-03-10 13:24:49 +00:00
Olof Rensfelt
de3370deb8 Add tests for rename and drop hypertables 2017-03-10 14:21:51 +01:00
enordstr NA
79b7ba0f63 Merged in enordstr/backend-database/enordstr/fix-compilation-warnings (pull request #112)
Fix a number of compilation warnings

Approved-by: Olof Rensfelt
Approved-by: ci-vast
2017-03-10 08:47:32 +00:00
Erik Nordström
8ef6d41545 Fix a number of compilation warnings
Quench compilation warnings about "mixed declaration and
code" and comparing different type of enums.
2017-03-10 09:39:06 +01:00
Matvey Arye
329c309ecd Merged in catalog-multiple-indexes (pull request #108)
Enable catalog to support multiple indexes per table

Approved-by: ci-vast
Approved-by: enordstr NA
2017-03-09 17:07:54 +00:00
Matvey Arye
eb09ccc980 Enable catalog to support multiple indexes per table 2017-03-09 11:32:12 -05:00
Rob Kiefer
b1410271eb Update README to clarify using postgres as user 2017-03-07 15:16:30 -05:00
Rob Kiefer
fbd079f242 Update sample query output on UsingSamples.md
With update to TimescaleDB, we needed to create
new datasets. This commit updates the sample
output to reflect the new datasets.
0.0.1-beta
2017-03-07 14:57:20 -05:00
RobAtticus NA
4a2f89c7e6 Merged in api-docs (pull request #102)
Add an API reference in Markdown

Approved-by: Matvey Arye
Approved-by: ci-vast
Approved-by: Ajay Kulkarni
2017-03-07 19:44:24 +00:00
Rob Kiefer
aefb6a2d19 Add an API reference in Markdown and update README 2017-03-07 14:34:06 -05:00
Matvey Arye
57769ef532 Fix bug with planner not excluding chunks by space partition. 2017-03-07 14:28:56 -05:00
Matvey Arye
3b113c163f Merged in fast-path-close (pull request #103)
Implementing a c-based fast path for checking whether to close a chunk

Approved-by: ci-vast
2017-03-07 17:06:54 +00:00
Matvey Arye
00b69ac010 Change close-chunk logic to use a c-based fastpath
This change is a performance improvement. Previously each insert called
a plpgsql function to check if there is a need to close the chunk. This
patch implements a c-only fastpath for the case when the table size is
less than the configured chunk size.
2017-03-07 12:05:53 -05:00