Commit Graph

391 Commits

Author SHA1 Message Date
Dan Willhite 705b13cfa8 Make termio scrolling more efficient 2017-11-09 15:10:59 -08:00
Erik Arvidsson c3a7a71f78 Update version to 7.18 2017-10-27 15:49:26 -07:00
Rafael Weinstein 69759ba023 Avoid creating gigantic chunks with Lists of very long repeated values (#3765)
Avoid creating gigantic chunks with Lists of very long repeated values (#3765)
2017-10-18 21:14:23 -07:00
Erik Arvidsson 3317130741 Make metaTuple backed by []byte (#3746)
This is a version change since there was a bug in the old code; it
didn't include the numLeaves in the rolling hash.

Towards #2270
2017-09-28 16:05:38 -07:00
Dan Willhite 9405ea41d4 Add ability to import csv in column major order (#3742)
Added --invert argument to indicate column major order
  Added --append argument to append imported data to current head of dataset
  Added --limit-records to import data for limited number of rows
2017-09-28 11:22:46 -07:00
Jesse Ditson 8be0ae7c6b update code blocks to always specify syntax, fix ordered list (#3734) 2017-09-23 16:25:46 -07:00
Aaron Boodman ec302256b6 Restructure decentralized examples directory structure (#3730) 2017-09-20 17:39:21 -07:00
Dan Willhite 742f0681c3 Modifications to ipfs-chat and ipfs chunkstore (#3691)
* Modifications to ipfs-chat and ipfs chunkstore
 * Change ipfs paths to include directory where ipfs repo is stored.
 * Rework ipfs-chat to create ipfs chunkstores manually rather than
   relying on Spec.ForDataset. This enables creating two chunkstores
   (one local and one network) using the same IpfsNode (ipfs repo).
 * Create separate replicate function for daemon and mergeMessage
   function for client to experiment with slightly different behaviors
   for each.

* Re-organization of code to remove duplication.

The main points are:
* added event loop to process events synchronously
* more agressive about not re-processing msgs from other nodes
  that we've already processed
* fixed bug in ipfs chunkstore HasMany()

* Add go-base58 library
2017-09-19 17:54:32 -07:00
Erik Arvidsson 6fcfeeb215 Optimize CSV Export (#3721)
This optimizes CSV export after the change in types.Value being backed
by byte slices.

Towards #3710
2017-09-19 00:48:21 -07:00
wardn 386c3f3e3e NOMSFS: only build for darwin/linux (#3712) 2017-09-17 09:45:36 -07:00
Erik Arvidsson b497bcc974 Make values be backed by []byte (#3694)
This makes all but types.Type be backed by a []byte.

The motivation is to reduce the allocations and the work needed to be
done when we read parts of a value (especially prolly trees).

Towards #2270
2017-09-14 17:45:08 -07:00
wardn e6c5675a54 remove js implementation (#3705) 2017-09-14 11:51:03 -07:00
Erik Arvidsson 5ff6432c7b Add support for parsing values (#3688)
This allows parsing all Noms values from the string representation
used by human readable encoding:

```
v, err := nomdl.Parse(vrw, `map {"abc": 42}`)
```

Fixes #1466
2017-09-13 15:02:01 -07:00
cmasone-attic d3be53d164 csv-invert: Perf improvments! (#3698)
Tweaking the main loop that processes list entries to avoid some
map assignments, lookups, and allocations saves 15% or so, resulting
in an overall savings of about 1m on the 6m runtime of our test
workload (as run on my laptop).

Towards #3690
2017-09-12 15:48:22 -07:00
cmasone-attic 1b5ac05793 csv-invert command line tool (#3689)
Takes the output of a CSV file imported as a List of Struct and
"inverts" it so that it's now a Struct of Lists.

Example:

List<Struct Row {
  Base?: String,
  DOLocationID?: String,
}>

becomes

Struct Columnar {
  base: List<String>,
  dolocationid: List<String>,
}
2017-09-12 15:05:31 -07:00
Aaron Boodman a18bd984d1 Update importer.go 2017-09-09 19:59:09 -07:00
wardn b213146428 fix csv-importer dest-type description (#3682) 2017-09-09 19:58:06 -07:00
Aaron Boodman 484587a2b4 Fix broken build (#3680) 2017-09-08 02:54:45 -07:00
Aaron Boodman f0568592b8 Add import to p2p sample (#3679) 2017-09-08 02:10:01 -07:00
Aaron Boodman a25ea915a7 add a simpler p2p ipfs-chat (#3678) 2017-09-07 18:32:47 -07:00
Ben Kalman 03b7221c36 Use stretchr/testify not attic-labs/testify (#3677)
stretchr has fixed a bug with the -count flag. I could merge these
changes into attic-labs, but it's easier to just use strechr.

We forked stretchr a long time ago so that we didn't link in the HTTP
testing libraries into the noms binaries (because we were using d.Chk in
production code). The HTTP issue doesn't seem to happen anymore, even
though we're still using d.Chk.
2017-09-07 15:01:03 -07:00
Eric Halpern 5d1723674b Add --lowercase option to map column names to lowercase struct names (#3675)
* Add --lowercase option to map column names to lowercase struct names

By default, each column name maps to a struct field preserving the original case.
If --lowercase is specified the resulting struct fields will always be lowercase.
2017-09-07 11:21:31 -07:00
Aaron Boodman 759cf4fe58 gofmt (#3671) 2017-09-05 18:47:56 -07:00
Dan Willhite 071ba838d2 Modifications to ipfs-chat can ipfs chunkstore (#3666) 2017-09-05 18:35:50 -07:00
Ian Davis 63a72d3bfb Use ETag/If-None-Match in url-fetch (#3664) 2017-09-04 01:02:21 -07:00
Dan Willhite aa65868741 Changes to accommodate new version of ipfs 2017-08-31 10:48:27 -07:00
Dan Willhite b1cb8a0fff Add rate limit to ipfs chunkstore, increase thread limit 2017-08-30 17:09:54 -07:00
Dan Willhite 04e837bad9 Increase rlimit and auto-initialize IPFS repos 2017-08-30 11:52:50 -07:00
Rafael Weinstein c3f98d1631 Remove in mem graphs (#3635)
This patch removes the ability to keep alive uncommitted prolly-tree sequences.
2017-08-29 13:12:10 -07:00
Rafael Weinstein 61f3d87dcf Introduce Sloppy (#3631)
Introduce Sloppy - an estimating compression function for snappy - which allows for the rolling hash to better produce a given target chunk size after compression.
2017-08-28 13:23:00 -07:00
Dan Willhite 60f676616b Various improvements
* Fix scrolling issue
* Make importer merge scripts in with pre-existing texts before committing
2017-08-25 17:25:38 -07:00
Dan Willhite c24e10646f Change msg key to be date-based rather than consecutive integer 2017-08-25 17:25:38 -07:00
Dan Willhite 996741a669 In pubsub, skip replication work on same hash notification 2017-08-25 17:25:38 -07:00
Dan Willhite 500a33eb51 Fix disappearing highlighting and scrolling issue 2017-08-25 17:25:38 -07:00
Dan Willhite cc42196818 Clean up usernames from import and limit to top 30 2017-08-25 17:25:38 -07:00
Dan Willhite 95aac7ca1e Merge modifications made by Aaron. (#3638)
* Add kingpin library for argument handling.
* Update hard-coded Version number in chunkstore.
* Store noms repo information in ipfs home directory.
2017-08-24 17:50:15 -07:00
Dan Willhite 23e0bb388b Introduce ipfs-chat (#3637)
* Add github.com/mattn/go-runewidth to vendor directory

* Add golang.org/x/net/html library to vendor directory

* Add github.com/nsf/termbox-go library to vendor directory

* Introduce ipfs-chat

* Add github.com/jroimartin/gocui library to vendor directory
2017-08-24 11:02:59 -07:00
cmasone-attic 461ff64579 NBS: Fix large HTTP {get,has}Refs/ requests (#3629)
When we added GetMany and HasMany, we didn't realize that requests
could then be larger than the allowable HTTP form size. This patch
makes the body of getRefs and hasRefs be serialized as binary instead,
which addresses this issue and actually makes the request body more
compact.

Fixes #3589
2017-08-22 14:24:13 -07:00
Jesse Ditson 5db3cf1679 kingpin docs, noms blob [put | get] (#3621)
* use kingpin for help and new commands, set up dummy command for noms blob

* document existing commands using kingpin

* remove noms-get and noms-set in favor of new noms blob command

* normalize bool flags in tests, remove redundant cases that kingpin now handles

* add kingpin to vendor files

* make profile flags global

* move --verbose and --quiet to global flags
2017-08-16 16:35:22 -07:00
Jesse Ditson bb6f68e1e6 update README for OSXFuse (#3611) 2017-08-03 19:33:25 -07:00
Rafael Weinstein f290a711c2 BlobEditor (#3599) 2017-07-25 13:40:49 -07:00
cmasone-attic f1c0b80bf6 Allow server to re-try commits if it can (#3596)
Right now, the only kinds of Commits that the server will retry are those
to different datasets. That is, if another client concurrently landed a change 
to some other dataset, and that is the only thing that causes your Commit 
attempt to fail, the server will retry.
 
Fixes #3582
2017-07-20 14:24:05 -07:00
Rafael Weinstein 44941ee44c Refactor Blob reading (#3593) 2017-07-19 15:01:44 -07:00
Rafael Weinstein fe0fc3ad86 Introduce SetEditor, Nestable Editors (#3557) 2017-06-21 15:22:04 -07:00
Rafael Weinstein 763a87aa60 Reland advance to fix (#3555) 2017-06-20 12:45:51 -07:00
Rafael Weinstein 1796d2f865 Streaming p tree updates + Map Editor (#3545) 2017-06-15 15:49:04 -07:00
Rafael Weinstein d675e4d8f4 Chunking V2 (#3521) 2017-06-13 10:48:03 -07:00
cmasone-attic 46cf38eaae Simplify Pull() (#3490)
In an NBS world, bulk 'has' checks are waaaay cheaper than they used
to be. In light of this, we can toss out the complex logic we were
using in Pull() -- which basically existed for no reason other than to
avoid doing 'has' checks. Now, the code basically just descends down a
tree of chunks breadth-first, using HasMany() at each level to figure
out which chunks are not yet in the sink all at once, and GetMany() to
pull them from the source in bulk.

Fixes #3182, Towards #3384
2017-05-22 15:50:12 -07:00
Dan Willhite f196e50e03 Remove vestigial 'verbose' argument to NewGraphBuilder (#3482) 2017-05-17 15:57:49 -07:00
cmasone-attic 1d52617eb5 NBS table names now just hash of suffix block (#3421)
Used to be that an NBS table was named by hashing the hashes
of every chunk present in the table, in hash order. That means
that to generate the name of a table you'd need to iterate
the prefix map and load every associated suffix. That would
be expensive when e.g. compacting multiple tables. This is
waaay cheaper and only slightly more likely to wind up with a
name collision.

Toward #3411
2017-04-24 14:45:54 -07:00