Proposal to add a QNX 6.5 port to PostgreSQL

Поиск
Список
Период
Сортировка
От Baker, Keith [OCDUS Non-J&J]
Тема Proposal to add a QNX 6.5 port to PostgreSQL
Дата
Msg-id 25171C9D43848A4A9FFF65373179D8025AC00FD3@ITSUSRAGMDGD05.jnj.com
обсуждение исходный текст
Ответы Re: Proposal to add a QNX 6.5 port to PostgreSQL  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Proposal to add a QNX 6.5 port to PostgreSQL  (Merlin Moncure <mmoncure@gmail.com>)
Список pgsql-hackers
<div class="WordSection1"><p class="MsoNormal">I propose that a QNX 6.5 port be introduced to PostgreSQL.<p
class="MsoNormal"> <pclass="MsoNormal">I am new to PostgreSQL development, so please bear with me.<p
class="MsoNormal"> <pclass="MsoNormal">I have made good progress (with 1 outstanding issue, details below):<p
class="MsoListParagraph"style="text-indent:-.25in;mso-list:l2 level1 lfo4"><span style="font-family:Symbol"><span
style="mso-list:Ignore">·<spanstyle="font:7.0pt "Times New Roman"">         </span></span></span>I created a QNX 6.5
portof PostgreSQL 9.3.4 which passes regression tests.<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l2
level1lfo4"><span style="font-family:Symbol"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New
Roman"">        </span></span></span>I merged my changes into 9.4beta2, and with a few minor changes, it passes
regressiontests.<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l2 level1 lfo4"><span
style="font-family:Symbol"><spanstyle="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span>QNXsupport states that QNX 6.5 SP1 binaries run on QNX 6.6 without modification, which I confirmed
witha few quick tests.<p class="MsoNormal"> <p class="MsoNormal">Summary of changes required for PostgreSQL 9.3.4 on
QNX6.5:<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><span
style="font-family:Symbol"><spanstyle="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span>Typicalchanges required for any new port (template, configure.in, dynloader, etc.)<p
class="MsoListParagraph"style="text-indent:-.25in;mso-list:l0 level1 lfo1"><span style="font-family:Symbol"><span
style="mso-list:Ignore">·<spanstyle="font:7.0pt "Times New Roman"">         </span></span></span>QNX lacks System V
sharedmemory: I created “src/backend/port/posix_shmem.c” which replaces System V calls (shmget, shmat, shmdt, …) with
POSIXcalls (shm_open, mmap, munmap, shm_unlink)<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1
lfo1"><spanstyle="font-family:Symbol"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New
Roman"">        </span></span></span>QNX lacks sigaction SA_RESTART: I modified “src/include/port.h” to define macros
toretry system calls upon EINTR (open,read,write,…) when compiled on QNX<p class="MsoListParagraph"
style="text-indent:-.25in;mso-list:l0level1 lfo1"><span style="font-family:Symbol"><span style="mso-list:Ignore">·<span
style="font:7.0pt"Times New Roman"">         </span></span></span>A few files required addition of #include
<sys/select.h>on QNX (for fd_set).<p class="MsoNormal"> <p class="MsoNormal">Additional changes required for
PostgreSQL9.4beta2on QNX 6.5:<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo3"><span
style="font-family:Symbol"><spanstyle="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span>“DSM”changes introduced in 9.4 (R. Haas) required that I make minor updates to my new
“posix_shmem.c”code.<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo3"><span
style="font-family:Symbol"><spanstyle="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span>src\include\replication\logical.h:struct LogicalDecodingContext field “write” interferes with my
“write”retry macro.  Renaming field “write” to “do_write” solved this problem.<p class="MsoNormal"> <p
class="MsoNormal">OutstandingIssue #1: <p class="MsoNormal" style="text-indent:.5in">src/backend/commands/dbcommands.c
::createdb() complains when copying template1 to template0 (apparently a locale issue)<p class="MsoNormal"
style="margin-left:.5in;text-indent:.5in">“FATAL: 22023: new LC_CTYPE (C;collate:POSIX;ctype:POSIX) is incompatible
withthe LC_CTYPE of the template database (POSIX;messages:C)”<p class="MsoNormal" style="text-indent:.5in">I would
appreciatehelp from an experienced PostgreSQL hacker to address this.<p class="MsoNormal" style="text-indent:.5in">I
havetemporarily disabled this check on QNX (I can live with the assumption/limitation that template0 and template1
containstrictly ASCII).<p class="MsoNormal"> <p class="MsoNormal">I can work toward setting up a build farm member
shouldthis proposal be accepted.<p class="MsoNormal">Your feedback and guidance on next steps is appreciated.<p
class="MsoNormal"> <pclass="MsoNormal">Thank you.<p class="MsoNormal"> <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Arial","sans-serif"">KeithBaker</span></b> <span
style="font-size:8.0pt;font-family:"Arial","sans-serif""><br/><br /></span><p class="MsoNormal"> </div> 

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: implement subject alternative names support for SSL connections
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Proposal to add a QNX 6.5 port to PostgreSQL