Changeset 48

Show
Ignore:
Timestamp:
11/10/07 19:12:27 (1 year ago)
Author:
nlawren2
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • vowfsc/Makefile

    r46 r48  
    1 current: db 
     1current: test 
    22        @echo made $@ 
    33 
    4 test: test.c db.o xdelta3.o 
    5         gcc test.c db.o xdelta3.o -lpq -o test 
     4test: test.o db.o xdelta3.o 
     5        gcc test.c xdelta3.o db.o -lpq -o test 
    66 
    7 db: db.o xdelta3.o 
    8         gcc xdelta3.o db.o -lpq -o db 
    9  
    10 xdelta: xdelta.o xdelta3.o 
    11         gcc xdelta.o xdelta3.o -o xdelta 
     7test.o: test.c 
     8        gcc test.c -c 
    129 
    1310db.o: db.c db.h file.db dir.db stream.db 
     
    1714        gcc xdelta3.c -c 
    1815 
    19 xdelta.o: xdelta.c 
    20         gcc xdelta.c -c 
    21  
    2216clean: 
    2317        rm *.o 
  • vowfsc/db.c

    r45 r48  
    33// For get_file and get_dir functions 
    44struct{ 
    5 #define db( type, name ) int name; 
    6 #define db_string( name ) int name; 
     5#define db_int( name )          int name; 
     6#define db_long( name )         int name; 
     7#define db_string( name )       int name; 
    78#include "file.db" 
    89} file_format; 
     
    1011 
    1112struct{ 
    12 #define db( type, name ) int name; 
    13 #define db_string( name ) int name; 
     13#define db_int( name )          int name; 
     14#define db_long( name )         int name; 
     15#define db_string( name )       int name; 
    1416#include "dir.db" 
    1517} dir_format; 
     
    1719 
    1820struct{ 
    19 #define db( type, name ) int name; 
    20 #define db_string( name ) int name; 
     21#define db_int( name )          int name; 
     22#define db_long( name )         int name; 
     23#define db_string( name )       int name; 
    2124#include "stream.db" 
    2225} stream_format; 
    2326int NUM_STREAM_FIELDS; 
    24  
    2527 
    2628// For DB communications 
     
    102104        } 
    103105         
    104         char *new_str=malloc(str_len); 
     106        char *new_str=malloc(str_len+1); 
    105107        new_str[0]='/'; 
    106108        int str_pos=1; 
     
    117119                free(temp); 
    118120        } 
     121        new_str[str_pos]='\0'; 
    119122        return new_str;  
    120123} 
     
    133136 
    134137        // The result should be in the first row of the first column 
    135         int revision_id=*(int*)PQgetvalue(res,0,0); 
     138        int revision_id=atoi(PQgetvalue(res,0,0)); 
    136139 
    137140        PQfreemem(res); 
     
    167170         
    168171        // The result should be in the first row of the first column 
    169         int file_id=*(int*)PQgetvalue(res,0,0); 
     172        int file_id=atoi(PQgetvalue(res,0,0)); 
    170173         
    171174        PQfreemem(res); 
     
    196199 
    197200        // Fill file_format with column numbers 
    198 #define db(type, name)  file_format.name = PQfnumber(res, #name ); 
     201#define db_int(name)    file_format.name = PQfnumber(res, #name ); 
     202#define db_long(name)   file_format.name = PQfnumber(res, #name ); 
    199203#define db_string(name) file_format.name = PQfnumber(res, #name ); 
    200204#include "file.db" 
     
    206210 
    207211        // Fill stat 
    208 #define db(type, name)  stat->name = *(type*)PQgetvalue(res, 0, file_format.name ); 
     212#define db_int(name)    stat->name = atoi(PQgetvalue(res, 0, file_format.name )); 
     213#define db_long(name)   stat->name = atol(PQgetvalue(res, 0, file_format.name )); 
    209214#define db_string(name) stat->name = strdup(PQgetvalue(res, 0, file_format.name )); 
    210215#include "file.db" 
     
    238243 
    239244        // Fill file_format with column numbers 
    240 #define db(type, name)  file_format.name = PQfnumber(res, #name ); 
     245#define db_int(name)    file_format.name = PQfnumber(res, #name ); 
     246#define db_long(name)   file_format.name = PQfnumber(res, #name ); 
    241247#define db_string(name) file_format.name = PQfnumber(res, #name ); 
    242248#include "file.db" 
     
    248254 
    249255        // Fill stat 
    250 #define db(type, name)  stat->name = *(type*)PQgetvalue(res, 0, file_format.name ); 
     256#define db_int(name)    stat->name = atoi(PQgetvalue(res, 0, file_format.name )); 
     257#define db_long(name)   stat->name = atol(PQgetvalue(res, 0, file_format.name )); 
    251258#define db_string(name) stat->name = strdup(PQgetvalue(res, 0, file_format.name )); 
    252259#include "file.db" 
     
    343350         
    344351        // The result should be in the first row of the first column 
    345         int dir_id=*(int*)PQgetvalue(res,0,0); 
     352        int dir_id=atoi(PQgetvalue(res,0,0)); 
    346353         
    347354        PQfreemem(res); 
     
    370377 
    371378        // Fill dir_format with column numbers 
    372 #define db(type, name)  dir_format.name = PQfnumber(res, #name ); 
     379#define db_int(name)    dir_format.name = PQfnumber(res, #name ); 
     380#define db_long(name)   dir_format.name = PQfnumber(res, #name ); 
    373381#define db_string(name) dir_format.name = PQfnumber(res, #name ); 
    374382#include "dir.db" 
     
    380388 
    381389        // Fill stat 
    382 #define db(type, name)  stat->name = *(type*)PQgetvalue(res, 0, dir_format.name ); 
     390#define db_int(name)    stat->name = atoi(PQgetvalue(res, 0, dir_format.name )); 
     391#define db_long(name)   stat->name = atol(PQgetvalue(res, 0, dir_format.name )); 
    383392#define db_string(name) stat->name = strdup(PQgetvalue(res, 0, dir_format.name )); 
    384393#include "dir.db" 
     
    410419 
    411420        // Fill dir_format with column numbers 
    412 #define db(type, name)  dir_format.name = PQfnumber(res, #name ); 
     421#define db_int(name)    dir_format.name = PQfnumber(res, #name ); 
     422#define db_long(name)   dir_format.name = PQfnumber(res, #name ); 
    413423#define db_string(name) dir_format.name = PQfnumber(res, #name ); 
    414424#include "dir.db" 
     
    420430 
    421431        // Fill stat 
    422 #define db(type, name)  stat->name = *(type*)PQgetvalue(res, 0, dir_format.name ); 
     432#define db_int(name)    stat->name = atoi(PQgetvalue(res, 0, dir_format.name )); 
     433#define db_long(name)   stat->name = atol(PQgetvalue(res, 0, dir_format.name )); 
    423434#define db_string(name) stat->name = strdup(PQgetvalue(res, 0, dir_format.name )); 
    424435#include "dir.db" 
     
    441452 
    442453        // The result should be in the first row of the first column 
    443         int revision_id=*(int*)PQgetvalue(res,0,0); 
     454        int revision_id=atoi(PQgetvalue(res,0,0)); 
    444455 
    445456        PQfreemem(res); 
     
    490501 
    491502        // Fill stream_format with column numbers 
    492 #define db(type, name)  stream_format.name = PQfnumber(res, #name ); 
     503#define db_int(name)    stream_format.name = PQfnumber(res, #name ); 
     504#define db_long(name)   stream_format.name = PQfnumber(res, #name ); 
    493505#define db_string(name) stream_format.name = PQfnumber(res, #name ); 
    494506#include "stream.db" 
     
    500512 
    501513        // Fill stat 
    502 #define db(type, name)  stat->name = *(type*)PQgetvalue(res, 0, stream_format.name ); 
     514#define db_int(name)    stat->name = atoi(PQgetvalue(res, 0, stream_format.name )); 
     515#define db_long(name)   stat->name = atol(PQgetvalue(res, 0, stream_format.name )); 
    503516#define db_string(name) stat->name = strdup(PQgetvalue(res, 0, stream_format.name )); 
    504517#include "stream.db" 
     
    514527        if( PQresultStatus(res) != PGRES_TUPLES_OK ) return NULL; 
    515528 
    516         int stream_id=*(int*)PQgetvalue(res,0,0); 
     529        int stream_id=atoi(PQgetvalue(res,0,0)); 
    517530 
    518531        PQfreemem(res); 
     
    534547 
    535548        if( PQresultStatus == PGRES_TUPLES_OK ){ 
    536                 stream_id = *(int*)PQgetvalue(res,0,0); 
     549                stream_id = atoi(PQgetvalue(res,0,0)); 
    537550                PQfreemem(res); 
    538551                 
     
    562575        if( PQresultStatus(res) != PGRES_TUPLES_OK ) return 0; 
    563576 
    564         int file_id=*(int*)PQgetvalue(res,0,0); 
     577        int file_id=atoi(PQgetvalue(res,0,0)); 
    565578 
    566579        PQfreemem(res); 
     
    574587        if( PQresultStatus(res) != PGRES_TUPLES_OK ) return 0; 
    575588 
    576         int file_uid=*(int*)PQgetvalue(res,0,0); 
     589        int file_uid=atoi(PQgetvalue(res,0,0)); 
    577590 
    578591        PQfreemem(res); 
     
    622635 
    623636        // Fill dir_format with column numbers 
    624 #define db(type, name)  dir_format.name = PQfnumber(res, #name ); 
     637#define db_int(name)    dir_format.name = PQfnumber(res, #name ); 
     638#define db_long(name)   dir_format.name = PQfnumber(res, #name ); 
    625639#define db_string(name) dir_format.name = PQfnumber(res, #name ); 
    626640#include "dir.db" 
     
    631645        int i; 
    632646        for( i=0; i< *length; ++i ){ 
    633 #define db(type, name)  listing[i].name = *(type*)PQgetvalue(res, i, dir_format.name ); 
     647#define db_int(name)    listing[i].name = atoi(PQgetvalue(res, i, dir_format.name )); 
     648#define db_long(name)   listing[i].name = atol(PQgetvalue(res, i, dir_format.name )); 
    634649#define db_string(name) listing[i].name = strdup(PQgetvalue(res, i, dir_format.name )); 
    635650#include "dir.db" 
     
    664679 
    665680        // Fill file_format with column numbers 
    666 #define db(type, name)  file_format.name = PQfnumber(res, #name ); 
     681#define db_int(name)    file_format.name = PQfnumber(res, #name ); 
     682#define db_long(name)   file_format.name = PQfnumber(res, #name ); 
    667683#define db_string(name) file_format.name = PQfnumber(res, #name ); 
    668684#include "file.db" 
     
    673689        int i; 
    674690        for( i=0; i< *length; ++i ){ 
    675 #define db(type, name)  listing[i].name = *(type*)PQgetvalue(res, i, file_format.name ); 
     691#define db_int(name)    listing[i].name = atoi(PQgetvalue(res, i, file_format.name )); 
     692#define db_long(name)   listing[i].name = atol(PQgetvalue(res, i, file_format.name )); 
    676693#define db_string(name) listing[i].name = strdup(PQgetvalue(res, i, file_format.name )); 
    677694#include "file.db" 
     
    691708        if( PQresultStatus(res) != PGRES_TUPLES_OK ) return NULL; 
    692709 
    693         int file_uid = PQgetvalue(res, 0,0); 
     710        int file_uid = atoi(PQgetvalue(res, 0,0)); 
    694711 
    695712        PQfreemem(res); 
     
    913930 
    914931        // Fill stream_format with column numbers 
    915 #define db(type, name)  stream_format.name = PQfnumber(res, #name ); 
     932#define db_int(name)    stream_format.name = PQfnumber(res, #name ); 
     933#define db_long(name)   stream_format.name = PQfnumber(res, #name ); 
    916934#define db_string(name) stream_format.name = PQfnumber(res, #name ); 
    917935#include "stream.db" 
     
    923941 
    924942        // Fill stat 
    925 #define db(type, name)  stat->name = *(type*)PQgetvalue(res, 0, stream_format.name ); 
     943#define db_int(name)    stat->name = atoi(PQgetvalue(res, 0, stream_format.name )); 
     944#define db_long(name)   stat->name = atol(PQgetvalue(res, 0, stream_format.name )); 
    926945#define db_string(name) stat->name = strdup(PQgetvalue(res, 0, stream_format.name )); 
    927946#include "stream.db" 
     
    932951} 
    933952 
    934 stream_t *db_get_file_rev_stream( int file_id, int revision_id ){ 
     953stream_t *db_get_stream_rev_stream( int file_id, int revision_id ){ 
    935954        stream_t *stat=malloc(sizeof(stream_t)); 
    936955         
     
    945964        if( PQresultStatus(res) != PGRES_TUPLES_OK ) return NULL; 
    946965 
    947         int stream_id = PQgetvalue(res, 0,0); 
     966        int stream_id = atoi(PQgetvalue(res, 0,0)); 
    948967 
    949968        PQfreemem(res); 
     
    964983 
    965984        // Fill stream_format with column numbers 
    966 #define db(type, name)  stream_format.name = PQfnumber(res, #name ); 
     985#define db_int(name)    stream_format.name = PQfnumber(res, #name ); 
     986#define db_long(name)   stream_format.name = PQfnumber(res, #name ); 
    967987#define db_string(name) stream_format.name = PQfnumber(res, #name ); 
    968988#include "stream.db" 
     
    974994 
    975995        // Fill stat 
    976 #define db(type, name)  stat->name = *(type*)PQgetvalue(res, 0, stream_format.name ); 
     996#define db_int(name)    stat->name = atoi(PQgetvalue(res, 0, stream_format.name )); 
     997#define db_long(name)   stat->name = atol(PQgetvalue(res, 0, stream_format.name )); 
    977998#define db_string(name) stat->name = strdup(PQgetvalue(res, 0, stream_format.name )); 
    978999#include "stream.db" 
  • vowfsc/db.h

    r45 r48  
    1313typedef struct file file_t; 
    1414struct file{ 
    15 #define db( type, name) type name; 
    16 #define db_string( name ) char *name; 
     15#define db_int( name)           int name; 
     16#define db_long( name)          long name; 
     17#define db_string( name )       char *name; 
    1718#include "file.db" 
    1819}; 
     
    2021typedef struct dir dir_t; 
    2122struct dir{ 
    22 #define db( type, name ) type name; 
    23 #define db_string( name ) char *name; 
     23#define db_int( name)           int name; 
     24#define db_long( name)          long name; 
     25#define db_string( name )       char *name; 
    2426#include "dir.db" 
    2527}; 
     
    2729typedef struct stream stream_t; 
    2830struct stream{ 
    29 #define db( type, name ) type name; 
    30 #define db_string( name ) char *name; 
     31#define db_int( name)           int name; 
     32#define db_long( name)          long name; 
     33#define db_string( name )       char *name; 
    3134#include "stream.db" 
    3235}; 
  • vowfsc/dir.db

    r43 r48  
    1 db(int,directory_id) 
    2 db(int,parent_id) 
    3 db(int,revision_id) 
    4 db(int,stream_id) 
     1db_int(directory_id) 
     2db_int(parent_id) 
     3db_int(revision_id) 
     4db_int(stream_id) 
    55 
    6 db(long,start_time) 
    7 db(long,end_time) 
     6db_long(start_time) 
     7db_long(end_time) 
    88 
    99db_string(directory_path) 
  • vowfsc/file.db

    r43 r48  
    1 db(int,file_id) 
    2 db(int,revision_id) 
    3 db(int,file_length) 
    4 db(int,parent_file_id) 
    5 db(int,directory_id) 
    6 db(int,stream_id) 
     1db_int(file_id) 
     2db_int(revision_id) 
     3db_int(file_length) 
     4db_int(parent_file_id) 
     5db_int(directory_id) 
     6db_int(stream_id) 
     7db_int(deleted_flag) 
    78 
    8 db(long,end_time) 
    9  
    10 db(bool,deleted_flag) 
     9db_long(end_time) 
    1110 
    1211db_string(file_name) 
  • vowfsc/stream.db

    r35 r48  
    1 db(int,stream_id); 
     1db_int(stream_id); 
    22 
    33db_string(stream_name); 
  • vowfsc/test.c

    r47 r48  
    33 
    44 
     5<<<<<<< .mine 
     6int main () { 
     7======= 
    58int main () 
    69{ 
     10>>>>>>> .r47 
    711        int db_stat = db_init("localhost", 5432, "template1", "postgres", ""); 
    8         if (db_stat) 
    9         { 
     12        if (db_stat) { 
    1013                db_destroy(); 
    1114                return -1; 
    1215        } 
    1316         
     17<<<<<<< .mine 
     18        printf("The dir id is: %i\n", db_get_dir_id("/foo/bar/")); 
     19======= 
    1420        db_get_dir_id("/foo/bar/"); 
     21>>>>>>> .r47 
    1522        db_destroy(); 
    1623        return 0;