mirror of
https://github.com/pgpointcloud/pointcloud.git
synced 2025-12-08 20:36:04 +00:00
49 lines
1.2 KiB
C
49 lines
1.2 KiB
C
|
|
#include "postgres.h"
|
|
|
|
#include "utils/elog.h"
|
|
#include "utils/array.h"
|
|
#include "utils/builtins.h" /* for pg_atoi */
|
|
#include "lib/stringinfo.h" /* For binary input */
|
|
#include "catalog/pg_type.h" /* for CSTRINGOID */
|
|
|
|
#include "pc_api.h" /* For uncompressed pointcloud data. */
|
|
#include "pc_pgsql.h" /* Common PgSQL support for our type */
|
|
|
|
Datum pcpoint_in(PG_FUNCTION_ARGS);
|
|
Datum pcpoint_out(PG_FUNCTION_ARGS);
|
|
|
|
|
|
|
|
// PG_FUNCTION_INFO_V1(pcpoint_in);
|
|
// Datum pcpoint_in(PG_FUNCTION_ARGS)
|
|
// {
|
|
// char *str = PG_GETARG_CSTRING(0);
|
|
// /* Datum geog_oid = PG_GETARG_OID(1); Not needed. */
|
|
// int32 pc_typmod = -1;
|
|
// PCPOINT *pt;
|
|
//
|
|
// if ( (PG_NARGS()>2) && (!PG_ARGISNULL(2)) )
|
|
// {
|
|
// pc_typmod = PG_GETARG_INT32(2);
|
|
// }
|
|
//
|
|
// /* Empty string. */
|
|
// if ( str[0] == '\0' )
|
|
// {
|
|
// ereport(ERROR,(errmsg("parse error - invalid pcpoint")));
|
|
// }
|
|
//
|
|
// /* Binary or text form? Let's find out. */
|
|
// if ( str[0] == '0' )
|
|
// {
|
|
// pt = pc_point_from_hexbytes(
|
|
// size_t strsize = strlen(str);
|
|
// uint8_t *bytes = bytes_from_hexbytes(str,
|
|
// }
|
|
// else
|
|
// {
|
|
// ereport(ERROR,(errmsg("parse error - support for text format not yet implemented")));
|
|
// }
|
|
//
|