Changeset 44
- Timestamp:
- 11/10/07 17:45:10 (10 months ago)
- Files:
-
- vowfsc/db.c (modified) (19 diffs)
- vowfsc/db.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
vowfsc/db.c
r43 r44 163 163 PGresult *res=PQexec(pq_conn,pq_request); 164 164 165 // Check for returned data 165 166 if( PQresultStatus(res) != PGRES_TUPLES_OK ) return NULL; 166 167 … … 177 178 file_t *stat=malloc(sizeof(file_t)); 178 179 180 // Make PQ request 179 181 char pq_request[BUFFER_SIZE]; 180 182 sprintf(pq_request,"SELECT * " … … 184 186 PGresult *res=PQexec(pq_conn,pq_request); 185 187 188 // Initialize format 186 189 if( NUM_FILE_FIELDS ){ 187 190 NUM_FILE_FIELDS = sizeof(file_format)/4; … … 216 219 file_t *stat=malloc(sizeof(file_t)); 217 220 221 // Make PQ request 218 222 char pq_request[BUFFER_SIZE]; 219 223 sprintf(pq_request,"SELECT * " … … 224 228 PGresult *res=PQexec(pq_conn,pq_request); 225 229 230 // Initialize format 226 231 if( NUM_FILE_FIELDS ){ 227 232 NUM_FILE_FIELDS = sizeof(file_format)/4; … … 257 262 "FROM file" 258 263 "WHERE file_id = \'%i\'" 259 "AND revision_id = (SELECT MAX(revision_id) FROM file WHERE file_id = 'some_id')",260 file_id );264 "AND revision_id = (SELECT MAX(revision_id) FROM file WHERE file_id = \'%i\')", 265 file_id, file_id); 261 266 PGresult *res=PQexec(pq_conn,pq_request); 262 267 … … 331 336 sprintf(pq_request,"SELECT directory_id " 332 337 "FROM directory " 333 "WHERE directory_path = \'%s\' " 334 "AND revision_id = (SELECT MAX(revision_id) FROM directory WHERE directory_path = 'some_path')", 338 "WHERE directory_path = \'%s\'", 335 339 dir_name); 336 340 PGresult *res=PQexec(pq_conn,pq_request); … … 545 549 "(stream_id, use_count, stream_name, stream) " 546 550 "VALUES" 547 " %i, 0, \'%s\', \'%s\'",551 "\'%i\', \'0\', \'%s\', \'%s\'", 548 552 stream_id, stream_name, stream); 549 553 PQfreemem(PQexec(pq_conn,pq_request)); … … 587 591 "(file_uid, file_id, file_path, file_name, stream_id) " 588 592 "VALUES " 589 " %i, %i, \'%s\', \'%s\', %i",593 "\'%i\', \'%i\', \'%s\', \'%s\', \'%i\'", 590 594 file_uid, file_id, dir_name, file_name, stream_id); 591 595 PQfreemem(PQexec(pq_conn, pq_request)); … … 599 603 sprintf(pq_request, "SELECT * " 600 604 "FROM directory " 601 "WHERE directory_id = %i",605 "WHERE directory_id = \'%i\'", 602 606 dir_id); 603 607 PGresult *res=PQexec(pq_conn,pq_request); … … 641 645 sprintf(pq_request, "SELECT * " 642 646 "FROM file " 643 "WHERE directory_id = %i",647 "WHERE directory_id = \'%i\'", 644 648 dir_id); 645 649 PGresult *res=PQexec(pq_conn,pq_request); … … 681 685 char pq_request[BUFFER_SIZE]; 682 686 sprintf(pq_request, "SELECT file_uid " 683 "WHERE file_id = %i AND revision_id = %i",687 "WHERE file_id = \'%i\' AND revision_id = \'%i\'", 684 688 file_id, revision_id); 685 689 PGresult *res = PQexec(pq_conn, pq_request); … … 720 724 "file_name, directory_path, directory_id, data) " 721 725 "VALUES " 722 "%i, %i, %i, %i, %i, %i, NOW, TRUE, %s, %s, %s", 726 "\'%i\', \'%i\', \'%i\', \'%i\', \'%i\', \'%i\', \'NOW\', " 727 "\'TRUE\', \'%s\', \'%s\', \'%s\'", 723 728 file_uid, file_id, file.revision_id, file.file_length, 724 729 parent_file_id, file.stream_id, file.file_name, … … 729 734 sprintf(pq_request, "UPDATE file " 730 735 "SET data = \'%s\' " 731 "WHERE file_uid = %i",736 "WHERE file_uid = \'%i\'", 732 737 diff, parent_file_id); 733 738 PQfreemem(PQexec(pq_conn, pq_request)); … … 767 772 "file_name, directory_path, directory_id, data) " 768 773 "VALUES " 769 "%i, %i, 0, %i, %i, %i, NOW, FALSE, %s, %s, %s", 774 "\'%i\', \'%i\', \'0\', \'%i\', \'%i\', \'%i\', \'NOW\', " 775 "\'FALSE\', \'%s\', \'%s\', \'%s\'", 770 776 file_uid, new_file_id, file.file_length, parent_file_id, 771 777 file.stream_id, new_file_name, new_dir_name, … … 811 817 "file_name, directory_path, directory_id, data) " 812 818 "VALUES " 813 "%i, %i, %i, %i, %i, %i, NOW, TRUE, %s, %s, %s", 819 "\'%i\', \'%i\', \'%i\', \'%i\', \'%i\', \'%i\', \'NOW\', " 820 "\'TRUE\', \'%s\', \'%s\', \'%s\'", 814 821 file_uid, file_id, file.revision_id, file.file_length, 815 822 parent_file_id, new_stream_id, file.file_name, … … 820 827 sprintf(pq_request, "UPDATE file " 821 828 "SET data = \'%s\' " 822 "WHERE file_uid = %i",829 "WHERE file_uid = \'%i\'", 823 830 diff, parent_file_id); 824 831 PQfreemem(PQexec(pq_conn, pq_request)); … … 856 863 "file_name, directory_path, directory_id, data) " 857 864 "VALUES " 858 "%i, %i, %i, %i, %i, %i, NOW, TRUE, %s, %s, %s", 865 "\'%i\', \'%i\', \'%i\', \'%i\', \'%i\', \'%i\', \'NOW\', " 866 "\'TRUE\', \'%s\', \'%s\', \'%s\'", 859 867 file_uid, file_id, file.revision_id, data_len, 860 868 parent_file_id, file.stream_id, file.file_name, … … 865 873 sprintf(pq_request, "UPDATE file " 866 874 "SET data = \'%s\' " 867 "WHERE file_uid = %i",875 "WHERE file_uid = \'%i\'", 868 876 diff, parent_file_id); 869 877 PQfreemem(PQexec(pq_conn, pq_request)); vowfsc/db.h
r43 r44 156 156 * non-zero on failture. 157 157 */ 158 int db_init( );158 int db_init(char *host, int port, char *dbname, char *username, char *password); 159 159 int db_destroy(); 160 160
