Einfügen von PostgreSQL-Arrays mit Clojure

8

Ich finde keine Möglichkeit, den Array-Typ von Postgres mit Clojure einzufügen.

%Vor%

Hat nicht funktioniert, was ich irgendwie erwartet habe. Fehlermeldung:

%Vor%

Selbst der direkteste Zugriff auf SQL, den ich finden konnte, funktionierte nicht:

%Vor%

Ich weiß nicht wirklich, was hier vor sich geht:

%Vor%

Sicher muss es irgendwie möglich sein? Wenn nicht durch die Hilfsfunktionen, dann irgendwie durch Ausführen von Raw SQL.

    
Erik Strömberg 09.04.2014, 10:29
quelle

3 Antworten

7

Um einfügen! zu verwenden, um einen Vektor von Strings einzufügen, müssen Sie ein Objekt (aus dem Vektor von Strings) erstellen, das java.sql.Array implementiert. Sie können java.sql.Connection.createArrayOf um ein solches Objekt zu erstellen

%Vor%

und

clojure.java.jdbcs Dokumente auf ausführen! sagte

%Vor%

Sie müssen Ihre SQL-Zeichenfolge in einen Vektor einfügen, damit es funktioniert.

%Vor%     
mavbozo 09.04.2014, 14:43
quelle
14

Sie können clojure.java.jdbc automatisch zwischen Clojure-Vektoren und SQL-Arrays konvertieren, indem Sie zwei Protokolle erweitern. Dies kann mit Ihrem eigenen Code geschehen:

%Vor%

REPL Beispiel:

%Vor%

Ich arbeite gerade an einer Bibliothek, die PostgreSQL- und PostGIS-Typen automatisch unterstützt. Es ist immer noch sehr in Arbeit, obwohl Ссылка

    
jkj 11.09.2014 12:03
quelle
0

Eine ähnliche Strategie, die ich verwendet habe:

%Vor%     
BHBH 25.09.2014 21:45
quelle

Tags und Links