|
@@ -0,0 +1,71 @@
|
|
|
+extends Node
|
|
|
+
|
|
|
+var database := PostgreSQLClient.new()
|
|
|
+
|
|
|
+const USER = "samuel"
|
|
|
+const PASSWORD = "123123"
|
|
|
+const HOST = "localhost"
|
|
|
+const PORT = 5432 # Default postgres port
|
|
|
+const DATABASE = "samuel" # Database name
|
|
|
+
|
|
|
+
|
|
|
+func _init() -> void:
|
|
|
+ var _error := database.connect("connection_established", self, "_executer")
|
|
|
+ _error = database.connect("authentication_error", self, "_authentication_error")
|
|
|
+ _error = database.connect("connection_closed", self, "_close")
|
|
|
+
|
|
|
+ #Connection to the database
|
|
|
+ _error = database.connect_to_host("postgresql://%s:%s@%s:%d/%s" % [USER, PASSWORD, HOST, PORT, DATABASE])
|
|
|
+ print('trying to connect')
|
|
|
+ print(_error)
|
|
|
+
|
|
|
+func _physics_process(_delta: float) -> void:
|
|
|
+ database.poll()
|
|
|
+
|
|
|
+
|
|
|
+func _authentication_error(error_object: Dictionary) -> void:
|
|
|
+ prints("Error connection to database:", error_object["message"])
|
|
|
+
|
|
|
+
|
|
|
+func _executer() -> void:
|
|
|
+ print(database.parameter_status)
|
|
|
+
|
|
|
+ var datas := database.execute("""
|
|
|
+ select * from niggers;
|
|
|
+ """)
|
|
|
+
|
|
|
+# var datas := database.execute("""
|
|
|
+# BEGIN;
|
|
|
+# /*Helloworld*/
|
|
|
+# SELECT concat('Hello', 'World');
|
|
|
+# COMMIT;
|
|
|
+# """)
|
|
|
+
|
|
|
+
|
|
|
+ #The datas variable contains an array of PostgreSQLQueryResult object.
|
|
|
+ for data in datas:
|
|
|
+ #Specifies the number of fields in a row (can be zero).
|
|
|
+ print(data.number_of_fields_in_a_row)
|
|
|
+
|
|
|
+ # This is usually a single word that identifies which SQL command was completed.
|
|
|
+ # note: the "BEGIN" and "COMMIT" commands return empty values
|
|
|
+ print(data.command_tag)
|
|
|
+
|
|
|
+ print(data.row_description)
|
|
|
+
|
|
|
+ print(data.data_row)
|
|
|
+
|
|
|
+ prints("Notice:", data.notice)
|
|
|
+
|
|
|
+ if not database.error_object.empty():
|
|
|
+ prints("Error:", database.error_object)
|
|
|
+
|
|
|
+ database.close()
|
|
|
+
|
|
|
+
|
|
|
+func _close(clean_closure := true) -> void:
|
|
|
+ prints("DB CLOSE,", "Clean closure:", clean_closure)
|
|
|
+
|
|
|
+
|
|
|
+func _exit_tree() -> void:
|
|
|
+ database.close()
|