Italian community of Lazarus and Free Pascal

Programmazione => Databases => Topic aperto da: Mimmo - Luglio 23, 2019, 05:48:30 pm

Titolo: Postgresql + SqlDb + campi Citext [RISOLTO]
Inserito da: Mimmo - Luglio 23, 2019, 05:48:30 pm
Ciao!
Sto facendo alcuni test per verificare la possibilità di migrare una applicazione lazarus a postgresql.
Sul db alcuni campi sono di tipo citext e, usando sqldb per la connessione, vengono tranquillamente ignorati.
Cerco di spiegarmi meglio.
Se la tabella ha 2 campi:
ed eseguo:
Codice: [Seleziona]
select id, descrizione from tabella
la query viene eseguita senza errori ma ritorna un solo field ovvero "id".
La versione di postgresql è la 11.
Qualcuno si è mica già confrontato con questo problema?
Grazie!
Mimmo
Titolo: Re:Postgresql + SqlDb + campi Citext
Inserito da: Mimmo - Luglio 24, 2019, 09:16:02 am
Trovato: molto banalmente nella unit pqconnection, mel metodo TPQConnection.TranslateFldType,  il tipo citext non è riconosciuto.
Il problema è che l'id del tipo, essendo una estensione, non è univoco, cambia da installazione a installazione, mentre il mapping che fa la unit è basato tutto su costanti che, evidentemente, per i tipi base non cambiano mai.
Titolo: Re:Postgresql + SqlDb + campi Citext
Inserito da: xinyiman - Luglio 25, 2019, 08:07:26 am
Ottimo, consiglio sempre di mettere [RISOLTO] nel titolo del 3d per chi in futuro dovesse cercare tale problematica.
Titolo: Re:Postgresql + SqlDb + campi Citext [RISOLTO]
Inserito da: Mimmo - Luglio 25, 2019, 08:32:27 am
Ok, grazie per il remainder, l'ho aggiunto ora.

A dire il vero il fatto che non venga supportato è un po' una scocciatura perchè quel tipo di campo è un buon palliativo per le situazioni, come la mia, in cui venga effettuata una migrazione. Infatti se una query con una condizione come campo='pippo' prima magari ritornava un record, dopo non ritornerebbe più nulla se su db il valore fosse 'Pippo'.
Insomma una super bugna se si vuole garantire il funzionamento degli algoritmi in un sistema piuttosto complesso.
Ho fatto una segnalazione sul mantis di fpc allegando una unit pqconnection modificata per aggiungere il supporto. Spero che la accettino...
Titolo: Re:Postgresql + SqlDb + campi Citext [RISOLTO]
Inserito da: Avogadro - Agosto 22, 2019, 09:46:01 pm
rimosso, doppio, sorry