/*
* import.c
*
- * Copyright (c) 2012, NIPPON TELEGRAPH AND TELEPHONE CORPORATION
+ * Copyright (c) 2012-2014, NIPPON TELEGRAPH AND TELEPHONE CORPORATION
*/
#include "postgres.h"
#if PG_VERSION_NUM >= 90200
#include "catalog/pg_class.h"
#endif
+#if PG_VERSION_NUM >= 90300
+#include "access/htup_details.h"
+#endif
#include "pg_dbms_stats.h"
#if PG_VERSION_NUM >= 90200
&& relkind != RELKIND_FOREIGN_TABLE
#endif
+#if PG_VERSION_NUM >= 90300
+ && relkind != RELKIND_MATVIEW
+#endif
)
elog(ERROR, "relkind of \"%s\" is \"%c\", can not import",
get_rel_name(relid), relkind);
/* Execute COPY FROM command. */
parsetree_list = pg_parse_query(buf.data);
+#if PG_VERSION_NUM >= 90300
+ DoCopy((CopyStmt *)linitial(parsetree_list), buf.data, &processed);
+#else
processed = DoCopy((CopyStmt *)linitial(parsetree_list), buf.data);
+#endif
if (processed == 0)
elog(ERROR, "no data to be imported");
static void test_appendLiteral(int *passed, int *total);
#define StringEq(actual, expected) \
- (strcmp((actual), (expected)) == 0 ? 1 : \
- (elog(WARNING, "%s-%d failed: [%s]", \
- __FUNCTION__, caseno, (actual)), 0))
+ (strcmp((actual), (expected)) == 0 ? 1 : 0)
/*
* Test appendLiteral function
elog(WARNING, "%s-%d ok", __FUNCTION__, caseno);
(*passed)++;
}
+ else
+ {
+ elog(WARNING, "%s-%d failed: [%s]", __FUNCTION__, caseno, buf.data);
+ }
/*
* *-*-2:
elog(WARNING, "%s-%d ok", __FUNCTION__, caseno);
(*passed)++;
}
+ else
+ {
+ elog(WARNING, "%s-%d failed: [%s]", __FUNCTION__, caseno, buf.data);
+ }
/*
* *-*-3:
elog(WARNING, "%s-%d ok", __FUNCTION__, caseno);
(*passed)++;
}
+ else
+ {
+ elog(WARNING, "%s-%d failed: [%s]", __FUNCTION__, caseno, buf.data);
+ }
/*
* *-*-4:
elog(WARNING, "%s-%d ok", __FUNCTION__, caseno);
(*passed)++;
}
+ else
+ {
+ elog(WARNING, "%s-%d failed: [%s]", __FUNCTION__, caseno, buf.data);
+ }
/* report # of tests */
*total += caseno;