v0.61.1 introduces bug in typescript generation for computed column
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 55/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- postgresql, typescript
- Ambito
- databases
Direzione di ricerca
Inizia dalla riga 44 di src/lib/sql/functions.sql e riproduci il problema con il comando gen types typescript fornito, usando la tabella people di esempio e la funzione full_name. Verifica che il campo full_name generato sia tipizzato come string | null anziché unknown | null, quindi verifica che l’output generato corrisponda alla struttura TypeScript prevista.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug report
- I confirm this is a bug with Supabase, not with my own application.
- I confirm I have searched the Docs, GitHub Discussions, and Discord.
Describe the bug
The below line introduced the bug in v0.61.1
https://github.com/supabase/postgres-meta/blob/e4dc2177cded3e06d07301570b2395099d860d24/src/lib/sql/functions.sql#L44
- rt.typname as return_type,
+ pg_get_function_result(f.oid) as return_type,
The above results in computed column typehint always equal to unknown
To Reproduce
Setup Supabase with the following schema:
CREATE TABLE people (
fname text,
lname text
);
CREATE FUNCTION full_name(people) RETURNS text AS $$
SELECT $1.fname || ' ' || $1.lname;
$$ LANGUAGE SQL;
Run
node \
--no-warnings \
dist/server/server.js \
gen types typescript \
--include-schemas public
Or the following if docker-compose is setup with meta using v0.61.1:
docker-compose exec -T meta node \
--no-warnings \
dist/server/server.js \
gen types typescript \
--include-schemas public
Expected behavior
The typescript generated should be
export interface Database {
public: {
Tables: {
account: {
Row: {
fname: string | null;
lname: string | null;
full_name: string | null;
};
}
}
...
Screenshots
The typescript generated is however
export interface Database {
public: {
Tables: {
account: {
Row: {
fname: string | null;
lname: string | null;
full_name: unknown | null;
};
}
}
...
System information
- OS: macOS
- Browser (if applies): N/A
- Version of supabase-js: N/A
- Version of Node.js: N/A
Additional context
Reverting the changes of the below resolve the issue
https://github.com/supabase/postgres-meta/blob/e4dc2177cded3e06d07301570b2395099d860d24/src/lib/sql/functions.sql#L44
- rt.typname as return_type,
+ pg_get_function_result(f.oid) as return_type,
- Lingua principale
- TypeScript
- Stelle
- 1.2k
- Fork
- 224
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di supabase/postgres-meta
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
supabase/postgres-meta#1150 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
supabase/postgres-meta#1147 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
supabase/postgres-meta#1146 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
supabase/postgres-meta#1143 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
supabase/postgres-meta#1142 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di supabase/postgres-meta
Issue simili
-
refactor
Difficoltà 2/5 Mezza giornata Idoneità per principianti 84/100
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
OHDSI/Data2Evidence#3450 ·
I maintainer di solito rispondono entro 2 giorni
-
e2e-failure ready-to-code
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
redhat-developer/rhdh-plugin-export-overlays#4011 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
automation missing-model model-sync provider:ofox
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
anomalyco/models.dev#8421 ·
I maintainer di solito rispondono entro 1 giorno
-
SlackAdapter and TelegramAdapter are not assignable to Adapter under exactOptionalPropertyTypesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno