04-10-08 -------- Summary - Bug fix - Remote DRMS setup - Working prototype of a perl interface to SUMS API - BZERO and BSCALE Bug fix ------- Removed order by clause for series without prime keys. Remote DRMS setup ----------------- Helped Deborah Haber of U Colorado and Paul Rajaguru of IIA to set up their remote DRMS. Definitely a big time sink. Some of the trivial problems I have to deal with: 1. icc v10 does not compile because of SIG_BLOCK problem 2. gcc complained about static definition in sums:datestring() 3. -lz problem: cannot find -lz installed zlib, but not zlib-devel 4. database configuration This is by far the biggest problem. Our software will not run from a straight rpm installation of PostgreSQL. The minimum change to postgresql.conf is to open listenaddress to '*', and then use pg_hba.conf for host based access control. A few things to consider for future improvement related to DB: - perhaps we can allow localhost connection in addition to host connection - deal with missing hostname problem. Our second DB connection (for session information) currently relies on hostname, it really does not need to be. I have seen problem with .pgpass working with ip address only. - create a fix named temporary namespace using masterlists. And use this namespace in drms_series.sql and drms_session.sql. Working prototype of a perl interface to SUMS API ------------------------------------------------- Yes! I got it working! We have just about the hardest type mapping there, e.g., char **, dynamically allocated array. I have a perl wrapper for SUMS API functions of the following: SUM_t *SUMOpen(char *server, char *db); int SUMClose(SUM_t *sum); int SUMGet(SUM_t *sum); int SUMPut(SUM_t *sum); int SUMAlloc(SUM_t *sum); int SUM_poll(SUM_t *sum); int SUM_wait(SUM_t *sum); I managed to crash sum_svc while testing SUM_put(). Given up on wrapping printf. I have seen examples of how to do it. Too complex. Instead, I created wrapper functions like SUMOpen(char *server, char *db) { SUM_open(server, db, printf); } A few things to improve on: - use uint64_t instead of unsigned long long. - put swig command into makefile and select location for perl module. - test on gcc. currently using icc - move wrapper functions out of sum_open.c and into the interface spec. BZERO and BSCALE ---------------- Had good discussion with Art on BZERO and BSCALE. Art wrote down detailed notes. We think we understand the problem and have a solution.