question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

isEmbedded() expose what sort of contract the leveldown can provide.

See original GitHub issue

After seeing a talk at nodeconf eu that used sqldown I realized it would be impossible to stop people using levelup with non-embedded back ends, and having a discussion of this https://github.com/rvagg/node-levelup/pull/255 scale every time would only turn me into a grumpy old bastard…

Then I realized there was a simpler possibility, we add an db.isEmbedded() method this would be exposed on the levelup and leveldown instances, and modules that do not support non-embedded databases can throw with a helpful error message (that links to documentation on the distinction between embedded and service databases)

Also, there would be documentation on isEmbedded() and it would be easy to do a few pull requests to add isEmbedded to the various leveldowns. So it would be simpler than reimplementing all of level https://github.com/rvagg/node-levelup/issues/270 (this will take a long time, anyway) but still allow people using level in other ways, such as @nlf @adambrault @fritzy are doing.

Issue Analytics

  • State:closed
  • Created 9 years ago
  • Comments:33 (30 by maintainers)

github_iconTop GitHub Comments

1reaction
vweeverscommented, Jun 15, 2018

Though some differences between memdown, level-js and leveldown have since been fixed (with regards to snapshots and buffers), there are lots of interesting ideas here that relate to manifests, so ref: https://github.com/Level/subleveldown/issues/35 and https://github.com/Level/deferred-leveldown/issues/35.

1reaction
juliangrubercommented, Sep 13, 2014

ah ok. agreed, this is good to know. thinking about future demands we could simplify by implementing a broader compatibility function, like:

db.has('embedded')
db.has('snapshots')
db.has('batches')

etc

Read more comments on GitHub >

github_iconTop Results From Across the Web

multilevel(down) and level-manifest compatibility · Issue #35 · Level ...
multilevel + level-manifest + level-sublevel supports exposing sublevels to clients ... isEmbedded() expose what sort of contract the leveldown can provide.
Read more >
leveldown - npm
Snapshots. leveldown exposes a feature of LevelDB called snapshots. This means that when you do e.g. createReadStream and createWriteStream at ...
Read more >
EMC IT Process Centre BPM Studio User's Guide - Dell
THE INFORMATION IN THIS PUBLICATION IS PROVIDED “AS IS.” EMC CORPORATION MAKES NO. REPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO THE...
Read more >
Security Guide - Directory Services 5.5 - ForgeRock Backstage
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF...
Read more >
IBM Security AppScan Standard: User Guide
IBM SecurityAppScan Standard employs three distinct testing techniques that complement and enhance each other: Dynamic Analysis ("black-box scanning").
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found