static int
qsortCompareItemPointers(const void *a, const void *b)
{
- int res = ginCompareItemPointers((ItemPointer) a, (ItemPointer) b);
+ int res = ginCompareItemPointers((const ItemPointerData *) a, (const ItemPointerData *) b);
/* Assert that there are no equal item pointers being sorted */
Assert(res != 0);
static void restore_backend_variables(BackendParameters *param);
static bool save_backend_variables(BackendParameters *param, int child_slot,
- ClientSocket *client_sock,
+ const ClientSocket *client_sock,
#ifdef WIN32
HANDLE childProcess, pid_t childPid,
#endif
static pid_t internal_forkexec(BackendType child_kind, int child_slot,
const void *startup_data, size_t startup_data_len,
- ClientSocket *client_sock);
+ const ClientSocket *client_sock);
#endif /* EXEC_BACKEND */
pid_t
postmaster_child_launch(BackendType child_type, int child_slot,
void *startup_data, size_t startup_data_len,
- ClientSocket *client_sock)
+ const ClientSocket *client_sock)
{
pid_t pid;
*/
static pid_t
internal_forkexec(BackendType child_kind, int child_slot,
- const void *startup_data, size_t startup_data_len, ClientSocket *client_sock)
+ const void *startup_data, size_t startup_data_len, const ClientSocket *client_sock)
{
static unsigned long tmpBackendFileNum = 0;
pid_t pid;
*/
static pid_t
internal_forkexec(BackendType child_kind, int child_slot,
- const void *startup_data, size_t startup_data_len, ClientSocket *client_sock)
+ const void *startup_data, size_t startup_data_len, const ClientSocket *client_sock)
{
int retry_count = 0;
STARTUPINFO si;
/* Save critical backend variables into the BackendParameters struct */
static bool
save_backend_variables(BackendParameters *param,
- int child_slot, ClientSocket *client_sock,
+ int child_slot, const ClientSocket *client_sock,
#ifdef WIN32
HANDLE childProcess, pid_t childPid,
#endif
#ifdef USE_LIBXML
StringInfo buf = (StringInfo) PG_GETARG_POINTER(0);
xmltype *result;
+ const char *input;
char *str;
char *newstr;
int nbytes;
* parse that before converting to server encoding.
*/
nbytes = buf->len - buf->cursor;
- str = (char *) pq_getmsgbytes(buf, nbytes);
+ input = pq_getmsgbytes(buf, nbytes);
/*
* We need a null-terminated string to pass to parse_xml_decl(). Rather
*/
result = palloc(nbytes + 1 + VARHDRSZ);
SET_VARSIZE(result, nbytes + VARHDRSZ);
- memcpy(VARDATA(result), str, nbytes);
+ memcpy(VARDATA(result), input, nbytes);
str = VARDATA(result);
str[nbytes] = '\0';
static void
write_eventlog(int level, const char *line, int len)
{
- WCHAR *utf16;
int eventlevel = EVENTLOG_ERROR_TYPE;
static HANDLE evtHandle = INVALID_HANDLE_VALUE;
CurrentMemoryContext != NULL &&
GetMessageEncoding() != GetACPEncoding())
{
+ WCHAR *utf16;
+
utf16 = pgwin32_message_to_UTF16(line, len, NULL);
if (utf16)
{
+ const WCHAR *utf16_const = utf16;
+
ReportEventW(evtHandle,
eventlevel,
0,
NULL,
1,
0,
- (LPCWSTR *) &utf16,
+ &utf16_const,
NULL);
/* XXX Try ReportEventA() when ReportEventW() fails? */
* can batch calls to jsonapi_appendBinaryStringInfo.
*/
while (p < end - sizeof(Vector8) &&
- !pg_lfind8('\\', (uint8 *) p, sizeof(Vector8)) &&
- !pg_lfind8('"', (uint8 *) p, sizeof(Vector8)) &&
- !pg_lfind8_le(31, (uint8 *) p, sizeof(Vector8)))
+ !pg_lfind8('\\', (const uint8 *) p, sizeof(Vector8)) &&
+ !pg_lfind8('"', (const uint8 *) p, sizeof(Vector8)) &&
+ !pg_lfind8_le(31, (const uint8 *) p, sizeof(Vector8)))
p += sizeof(Vector8);
for (; p < end; p++)
astreamer_archive_context context)
{
astreamer_lz4_frame *mystreamer;
- uint8 *next_in,
- *next_out;
+ const uint8 *next_in;
+ uint8 *next_out;
size_t out_bound,
compressed_size,
avail_out;
mystreamer = (astreamer_lz4_frame *) streamer;
- next_in = (uint8 *) data;
+ next_in = (const uint8 *) data;
/* Write header before processing the first input chunk. */
if (!mystreamer->header_written)
astreamer_archive_context context)
{
astreamer_lz4_frame *mystreamer;
- uint8 *next_in,
- *next_out;
+ const uint8 *next_in;
+ uint8 *next_out;
size_t avail_in,
avail_out;
mystreamer = (astreamer_lz4_frame *) streamer;
- next_in = (uint8 *) data;
+ next_in = (const uint8 *) data;
next_out = (uint8 *) mystreamer->base.bbs_buffer.data + mystreamer->bytes_written;
avail_in = len;
avail_out = mystreamer->base.bbs_buffer.maxlen - mystreamer->bytes_written;
* so we want this to be inlined.
*/
static inline int
-ginCompareItemPointers(ItemPointer a, ItemPointer b)
+ginCompareItemPointers(const ItemPointerData *a, const ItemPointerData *b)
{
uint64 ia = (uint64) GinItemPointerGetBlockNumber(a) << 32 | GinItemPointerGetOffsetNumber(a);
uint64 ib = (uint64) GinItemPointerGetBlockNumber(b) << 32 | GinItemPointerGetOffsetNumber(b);
* return false.
*/
static inline bool
-pg_lfind8(uint8 key, uint8 *base, uint32 nelem)
+pg_lfind8(uint8 key, const uint8 *base, uint32 nelem)
{
uint32 i;
* 'key', otherwise return false.
*/
static inline bool
-pg_lfind8_le(uint8 key, uint8 *base, uint32 nelem)
+pg_lfind8_le(uint8 key, const uint8 *base, uint32 nelem)
{
uint32 i;
int child_slot,
void *startup_data,
size_t startup_data_len,
- struct ClientSocket *client_sock);
+ const struct ClientSocket *client_sock);
const char *PostmasterChildName(BackendType child_type);
#ifdef EXEC_BACKEND
pg_noreturn extern void SubPostmasterMain(int argc, char *argv[]);
break;
default:
/* Else just use the input, i.e., yytext */
- base_yylloc = loc_strdup(base_yytext);
- /* Apply an ASCII-only downcasing */
- for (unsigned char *ptr = (unsigned char *) base_yylloc; *ptr; ptr++)
{
- if (*ptr >= 'A' && *ptr <= 'Z')
- *ptr += 'a' - 'A';
+ char *tmp;
+
+ tmp = loc_strdup(base_yytext);
+ /* Apply an ASCII-only downcasing */
+ for (unsigned char *ptr = (unsigned char *) tmp; *ptr; ptr++)
+ {
+ if (*ptr >= 'A' && *ptr <= 'Z')
+ *ptr += 'a' - 'A';
+ }
+ base_yylloc = tmp;
+ break;
}
- break;
}
return token;
}