Postgres Database #5

Closed
opened 9 months ago by freeeze · 3 comments
freeeze commented 9 months ago

Hi,
I tried to setup my own server with Postgres 11 as Backend.

There are 2 "Bugs" with wrong Types (I know they exists with MariaDB/MySQL).

  1. There is no TINYINT -> src\database\timelimitrule.ts:64

I changed it to SMALLINT

  1. No Type of LONG -> src\database\migration\migrations\20201116-add-child-tasks.ts:30
    Changed to BIGINT

Another part are your SQL-Queries for Postgre there is a problem with quoted identifieres (or at this part, they are unquoted)...

There is a second kind of identifier: the delimited identifier or quoted identifier. It is formed by enclosing an arbitrary sequence of characters in double-quotes ("). A delimited identifier is always an identifier, never a key word. So "select" could be used to refer to a column or table named “select”, whereas an unquoted select would be taken as a key word and would therefore provoke a parse error when used where a table or column name is expected. The example can be written with quoted identifiers like this:

UPDATE "my_table" SET "a" = 5;

Hi, I tried to setup my own server with Postgres 11 as Backend. There are 2 "Bugs" with wrong Types (I know they exists with MariaDB/MySQL). 1. There is no TINYINT -> src\database\timelimitrule.ts:64 I changed it to SMALLINT 2. No Type of LONG -> src\database\migration\migrations\20201116-add-child-tasks.ts:30 Changed to BIGINT Another part are your SQL-Queries for Postgre there is a problem with quoted identifieres (or at this part, they are unquoted)... > There is a second kind of identifier: the delimited identifier or quoted identifier. It is formed by enclosing an arbitrary sequence of characters in double-quotes ("). A delimited identifier is always an identifier, never a key word. So "select" could be used to refer to a column or table named “select”, whereas an unquoted select would be taken as a key word and would therefore provoke a parse error when used where a table or column name is expected. The example can be written with quoted identifiers like this: > UPDATE "my_table" SET "a" = 5;
Owner

The tinyint should be converted by the ORM.

As far as I know, postgres does not need quoted identifiers.

The only thing which could ba a problem is the long. But the bigint needs testing with other DBMS.

The tinyint should be converted by the ORM. As far as I know, postgres does not need quoted identifiers. The only thing which could ba a problem is the long. But the bigint needs testing with other DBMS.
Poster

Hi Jonas,
ich hoffe es ist kein Problem wenn wir die Konversation auf deutsch fortführen.
Zu allererst möchte ich mich für Deine Arbeit an timelimit.io bedanken. Die Entwicklung ist spitzenmäßig. Ich habe dich mit dem Post nicht angreifen noch kritisieren wollen. Ich bemühe mich nur Lösungen zu finden. Daher bin ich von Fehler zu Fehler gegangen und habe meinen Lösungsansatz umgesetzt. Open-source heißt für mich an dieser Stelle einfach nur: was für mich funktioniert könnte ein Lösungsansatz für andere sein. Die SQL Statements sahen (zumindest im späteren Verlauf) für mich nach reinem MySQL aus. Daher nahm ich an, dass postgres nicht weiter getestet wurde. Ich würde mir an dieser Stelle auch keine Spaltung wünschen, sondern Möglichkeiten wie man das alles unter einen Hut bringen kann.

Hi Jonas, ich hoffe es ist kein Problem wenn wir die Konversation auf deutsch fortführen. Zu allererst möchte ich mich für Deine Arbeit an timelimit.io bedanken. Die Entwicklung ist spitzenmäßig. Ich habe dich mit dem Post nicht angreifen noch kritisieren wollen. Ich bemühe mich nur Lösungen zu finden. Daher bin ich von Fehler zu Fehler gegangen und habe meinen Lösungsansatz umgesetzt. Open-source heißt für mich an dieser Stelle einfach nur: was für mich funktioniert könnte ein Lösungsansatz für andere sein. Die SQL Statements sahen (zumindest im späteren Verlauf) für mich nach reinem MySQL aus. Daher nahm ich an, dass postgres nicht weiter getestet wurde. Ich würde mir an dieser Stelle auch keine Spaltung wünschen, sondern Möglichkeiten wie man das alles unter einen Hut bringen kann.
Owner

Ich habe jetzt ein Hilfsmittel für das Testen mit MySQL, Postgresql und sqlite aufgebaut und Anpassungen durchgeführt => https://codeberg.org/timelimit/timelimit-server/src/branch/postgres-adjustments

Die Form des Tickets im Sinne von Behauptungen (ohne Log bzw. Fehlermeldung der Datenbank) mit dem Anhängen von angepassten Quelltextdateien hat mir nicht gefallen

Die Anführungszeichen verträgt MariaDB nicht, daher sind dort jetzt einige Fallunterscheidungen

Ich habe jetzt ein Hilfsmittel für das Testen mit MySQL, Postgresql und sqlite aufgebaut und Anpassungen durchgeführt => <https://codeberg.org/timelimit/timelimit-server/src/branch/postgres-adjustments> Die Form des Tickets im Sinne von Behauptungen (ohne Log bzw. Fehlermeldung der Datenbank) mit dem Anhängen von angepassten Quelltextdateien hat mir nicht gefallen Die Anführungszeichen verträgt MariaDB nicht, daher sind dort jetzt einige Fallunterscheidungen
jonas-l closed this issue 9 months ago
Sign in to join this conversation.
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.