Skip to content

Instantly share code, notes, and snippets.

View jdavcs's full-sized avatar
🐧

John Davis jdavcs

🐧
  • Johns Hopkins University
  • Baltimore, MD
View GitHub Profile
@jdavcs
jdavcs / sa_defer_galaxy.py
Created April 4, 2021 16:43
SA deferred load possible bug / galaxy simplified example, classical mapping
from sqlalchemy import (
create_engine,
inspect,
Column,
ForeignKey,
Integer,
MetaData,
String,
Table,
)
@jdavcs
jdavcs / sa_defer_simple.py
Created April 4, 2021 16:42
SA deferred load possible bug / basic demo
from sqlalchemy import (
create_engine,
inspect,
Column,
ForeignKey,
Integer
)
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import (
defer,
@jdavcs
jdavcs / poetry.out
Created March 24, 2021 18:10
`poetry lock -vvv` after adding `circus = "*"`
Using virtualenv: /home/sergey/0dev/galaxy/_galaxy/dev-deps-nosqlalchemyutils/.venv
Updating dependencies
Resolving dependencies...
1: fact: galaxy is 21.01
1: derived: galaxy
1: fact: galaxy depends on aiofiles (*)
1: fact: galaxy depends on async-generator (*)
1: fact: galaxy depends on async-exit-stack (*)
1: fact: galaxy depends on Babel (*)
1: fact: galaxy depends on bdbag (*)
@jdavcs
jdavcs / check_model.py
Created October 1, 2020 01:43
Compare db indexes defined in mapping.py to those in the database. Call check_model.sh from galaxy root.
import os
import sys
sys.path.insert(1, os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, 'lib')))
from sqlalchemy import create_engine, MetaData
from galaxy.model import mapping
from galaxy.model.orm.scripts import get_config
@jdavcs
jdavcs / 0_indexes.py
Last active September 30, 2020 20:49
compare indexes in db and defined in mapping.py
def test_indexes(self):
from sqlalchemy import create_engine, MetaData
from galaxy.model import mapping
# metadata loaded from mapping.py
md1 = mapping.metadata
ix1 = set()
for t in md1.tables.values():
ix1 |= t.indexes # mapping only: 422
@jdavcs
jdavcs / test_change_state.py
Last active March 24, 2020 18:07
Performance test for galaxy's JobWrapper change_state()
from scripts.db_shell import *
def create_jobs_with_datasets(n, datasets_per_job):
jobs = []
for i in range(n):
job = Job()
jobs.append(job)
for j in range(datasets_per_job):
ds = Dataset(state=Dataset.states.NEW)