Skip to content
This repository has been archived by the owner on Jul 20, 2023. It is now read-only.

Status syntax error in GoDot 4 #59

Open
GOTWIC opened this issue Jul 12, 2023 · 6 comments
Open

Status syntax error in GoDot 4 #59

GOTWIC opened this issue Jul 12, 2023 · 6 comments
Labels
bug Something isn't working help wanted Extra attention is needed wontfix This will not be worked on

Comments

@GOTWIC
Copy link

GOTWIC commented Jul 12, 2023

One line 32 of the PostgreSQLClient.gd file,
var status = Status.STATUS_DISCONNECTED setget set_status, get_status
seems to be causing an error:

Expected end of statement after variable declaration, found "Identifier" instead.

The line should be replaced with:

var status = Status.STATUS_DISCONNECTED : set = set_status, get = get_status

@Marzin-bot
Copy link
Owner

Hello, very unfortunately I haven't worked on this project for a while and Godot updates may break the current compatibility with this library. Maintaining this project becomes difficult because I find it difficult to devote time to a project that does not bring me any benefit. To avoid surprises, I plan to archive this repository. All my excuses. I haven't checked but there are surely alternatives to this repository to communicate with a postgres database. The best would be to have a GDExtension implementation that uses a postgres client maintained by the postgres team itself.

Sorry again that the client implementation for godot 4 no longer works. Hope you find something better than this unmaintained repository.

Samuel Marzin.

@Marzin-bot Marzin-bot added bug Something isn't working help wanted Extra attention is needed wontfix This will not be worked on labels Jul 12, 2023
@GOTWIC
Copy link
Author

GOTWIC commented Jul 12, 2023

Is the repo in its current state compatible with the 3.5.2 LTS version? I don't mind downgrading to 3.5 if it means being able to use this.

I'm not familiar enough with GoDot 3 and 4 to tell if some of the code only works on 4.0

EDIT: Yes, it works in the 3.5 LTS version. Since you have stopped updating this, you should consider updating the readme to reflect that this work for 3.5 and not 4.0. That would help people who want to use this great client in the future!

I should add that the status error above is not the only error. There's about a hundred other errors lol.

@Marzin-bot
Copy link
Owner

As far as I know the version for Godot 3.5 and above might work fine. The only problem with this version is that the execute(sql:String) method blocks the time that the backend sends data to the frontend. This can be a real problem for game servers. This problem has been fixed on the Godot4 version because you have to wait for the data_received signal to be emitted, which allows you not to block the main thread.

@GOTWIC
Copy link
Author

GOTWIC commented Jul 17, 2023

Hello again. Could you please briefly explain the consequences of the blocking mechanic, if I were to use GoDot 3.5? I am not developing a multiplayer game. I am just creating a client that pulls data from a postgres server and displays the data visually. If I use GoDot 3.5, and send a postgres request that (for the sake of example) takes 1 minute to computer and return, what functionality can I expect to be frozen?

Multiple clients can be connected to the same postgres server at a single time.

@Marzin-bot
Copy link
Owner

Hi, anything handled by the current thread will no longer work for a minute until the "execute" method finishes making it work. The reason for this is that a while loop in this method iterates all the time until the entire response has arrived. All code below "execute" will not be executed until the "execute" method has finished working.

Using multiple client postgres at the same time will not solve the problem unless they are running in different threads.

@Marzin-bot
Copy link
Owner

I almost want to resume the maintenance of this repository to solve all the problems on the Godot 4 version. But, At the moment I don't have the time. 🥺

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working help wanted Extra attention is needed wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants