about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--db_actions.go52
1 files changed, 52 insertions, 0 deletions
diff --git a/db_actions.go b/db_actions.go
index 26d9b59..a45c562 100644
--- a/db_actions.go
+++ b/db_actions.go
@@ -1277,3 +1277,55 @@ func calcForce(s1 structs.Star2D, s2 structs.Star2D) structs.Vec2 {
 	// return the force exerted on s1 by s2
 	return force
 }
+
+func InitStarsTable(db *sql.DB) {
+	query := `CREATE TABLE public.stars
+(
+    star_id bigint NOT NULL DEFAULT nextval('stars_star_id_seq'::regclass),
+    x numeric,
+    y numeric,
+    vx numeric,
+    vy numeric,
+    m numeric
+)
+WITH (
+    OIDS = FALSE
+)
+TABLESPACE pg_default;
+
+ALTER TABLE public.stars
+    OWNER to postgres;
+`
+	err := db.QueryRow(query)
+	if err != nil {
+		log.Fatalf("[ E ] InitNodesTable query: %v \n\t\t\tquery: %s\n", err, query)
+	}
+}
+
+func InitNodesTable(db *sql.DB) {
+	query := `CREATE TABLE public.nodes
+	(
+		node_id bigint NOT NULL DEFAULT nextval('nodes_node_id_seq'::regclass),
+	box_width numeric NOT NULL,
+		total_mass numeric NOT NULL,
+		depth integer,
+		star_id bigint NOT NULL,
+		root_id bigint NOT NULL,
+		isleaf boolean,
+		box_center numeric[] NOT NULL,
+		center_of_mass numeric[] NOT NULL,
+		subnodes bigint[] NOT NULL
+	)
+	WITH (
+		OIDS = FALSE
+	)
+	TABLESPACE pg_default;
+
+	ALTER TABLE public.nodes
+	OWNER to postgres;
+`
+	err := db.QueryRow(query)
+	if err != nil {
+		log.Fatalf("[ E ] InitNodesTable query: %v \n\t\t\tquery: %s\n", err, query)
+	}
+}