diff options
Diffstat (limited to 'gentoobrowse-api/service/utils/splitEbuildProps.cpp')
| -rw-r--r-- | gentoobrowse-api/service/utils/splitEbuildProps.cpp | 29 | 
1 files changed, 29 insertions, 0 deletions
| diff --git a/gentoobrowse-api/service/utils/splitEbuildProps.cpp b/gentoobrowse-api/service/utils/splitEbuildProps.cpp new file mode 100644 index 0000000..8116742 --- /dev/null +++ b/gentoobrowse-api/service/utils/splitEbuildProps.cpp @@ -0,0 +1,29 @@ +#include "splitEbuildProps.h" +#include <command.h> +#include "dbUtils.h" + +namespace Gentoo { +	namespace Utils { +		SplitEbuildProps::SplitEbuildProps(const std::string & ce, int e, const std::string & cp, const boost::optional<Glib::ustring> & p) : +			entityId(e), +			colEntityName(ce), +			colPropName(cp), +			props(p) +		{ +		} + +		void +		SplitEbuildProps::writeSql(AdHoc::Buffer & sql) +		{ +			sql.appendbf("(SELECT DISTINCT ?::int %s, trim(regexp_split_to_table(?, '\\s+'), '+') %s)", colEntityName, colPropName); +		} + +		void +		SplitEbuildProps::bindParams(DB::Command * c, unsigned int & offset) +		{ +			c->bindParamI(offset++, entityId); +			Gentoo::Utils::Database::bindOptionalsS(c, offset++, { props }); +		} +	} +} + | 
