/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2008-2010, Tomasz Sowa * All rights reserved. * */ #include "db.h" void Db::ItemColumns::SetColumns(PGresult * r) { // PQfnumber returns -1 if there is no such a column id = PQfnumber(r, "id"); user_id = PQfnumber(r, "user_id"); group_id = PQfnumber(r, "group_id"); privileges = PQfnumber(r, "privileges"); date_creation = PQfnumber(r, "date_creation"); date_modification = PQfnumber(r, "date_modification"); url = PQfnumber(r, "url"); type = PQfnumber(r, "type"); parent_id = PQfnumber(r, "parent_id"); content_id = PQfnumber(r, "content_id"); default_item = PQfnumber(r, "default_item"); subject = PQfnumber(r, "subject"); content = PQfnumber(r, "content"); content_type = PQfnumber(r, "content_type"); guest_name = PQfnumber(r, "guest_name"); auth = PQfnumber(r, "auth"); auth_path = PQfnumber(r, "auth_path"); } void Db::ItemColumns::SetItem(PGresult * r, long row, Item & item) { if( id != -1 ) item.id = atol( Db::AssertValue(r, row, id) ); if( user_id != -1 ) item.user_id = atol( Db::AssertValue(r, row, user_id) ); if( group_id != -1 ) item.group_id = atol( Db::AssertValue(r, row, group_id) ); if( privileges != -1 ) item.privileges = atoi( Db::AssertValue(r, row, privileges) ); if( date_creation != -1 ) item.date_creation = ConvertTime( Db::AssertValue(r, row, date_creation) ); if( date_modification != -1 ) item.date_modification = ConvertTime( Db::AssertValue(r, row, date_modification) ); if( url != -1 ) item.url = Db::AssertValue(r, row, url); if( type != -1 ) item.type = static_cast( atoi(Db::AssertValue(r, row, type)) ); if( parent_id != -1 ) item.parent_id = atol( Db::AssertValue(r, row, parent_id) ); if( content_id != -1 ) item.content_id = atol( Db::AssertValue(r, row, content_id) ); if( default_item != -1 ) item.default_item = atol( Db::AssertValue(r, row, default_item) ); if( subject != -1 ) item.subject = Db::AssertValue(r, row, subject); if( content != -1 ) item.content = Db::AssertValue(r, row, content); if( content_type != -1 ) item.content_type = static_cast( atoi(Db::AssertValue(r, row, content_type)) ); if( guest_name != -1 ) item.guest_name = Db::AssertValue(r, row, guest_name); if( auth != -1 ) item.auth = static_cast( atoi(Db::AssertValue(r, row, auth)) ); if( auth_path != -1 ) item.auth_path = Db::AssertValue(r, row, auth_path); } void Db::TicketColumns::SetColumns(PGresult * r) { // PQfnumber returns -1 if there is no such a column id = PQfnumber(r, "id"); dir_id = PQfnumber(r, "dir_id"); parent_id = PQfnumber(r, "parent_id"); type = PQfnumber(r, "type"); status = PQfnumber(r, "status"); priority = PQfnumber(r, "priority"); category = PQfnumber(r, "category"); expected = PQfnumber(r, "expected"); progress = PQfnumber(r, "progress"); item_id = PQfnumber(r, "item_id"); } void Db::TicketColumns::SetTicket(PGresult * r, long row, Ticket & ticket) { if( id != -1 ) ticket.id = atol( Db::AssertValue(r, row, id) ); if( dir_id != -1 ) ticket.dir_id = atol( Db::AssertValue(r, row, dir_id) ); if( parent_id != -1 ) ticket.parent_id = atol( Db::AssertValue(r, row, parent_id) ); if( type != -1 ) ticket.type = atoi( Db::AssertValue(r, row, type) ); if( status != -1 ) ticket.status = atoi( Db::AssertValue(r, row, status) ); if( priority != -1 ) ticket.priority = atoi( Db::AssertValue(r, row, priority) ); if( category != -1 ) ticket.category = atoi( Db::AssertValue(r, row, category) ); if( expected != -1 ) ticket.expected = atoi( Db::AssertValue(r, row, expected) ); if( progress != -1 ) ticket.progress = atoi( Db::AssertValue(r, row, progress) ); if( item_id != -1 ) ticket.item_id = atol( Db::AssertValue(r, row, item_id) ); }