Skip to content

Support GremLite#102

Open
skieffer wants to merge 35 commits into
mainfrom
gremlite
Open

Support GremLite#102
skieffer wants to merge 35 commits into
mainfrom
gremlite

Conversation

@skieffer

Copy link
Copy Markdown
Member

Resolves #100

This was double counting, due to matching each directed edge once in
each direction.
* As a part of this, we take long-overdue steps to put *all* methods
  of the GDB writer classes into transactions. Formerly, just the
  `index_module()` method (plus one method in the cypher writer)
  used transactions.

* We also address an issue arising with gremlinpython 3.6.1. We were
  compatible only up to 3.6.0, but now can go up to 3.7.2 (latest at
  this time).
* Accordingly upgrade gremlinpython

* For simplicity's sake, I also now give up on excluding the unneeded
  recursive reqs of gremlinpython.

  The purpose of that was to keep the docker images smaller, but that
  ship sailed when we accepted sphinx's inclusion of babel (30MB to
  format dates! -- see 230101 log notes)

* I also turn off pip-compile annotations in the secondary reqs
  files. For some reason they now include *absolute* filesystem
  paths when referring to other reqs files named under `-c` options,
  instead of relative, and I don't like that.
* One method, `check_approvals_under_anno()` actually gets an improved
  runtime (saving about 44% over old times).

* We build some experimental apparatus for trying to make the
  `get_existing_objects()` method more efficient, but ultimately just
  stick with the existing method.

* Added a bunch of comments to clarify why certain queries are written
  the way they are.
This was a funny issue that could have been resolved in several
different ways. See notes from 260118 on ghost node issue.

Was exposed by use of gremlite, which does not support the
`has_label(None)` case that *is* supported in TinkerGraph.
I couldn't find any good reason to have the `gdb` arg default to
`[GdbCode.RE]`, so I made `gdb` a required arg instead of keyword.
We also improve the behavior for unsupported cases, now printing
a helpful error message.
This makes it so the reader remains usable by the writer, while the
latter is in the middle of a transaction and has already made changes.
Otherwise, the reader may timeout and raise an sqlite "database locked"
exception.
@skieffer skieffer added enhancement New feature or request server server-side (all or primarily) manage concerns management code (all or primarily) labels Mar 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request manage concerns management code (all or primarily) server server-side (all or primarily)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for GremLite

1 participant