2017-08-23 13:27:23 +02:00
|
|
|
|
#include "PgType.h"
|
2017-08-26 11:45:50 +02:00
|
|
|
|
#include "Pgsql_Connection.h"
|
2017-01-25 06:52:02 +01:00
|
|
|
|
|
2017-12-12 20:13:53 +01:00
|
|
|
|
void operator<<(TypCategory &s, const Pgsql::Value &v)
|
|
|
|
|
|
{
|
|
|
|
|
|
//s = static_cast<T>(v);
|
|
|
|
|
|
const char *c = v.c_str();
|
|
|
|
|
|
switch (*c) {
|
|
|
|
|
|
case 'A':
|
|
|
|
|
|
s = TypCategory::Array;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'B':
|
|
|
|
|
|
s = TypCategory::Boolean;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'D':
|
|
|
|
|
|
s = TypCategory::DateTime;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'E':
|
|
|
|
|
|
s = TypCategory::Enum;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'G':
|
|
|
|
|
|
s = TypCategory::Geometric;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'I':
|
|
|
|
|
|
s = TypCategory::NetworkAddress;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'N':
|
|
|
|
|
|
s = TypCategory::Numeric;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'P':
|
|
|
|
|
|
s = TypCategory::Pseudo;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'R':
|
|
|
|
|
|
s = TypCategory::Range;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'S':
|
|
|
|
|
|
s = TypCategory::String;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'T':
|
|
|
|
|
|
s = TypCategory::Timespan;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'U':
|
|
|
|
|
|
s = TypCategory::UserDefined;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'V':
|
|
|
|
|
|
s = TypCategory::BitString;
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 'X':
|
|
|
|
|
|
s = TypCategory::Unknown;
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-25 06:52:02 +01:00
|
|
|
|
PgType::PgType() = default;
|
|
|
|
|
|
|