Hey -
I'm posting this email on behalf of a user who tried to compile pg_shard with PostgreSQL 9.6dev.
Since 9.6dev is still in development, I'm inclined to look into this after pg_shard's 9.5 integration.
"btw, I tried to compile pg_shard from github with 9.6dev and got this:
gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -O2 -std=c99 -Wall -Wextra -Werror -Wno-unused-parameter -Iinclude -I/usr/local/pgsql-pro/include -Itest/include -I. -I./ -I/usr/local/pgsql-pro/include/server -I/usr/local/pgsql-pro/include/internal -c -o src/extend_ddl_commands.o src/extend_ddl_commands.c -MMD -MP -MF .deps/extend_ddl_commands.Po
src/extend_ddl_commands.c:608:28: error: implicit declaration of function 'deparse_context_for' is
invalid in C99 [-Werror,-Wimplicit-function-declaration]
List *defaultContext = deparse_context_for(masterRelationName,
^
src/extend_ddl_commands.c:608:11: error: incompatible integer to pointer conversion initializing
'List *' (aka 'struct List *') with an expression of type 'int' [-Werror,-Wint-conversion]
List *defaultContext = deparse_context_for(masterRelationName,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/extend_ddl_commands.c:610:32: error: implicit declaration of function 'deparse_expression' is
invalid in C99 [-Werror,-Wimplicit-function-declaration]
char *defaultValueString = deparse_expression(plannedExpression,
^
src/extend_ddl_commands.c:610:11: error: incompatible integer to pointer conversion initializing
'char *' with an expression of type 'int' [-Werror,-Wint-conversion]
char *defaultValueString = deparse_expression(plannedExpression,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/extend_ddl_commands.c:655:16: error: incompatible integer to pointer conversion assigning to
'List *' (aka 'struct List *') from 'int' [-Werror,-Wint-conversion]
checkContext = deparse_context_for(masterRelationName, masterRelationId);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/extend_ddl_commands.c:656:15: error: incompatible integer to pointer conversion assigning to
'char *' from 'int' [-Werror,-Wint-conversion]
checkString = deparse_expression(plannedExpression, checkContext, false, false);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/extend_ddl_commands.c:787:10: error: incompatible integer to pointer conversion initializing
'List *' (aka 'struct List *') with an expression of type 'int' [-Werror,-Wint-conversion]
List *exprContext = deparse_context_for(masterRelationName, masterRelationId);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/extend_ddl_commands.c:788:10: error: incompatible integer to pointer conversion initializing
'char *' with an expression of type 'int' [-Werror,-Wint-conversion]
char *exprString = deparse_expression(expression, exprContext, false, false);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8 errors generated."
Best,
Ozgun