Re: [HACKERS] RustgreSQL

2017-01-10 Thread otheus uibk
Joel Jacobson j...@trustly.com wrote:
> My motivation is primarily I don't want to learn all the over-complicated
details of C,

That's rich, mate. C is one of the simplest languages. It's simplicity is
its main benefit and its biggest drawback: it shields very little from the
actual underlying hardware and system. C++ is incredibly complex, while
still granting one access to the underlying system.  Every other high-level
language I've seen that shields its users from the "details", ultimately
suffers for it: either you the programmer must accept the limitations of
what the language provides at the cost of flexibility and power, or you
can't do what you really want to do, or you have to use lower-level
primitives to accomplish what you want.

Craig Ringer said:
> This is only partly a deficiency of C. Lots of it is down to low level
systems being complex, hard and varied. Weak vs strong memory ordering,
LP64 vs ILP64, etc etc etc.

Well-said. Adding to that: interprocess management and communication.

>  I suspect we'd land up having to move to C++ exceptions

Craig, isn't it the case that C++ exceptions still cause tremendous
slow-downs of the entire code-base?


Re: [HACKERS] async replication code

2016-03-19 Thread otheus uibk
On Wed, Mar 16, 2016 at 8:30 PM, otheus uibk <otheus.u...@gmail.com> wrote:

> I will ask again: where in the code is the asynchronous replication code?
> The docs are not detailed/exact enough.
>
>
Nevermind. Thomas Munro answered my question in the General list. Quoting:

> Look for WalSndWakeupRequest() in xlog.c, which expands to a call to
> WalSndWakeup in walsender.c which sets latches (= a mechanism for
> waking processes) on all walsenders, and see the WaitLatchOrSocket
> calls in walsender.c which wait for that to happen.


-- 
Otheus
otheus.u...@gmail.com
otheus.shell...@uibk.ac.at


[HACKERS] async replication code

2016-03-19 Thread otheus uibk
Greetings,

I am new here.  Apologetic question: how can i search the archives of this
mailing list? Is there some set of magic words to put in Google? Must I
wade through 20 pages of hits? Should I download all the archives and grep?
:)

Main question:  I want to understand very precisely the exact algirithm
used in PG to do asynchronous streaming replication. Eg, I want to know how
the record is written and flushed to the socket and how that happens in
time w.r.t WAL-to-disk and response to client. Will someone please give me
a head start as to where to begin my code-spelunking?


-- 
Otheus
otheus.u...@gmail.com
otheus.shell...@uibk.ac.at


Re: [HACKERS] async replication code

2016-03-19 Thread otheus uibk
I will ask again: where in the code is the asynchronous replication code?
The docs are not detailed/exact enough.



> > Main question:  I want to understand very precisely the exact algirithm
> used in PG to do asynchronous streaming replication. Eg, I want to know how
> the record is written and flushed to the socket and how that happens in
> time w.r.t WAL-to-disk and response to client. Will someone please give me
> a head start as to where to begin my code-spelunking?
> >
>
> WAL synced to disc, then everything else is happening.
>
>
> http://www.postgresql.org/docs/9.5/static/warm-standby.html#STREAMING-REPLICATION
>
> ---
> Stas Kelvich
> Postgres Professional: http://www.postgrespro.com
> Russian Postgres Company
>
>
-- 
Otheus
otheus.u...@gmail.com
otheus.shell...@uibk.ac.at