Skip to content

Instantly share code, notes, and snippets.

from falkordb import FalkorDB
# Connect to FalkorDB
db = FalkorDB(host='localhost', port=6379)
# Select the social graph
g = db.select_graph('social')
# Create index
try:
@swilly22
swilly22 / version_bump.sh
Created July 21, 2020 08:34
bump version
#!/bin/bash
VERSION_H=./src/version.h
MAJOR=99
MINOR=99
PATCH=99
DRYRUN=echo
read -r -p "dryrun? [Y/n]" input
if [ "$input" == "n" ]; then
@swilly22
swilly22 / reentrant_lock.c
Created July 13, 2020 14:01
reentrant read lock when writer is trying to acquire lock
#include <assert.h>
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
pthread_rwlock_t rwlock;
void* writer(void *arg) {
printf("in writer thread, trying to acquire write lock\n");
pthread_rwlock_wrlock(&rwlock);
// Create a new matrix iterator
GrB_Info GxB_MatrixTupleIter_new
(
GxB_MatrixTupleIter **iter, // iterator to create
GrB_Matrix A // matrix being iterated
) ;
// Iterate over specific row
GrB_Info GxB_MatrixTupleIter_iterate_row
(
@swilly22
swilly22 / Redis Malloc Dockerfile
Created February 27, 2020 05:53
Docker image containing Redis-Server compiled with malloc instead of j-malloc
#
# Redis malloc
#
# Pull base image.
FROM ubuntu:14.04
# Install.
RUN \
sed -i 's/# \(.*multiverse$\)/\1/g' /etc/apt/sources.list && \
@swilly22
swilly22 / toUpper.c
Last active September 16, 2019 07:13
SIValue toUpper(SIValue v) {
SIType actual_type = SI_TYPE(v);
if(actual_type != SI_STRING) {
const char *actual_type_str = SIType_ToString(actual_type);
raise("Type mismatch: expected string but was %s", actual_type_str);
}
}
@swilly22
swilly22 / trycatch.c
Last active September 15, 2019 10:33
try {
// Perform work which might throw an exception
work();
} catch (error *e) {
reportError(e);
}
@swilly22
swilly22 / WithGoTo.c
Last active September 15, 2019 10:30
void f(void) {
void *a = NULL;
void *b = NULL;
void *c = NULL;
a = malloc(32);
//...
if(cond1) goto cleanup;
b = malloc(64);
void f(void) {
void *a = NULL;
void *b = NULL;
void *c = NULL;
a = malloc(32);
//...
if(cond1) {
free(a)
return;
@swilly22
swilly22 / longjmp.c
Last active September 15, 2019 07:51
// ExecutionPlan.c
function Query_Execute() {
/* Set an exception-handling breakpoint to capture run-time errors.
* encountered_error will be set to 0 when setjmp is invoked, and will be nonzero if
* a downstream exception returns us to this breakpoint. */
QueryCtx *ctx = pthread_getspecific(_tlsQueryCtxKey);
if(!ctx->breakpoint) ctx->breakpoint = rm_malloc(sizeof(jmp_buf));
int encountered_error = setjmp(*ctx->breakpoint);
if(encountered_error) {