1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-13 07:41:39 +03:00

Run pgindent on 9.2 source tree in preparation for first 9.3

commit-fest.
This commit is contained in:
Bruce Momjian
2012-06-10 15:20:04 -04:00
parent 60801944fa
commit 927d61eeff
494 changed files with 7343 additions and 7046 deletions

View File

@ -42,7 +42,7 @@ typedef struct
char *input;
char *token_start;
char *token_terminator;
JsonValueType token_type;
JsonValueType token_type;
int line_number;
char *line_start;
} JsonLexContext;
@ -60,7 +60,7 @@ typedef enum
typedef struct JsonParseStack
{
JsonParseState state;
JsonParseState state;
} JsonParseStack;
typedef enum
@ -80,9 +80,9 @@ static void report_invalid_token(JsonLexContext *lex);
static char *extract_mb_char(char *s);
static void composite_to_json(Datum composite, StringInfo result, bool use_line_feeds);
static void array_dim_to_json(StringInfo result, int dim, int ndims, int *dims,
Datum *vals, bool *nulls, int *valcount,
TYPCATEGORY tcategory, Oid typoutputfunc,
bool use_line_feeds);
Datum *vals, bool *nulls, int *valcount,
TYPCATEGORY tcategory, Oid typoutputfunc,
bool use_line_feeds);
static void array_to_json_internal(Datum array, StringInfo result, bool use_line_feeds);
/* fake type category for JSON so we can distinguish it in datum_to_json */
@ -95,7 +95,7 @@ static void array_to_json_internal(Datum array, StringInfo result, bool use_line
Datum
json_in(PG_FUNCTION_ARGS)
{
char *text = PG_GETARG_CSTRING(0);
char *text = PG_GETARG_CSTRING(0);
json_validate_cstring(text);
@ -108,7 +108,7 @@ json_in(PG_FUNCTION_ARGS)
Datum
json_out(PG_FUNCTION_ARGS)
{
Datum txt = PG_GETARG_DATUM(0);
Datum txt = PG_GETARG_DATUM(0);
PG_RETURN_CSTRING(TextDatumGetCString(txt));
}
@ -120,7 +120,7 @@ Datum
json_send(PG_FUNCTION_ARGS)
{
StringInfoData buf;
text *t = PG_GETARG_TEXT_PP(0);
text *t = PG_GETARG_TEXT_PP(0);
pq_begintypsend(&buf);
pq_sendtext(&buf, VARDATA_ANY(t), VARSIZE_ANY_EXHDR(t));
@ -163,10 +163,10 @@ json_recv(PG_FUNCTION_ARGS)
static void
json_validate_cstring(char *input)
{
JsonLexContext lex;
JsonLexContext lex;
JsonParseStack *stack,
*stacktop;
int stacksize;
*stacktop;
int stacksize;
/* Set up lexing context. */
lex.input = input;
@ -183,7 +183,7 @@ json_validate_cstring(char *input)
/* Main parsing loop. */
for (;;)
{
JsonStackOp op;
JsonStackOp op;
/* Fetch next token. */
json_lex(&lex);
@ -213,7 +213,7 @@ redo:
else if (lex.token_start[0] == ']')
op = JSON_STACKOP_POP;
else if (lex.token_start[0] == '['
|| lex.token_start[0] == '{')
|| lex.token_start[0] == '{')
{
stack->state = JSON_PARSE_ARRAY_NEXT;
op = JSON_STACKOP_PUSH_WITH_PUSHBACK;
@ -235,7 +235,7 @@ redo:
if (lex.token_type == JSON_VALUE_STRING)
stack->state = JSON_PARSE_OBJECT_LABEL;
else if (lex.token_type == JSON_VALUE_INVALID
&& lex.token_start[0] == '}')
&& lex.token_start[0] == '}')
op = JSON_STACKOP_POP;
else
report_parse_error(stack, &lex);
@ -268,7 +268,7 @@ redo:
break;
default:
elog(ERROR, "unexpected json parse state: %d",
(int) stack->state);
(int) stack->state);
}
/* Push or pop the stack, if needed. */
@ -279,7 +279,8 @@ redo:
++stack;
if (stack >= &stacktop[stacksize])
{
int stackoffset = stack - stacktop;
int stackoffset = stack - stacktop;
stacksize = stacksize + 32;
stacktop = repalloc(stacktop,
sizeof(JsonParseStack) * stacksize);
@ -362,19 +363,19 @@ json_lex(JsonLexContext *lex)
}
else
{
char *p;
char *p;
/*
* We're not dealing with a string, number, legal punctuation mark,
* or end of string. The only legal tokens we might find here are
* true, false, and null, but for error reporting purposes we scan
* until we see a non-alphanumeric character. That way, we can report
* the whole word as an unexpected token, rather than just some
* We're not dealing with a string, number, legal punctuation mark, or
* end of string. The only legal tokens we might find here are true,
* false, and null, but for error reporting purposes we scan until we
* see a non-alphanumeric character. That way, we can report the
* whole word as an unexpected token, rather than just some
* unintuitive prefix thereof.
*/
for (p = s; (*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')
|| (*p >= '0' && *p <= '9') || *p == '_' || IS_HIGHBIT_SET(*p);
++p)
for (p = s; (*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')
|| (*p >= '0' && *p <= '9') || *p == '_' || IS_HIGHBIT_SET(*p);
++p)
;
/*
@ -431,7 +432,7 @@ json_lex_string(JsonLexContext *lex)
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("invalid input syntax for type json"),
errdetail_internal("line %d: Character with value \"0x%02x\" must be escaped.",
lex->line_number, (unsigned char) *s)));
lex->line_number, (unsigned char) *s)));
}
else if (*s == '\\')
{
@ -444,8 +445,8 @@ json_lex_string(JsonLexContext *lex)
}
else if (*s == 'u')
{
int i;
int ch = 0;
int i;
int ch = 0;
for (i = 1; i <= 4; ++i)
{
@ -466,7 +467,7 @@ json_lex_string(JsonLexContext *lex)
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("invalid input syntax for type json"),
errdetail_internal("line %d: \"\\u\" must be followed by four hexadecimal digits.",
lex->line_number)));
lex->line_number)));
}
}
@ -479,8 +480,8 @@ json_lex_string(JsonLexContext *lex)
ereport(ERROR,
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("invalid input syntax for type json"),
errdetail_internal("line %d: Invalid escape \"\\%s\".",
lex->line_number, extract_mb_char(s))));
errdetail_internal("line %d: Invalid escape \"\\%s\".",
lex->line_number, extract_mb_char(s))));
}
}
}
@ -497,17 +498,17 @@ json_lex_string(JsonLexContext *lex)
* (1) An optional minus sign ('-').
*
* (2) Either a single '0', or a string of one or more digits that does not
* begin with a '0'.
* begin with a '0'.
*
* (3) An optional decimal part, consisting of a period ('.') followed by
* one or more digits. (Note: While this part can be omitted
* completely, it's not OK to have only the decimal point without
* any digits afterwards.)
* one or more digits. (Note: While this part can be omitted
* completely, it's not OK to have only the decimal point without
* any digits afterwards.)
*
* (4) An optional exponent part, consisting of 'e' or 'E', optionally
* followed by '+' or '-', followed by one or more digits. (Note:
* As with the decimal part, if 'e' or 'E' is present, it must be
* followed by at least one digit.)
* followed by '+' or '-', followed by one or more digits. (Note:
* As with the decimal part, if 'e' or 'E' is present, it must be
* followed by at least one digit.)
*
* The 's' argument to this function points to the ostensible beginning
* of part 2 - i.e. the character after any optional minus sign, and the
@ -518,8 +519,8 @@ json_lex_string(JsonLexContext *lex)
static void
json_lex_number(JsonLexContext *lex, char *s)
{
bool error = false;
char *p;
bool error = false;
char *p;
/* Part (1): leading sign indicator. */
/* Caller already did this for us; so do nothing. */
@ -571,7 +572,7 @@ json_lex_number(JsonLexContext *lex, char *s)
/* Check for trailing garbage. */
for (p = s; (*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')
|| (*p >= '0' && *p <= '9') || *p == '_' || IS_HIGHBIT_SET(*p); ++p)
|| (*p >= '0' && *p <= '9') || *p == '_' || IS_HIGHBIT_SET(*p); ++p)
;
lex->token_terminator = p;
if (p > s || error)
@ -584,17 +585,17 @@ json_lex_number(JsonLexContext *lex, char *s)
static void
report_parse_error(JsonParseStack *stack, JsonLexContext *lex)
{
char *detail = NULL;
char *token = NULL;
int toklen;
char *detail = NULL;
char *token = NULL;
int toklen;
/* Handle case where the input ended prematurely. */
if (lex->token_start == NULL)
ereport(ERROR,
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("invalid input syntax for type json: \"%s\"",
lex->input),
errdetail_internal("The input string ended unexpectedly.")));
lex->input),
errdetail_internal("The input string ended unexpectedly.")));
/* Work out the offending token. */
toklen = lex->token_terminator - lex->token_start;
@ -636,8 +637,8 @@ report_parse_error(JsonParseStack *stack, JsonLexContext *lex)
ereport(ERROR,
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("invalid input syntax for type json: \"%s\"",
lex->input),
detail ? errdetail_internal(detail, lex->line_number, token) : 0));
lex->input),
detail ? errdetail_internal(detail, lex->line_number, token) : 0));
}
/*
@ -646,8 +647,8 @@ report_parse_error(JsonParseStack *stack, JsonLexContext *lex)
static void
report_invalid_token(JsonLexContext *lex)
{
char *token;
int toklen;
char *token;
int toklen;
toklen = lex->token_terminator - lex->token_start;
token = palloc(toklen + 1);
@ -658,7 +659,7 @@ report_invalid_token(JsonLexContext *lex)
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("invalid input syntax for type json"),
errdetail_internal("line %d: Token \"%s\" is invalid.",
lex->line_number, token)));
lex->line_number, token)));
}
/*
@ -667,8 +668,8 @@ report_invalid_token(JsonLexContext *lex)
static char *
extract_mb_char(char *s)
{
char *res;
int len;
char *res;
int len;
len = pg_mblen(s);
res = palloc(len + 1);
@ -687,11 +688,11 @@ datum_to_json(Datum val, bool is_null, StringInfo result, TYPCATEGORY tcategory,
Oid typoutputfunc)
{
char *outputstr;
char *outputstr;
if (is_null)
{
appendStringInfoString(result,"null");
appendStringInfoString(result, "null");
return;
}
@ -705,19 +706,20 @@ datum_to_json(Datum val, bool is_null, StringInfo result, TYPCATEGORY tcategory,
break;
case TYPCATEGORY_BOOLEAN:
if (DatumGetBool(val))
appendStringInfoString(result,"true");
appendStringInfoString(result, "true");
else
appendStringInfoString(result,"false");
appendStringInfoString(result, "false");
break;
case TYPCATEGORY_NUMERIC:
outputstr = OidOutputFunctionCall(typoutputfunc, val);
/*
* Don't call escape_json here if it's a valid JSON
* number. Numeric output should usually be a valid
* JSON number and JSON numbers shouldn't be quoted.
* Quote cases like "Nan" and "Infinity", however.
* Don't call escape_json here if it's a valid JSON number.
* Numeric output should usually be a valid JSON number and JSON
* numbers shouldn't be quoted. Quote cases like "Nan" and
* "Infinity", however.
*/
if (strpbrk(outputstr,NON_NUMERIC_LETTER) == NULL)
if (strpbrk(outputstr, NON_NUMERIC_LETTER) == NULL)
appendStringInfoString(result, outputstr);
else
escape_json(result, outputstr);
@ -742,13 +744,13 @@ datum_to_json(Datum val, bool is_null, StringInfo result, TYPCATEGORY tcategory,
* ourselves recursively to process the next dimension.
*/
static void
array_dim_to_json(StringInfo result, int dim, int ndims,int * dims, Datum *vals,
bool *nulls, int * valcount, TYPCATEGORY tcategory,
array_dim_to_json(StringInfo result, int dim, int ndims, int *dims, Datum *vals,
bool *nulls, int *valcount, TYPCATEGORY tcategory,
Oid typoutputfunc, bool use_line_feeds)
{
int i;
char *sep;
int i;
char *sep;
Assert(dim < ndims);
@ -759,7 +761,7 @@ array_dim_to_json(StringInfo result, int dim, int ndims,int * dims, Datum *vals,
for (i = 1; i <= dims[dim]; i++)
{
if (i > 1)
appendStringInfoString(result,sep);
appendStringInfoString(result, sep);
if (dim + 1 == ndims)
{
@ -770,10 +772,10 @@ array_dim_to_json(StringInfo result, int dim, int ndims,int * dims, Datum *vals,
else
{
/*
* Do we want line feeds on inner dimensions of arrays?
* For now we'll say no.
* Do we want line feeds on inner dimensions of arrays? For now
* we'll say no.
*/
array_dim_to_json(result, dim+1, ndims, dims, vals, nulls,
array_dim_to_json(result, dim + 1, ndims, dims, vals, nulls,
valcount, tcategory, typoutputfunc, false);
}
}
@ -792,9 +794,9 @@ array_to_json_internal(Datum array, StringInfo result, bool use_line_feeds)
int *dim;
int ndim;
int nitems;
int count = 0;
int count = 0;
Datum *elements;
bool *nulls;
bool *nulls;
int16 typlen;
bool typbyval;
@ -810,7 +812,7 @@ array_to_json_internal(Datum array, StringInfo result, bool use_line_feeds)
if (nitems <= 0)
{
appendStringInfoString(result,"[]");
appendStringInfoString(result, "[]");
return;
}
@ -842,52 +844,54 @@ array_to_json_internal(Datum array, StringInfo result, bool use_line_feeds)
static void
composite_to_json(Datum composite, StringInfo result, bool use_line_feeds)
{
HeapTupleHeader td;
Oid tupType;
int32 tupTypmod;
TupleDesc tupdesc;
HeapTupleData tmptup, *tuple;
int i;
bool needsep = false;
char *sep;
HeapTupleHeader td;
Oid tupType;
int32 tupTypmod;
TupleDesc tupdesc;
HeapTupleData tmptup,
*tuple;
int i;
bool needsep = false;
char *sep;
sep = use_line_feeds ? ",\n " : ",";
td = DatumGetHeapTupleHeader(composite);
td = DatumGetHeapTupleHeader(composite);
/* Extract rowtype info and find a tupdesc */
tupType = HeapTupleHeaderGetTypeId(td);
tupTypmod = HeapTupleHeaderGetTypMod(td);
tupdesc = lookup_rowtype_tupdesc(tupType, tupTypmod);
/* Extract rowtype info and find a tupdesc */
tupType = HeapTupleHeaderGetTypeId(td);
tupTypmod = HeapTupleHeaderGetTypMod(td);
tupdesc = lookup_rowtype_tupdesc(tupType, tupTypmod);
/* Build a temporary HeapTuple control structure */
tmptup.t_len = HeapTupleHeaderGetDatumLength(td);
tmptup.t_data = td;
/* Build a temporary HeapTuple control structure */
tmptup.t_len = HeapTupleHeaderGetDatumLength(td);
tmptup.t_data = td;
tuple = &tmptup;
appendStringInfoChar(result,'{');
appendStringInfoChar(result, '{');
for (i = 0; i < tupdesc->natts; i++)
{
Datum val, origval;
bool isnull;
char *attname;
for (i = 0; i < tupdesc->natts; i++)
{
Datum val,
origval;
bool isnull;
char *attname;
TYPCATEGORY tcategory;
Oid typoutput;
bool typisvarlena;
if (tupdesc->attrs[i]->attisdropped)
continue;
continue;
if (needsep)
appendStringInfoString(result,sep);
appendStringInfoString(result, sep);
needsep = true;
attname = NameStr(tupdesc->attrs[i]->attname);
escape_json(result,attname);
appendStringInfoChar(result,':');
attname = NameStr(tupdesc->attrs[i]->attname);
escape_json(result, attname);
appendStringInfoChar(result, ':');
origval = heap_getattr(tuple, i + 1, tupdesc, &isnull);
origval = heap_getattr(tuple, i + 1, tupdesc, &isnull);
if (tupdesc->attrs[i]->atttypid == RECORDARRAYOID)
tcategory = TYPCATEGORY_ARRAY;
@ -902,10 +906,10 @@ composite_to_json(Datum composite, StringInfo result, bool use_line_feeds)
&typoutput, &typisvarlena);
/*
* If we have a toasted datum, forcibly detoast it here to avoid memory
* leakage inside the type's output routine.
* If we have a toasted datum, forcibly detoast it here to avoid
* memory leakage inside the type's output routine.
*/
if (typisvarlena && ! isnull)
if (typisvarlena && !isnull)
val = PointerGetDatum(PG_DETOAST_DATUM(origval));
else
val = origval;
@ -917,8 +921,8 @@ composite_to_json(Datum composite, StringInfo result, bool use_line_feeds)
pfree(DatumGetPointer(val));
}
appendStringInfoChar(result,'}');
ReleaseTupleDesc(tupdesc);
appendStringInfoChar(result, '}');
ReleaseTupleDesc(tupdesc);
}
/*
@ -927,7 +931,7 @@ composite_to_json(Datum composite, StringInfo result, bool use_line_feeds)
extern Datum
array_to_json(PG_FUNCTION_ARGS)
{
Datum array = PG_GETARG_DATUM(0);
Datum array = PG_GETARG_DATUM(0);
StringInfo result;
result = makeStringInfo();
@ -943,8 +947,8 @@ array_to_json(PG_FUNCTION_ARGS)
extern Datum
array_to_json_pretty(PG_FUNCTION_ARGS)
{
Datum array = PG_GETARG_DATUM(0);
bool use_line_feeds = PG_GETARG_BOOL(1);
Datum array = PG_GETARG_DATUM(0);
bool use_line_feeds = PG_GETARG_BOOL(1);
StringInfo result;
result = makeStringInfo();
@ -960,7 +964,7 @@ array_to_json_pretty(PG_FUNCTION_ARGS)
extern Datum
row_to_json(PG_FUNCTION_ARGS)
{
Datum array = PG_GETARG_DATUM(0);
Datum array = PG_GETARG_DATUM(0);
StringInfo result;
result = makeStringInfo();
@ -976,8 +980,8 @@ row_to_json(PG_FUNCTION_ARGS)
extern Datum
row_to_json_pretty(PG_FUNCTION_ARGS)
{
Datum array = PG_GETARG_DATUM(0);
bool use_line_feeds = PG_GETARG_BOOL(1);
Datum array = PG_GETARG_DATUM(0);
bool use_line_feeds = PG_GETARG_BOOL(1);
StringInfo result;
result = makeStringInfo();
@ -1031,4 +1035,3 @@ escape_json(StringInfo buf, const char *str)
}
appendStringInfoCharMacro(buf, '\"');
}