Den enda plats jag kan tänka mig, där en %
skulle fördubblas i standard Postgres är i format()
funktion, som vanligtvis används för att skapa en frågesträng för dynamisk SQL. Jämför exempel här på SO.
Knepigt när du använder modulo-operatorn %
i ett dynamiskt uttalande!
Jag misstänker att de kör dynamisk SQL bakom gardinerna - vilket de generaliserade och förenklade för artikeln. (Det schemakvalificerade namnet på sekvensen är 'insta5.table_id_seq'
och tabellen skulle inte heta "tabell".) I processen glömde de att "unscape" modulo-operatorn.
Det är vad de faktiskt kör:
EXECUTE format($$SELECT nextval('%I') %% 1024$$, seq_name)
INTO seq_id;