You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@age.apache.org by jo...@apache.org on 2022/03/02 19:10:57 UTC

[incubator-age] branch master updated: Age load issue (#188)

This is an automated email from the ASF dual-hosted git repository.

joshinnis pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-age.git


The following commit(s) were added to refs/heads/master by this push:
     new ac4c7f9  Age load issue (#188)
ac4c7f9 is described below

commit ac4c7f96467f757b204450dc78df86dfed0d0c6a
Author: Shoaib <mu...@gmail.com>
AuthorDate: Wed Mar 2 20:09:44 2022 +0100

    Age load issue (#188)
    
    Refactored the agtype_access_operator and support functions to
    eliminate the constant conversions back-and-forth.
    
    Integrated the bulk import tool into AGE.
    
    Also corrected the response to AGTV_NULL
    
    Moved get_agtype_key from age_vle.c to agtype.c for usage by
    others.
    
    Adjusted 2 regression tests.
    
    Co-authored-by: John Gemignani <jr...@gmail.com>
---
 Makefile                                |   7 ++-
 age--0.7.0.sql                          |  15 +++++
 regress/expected/age_load.out           |   6 +-
 regress/sql/age_load.sql                |   2 +-
 src/backend/catalog/ag_label.c          |   2 +-
 src/backend/utils/load/ag_load_edges.c  |  76 +++++++++++++++---------
 src/backend/utils/load/ag_load_labels.c |  77 +++++++++++++++---------
 src/backend/utils/load/age_load.c       | 100 +++++++++++++++++++++++---------
 src/include/utils/load/ag_load_labels.h |   3 +-
 src/include/utils/load/age_load.h       |  14 +++--
 10 files changed, 204 insertions(+), 98 deletions(-)

diff --git a/Makefile b/Makefile
index 94a2a0f..b6ce35c 100644
--- a/Makefile
+++ b/Makefile
@@ -60,7 +60,11 @@ OBJS = src/backend/age.o \
        src/backend/utils/adt/ag_float8_supp.o \
        src/backend/utils/adt/graphid.o \
        src/backend/utils/ag_func.o \
-       src/backend/utils/cache/ag_cache.o
+       src/backend/utils/cache/ag_cache.o \
+       src/backend/utils/load/ag_load_labels.o \
+       src/backend/utils/load/ag_load_edges.o \
+       src/backend/utils/load/age_load.o \
+       src/backend/utils/load/libcsv.o
 
 EXTENSION = age
 
@@ -83,6 +87,7 @@ REGRESS = scan \
           cypher_vle \
           cypher_union \
           cypher_merge \
+          age_load \
           drop
 
 srcdir=`pwd`
diff --git a/age--0.7.0.sql b/age--0.7.0.sql
index 851a089..a5212e0 100644
--- a/age--0.7.0.sql
+++ b/age--0.7.0.sql
@@ -108,6 +108,21 @@ RETURNS void
 LANGUAGE c
 AS 'MODULE_PATHNAME';
 
+CREATE FUNCTION ag_catalog.load_labels_from_file(graph_name name,
+                                            label_name name,
+                                            file_path text,
+                                            id_field_exists bool default true)
+    RETURNS void
+    LANGUAGE c
+    AS 'MODULE_PATHNAME';
+
+CREATE FUNCTION ag_catalog.load_edges_from_file(graph_name name,
+                                                label_name name,
+                                                file_path text)
+    RETURNS void
+    LANGUAGE c
+    AS 'MODULE_PATHNAME';
+
 --
 -- graphid type
 --
diff --git a/regress/expected/age_load.out b/regress/expected/age_load.out
index cd727f4..c220b31 100644
--- a/regress/expected/age_load.out
+++ b/regress/expected/age_load.out
@@ -50,15 +50,15 @@ SELECT load_edges_from_file('agload_test_graph', 'has_city',
  
 (1 row)
 
-SELECT table_catalog, table_schema, table_name, table_type
+SELECT table_catalog, table_schema, lower(table_name) as table_name, table_type
 FROM information_schema.tables
 WHERE table_schema = 'agload_test_graph' ORDER BY table_name ASC;
    table_catalog    |   table_schema    |    table_name    | table_type 
 --------------------+-------------------+------------------+------------
- contrib_regression | agload_test_graph | City             | BASE TABLE
- contrib_regression | agload_test_graph | Country          | BASE TABLE
  contrib_regression | agload_test_graph | _ag_label_edge   | BASE TABLE
  contrib_regression | agload_test_graph | _ag_label_vertex | BASE TABLE
+ contrib_regression | agload_test_graph | city             | BASE TABLE
+ contrib_regression | agload_test_graph | country          | BASE TABLE
  contrib_regression | agload_test_graph | has_city         | BASE TABLE
 (5 rows)
 
diff --git a/regress/sql/age_load.sql b/regress/sql/age_load.sql
index 35663f1..fa2da0b 100644
--- a/regress/sql/age_load.sql
+++ b/regress/sql/age_load.sql
@@ -17,7 +17,7 @@ SELECT create_elabel('agload_test_graph','has_city');
 SELECT load_edges_from_file('agload_test_graph', 'has_city',
      'age_load/edges.csv');
 
-SELECT table_catalog, table_schema, table_name, table_type
+SELECT table_catalog, table_schema, lower(table_name) as table_name, table_type
 FROM information_schema.tables
 WHERE table_schema = 'agload_test_graph' ORDER BY table_name ASC;
 
diff --git a/src/backend/catalog/ag_label.c b/src/backend/catalog/ag_label.c
index bd72db3..68b2c08 100644
--- a/src/backend/catalog/ag_label.c
+++ b/src/backend/catalog/ag_label.c
@@ -258,7 +258,7 @@ RangeVar *get_label_range_var(char *graph_name, Oid graph_oid,
 
     relname = get_rel_name(label_cache->relation);
 
-    return makeRangeVar(graph_name, relname, -1);
+    return makeRangeVar(graph_name, relname, 2);
 }
 
 /*
diff --git a/src/backend/utils/load/ag_load_edges.c b/src/backend/utils/load/ag_load_edges.c
index 92ad6bc..154f3c4 100644
--- a/src/backend/utils/load/ag_load_edges.c
+++ b/src/backend/utils/load/ag_load_edges.c
@@ -28,23 +28,28 @@
 #include "utils/load/age_load.h"
 
 
-void edge_field_cb(void *field, size_t field_len, void *data) {
+void edge_field_cb(void *field, size_t field_len, void *data)
+{
 
     csv_edge_reader *cr = (csv_edge_reader*)data;
-    if (cr->error) {
+    if (cr->error)
+    {
         cr->error = 1;
         ereport(NOTICE,(errmsg("There is some unknown error")));
     }
 
     // check for space to store this field
-    if (cr->cur_field == cr->alloc) {
+    if (cr->cur_field == cr->alloc)
+    {
         cr->alloc *= 2;
         cr->fields = realloc(cr->fields, sizeof(char *) * cr->alloc);
         cr->fields_len = realloc(cr->header, sizeof(size_t *) * cr->alloc);
-        if (cr->fields == NULL) {
+        if (cr->fields == NULL)
+        {
             cr->error = 1;
             ereport(ERROR,
-                    (errmsg("field_cb: failed to reallocate %zu bytes\n", sizeof(char *) * cr->alloc)));
+                    (errmsg("field_cb: failed to reallocate %zu bytes\n",
+                            sizeof(char *) * cr->alloc)));
         }
     }
     cr->fields_len[cr->cur_field] = field_len;
@@ -54,7 +59,8 @@ void edge_field_cb(void *field, size_t field_len, void *data) {
 }
 
 // Parser calls this function when it detects end of a row
-void edge_row_cb(int delim __attribute__((unused)), void *data) {
+void edge_row_cb(int delim __attribute__((unused)), void *data)
+{
 
     csv_edge_reader *cr = (csv_edge_reader*)data;
 
@@ -73,17 +79,21 @@ void edge_row_cb(int delim __attribute__((unused)), void *data) {
 
     n_fields = cr->cur_field;
 
-    if (cr->row == 0) {
+    if (cr->row == 0)
+    {
         cr->header_num = cr->cur_field;
         cr->header_row_length = cr->curr_row_length;
         cr->header_len = (size_t* )malloc(sizeof(size_t *) * cr->cur_field);
         cr->header = malloc((sizeof (char*) * cr->cur_field));
 
-        for ( i = 0; i<cr->cur_field; i++) {
+        for ( i = 0; i<cr->cur_field; i++)
+        {
             cr->header_len[i] = cr->fields_len[i];
             cr->header[i] = strndup(cr->fields[i], cr->header_len[i]);
         }
-    } else {
+    }
+    else
+    {
         object_graph_id = make_graphid(cr->object_id, (int64)cr->row);
 
         start_id_int = strtol(cr->fields[0], NULL, 10);
@@ -94,19 +104,24 @@ void edge_row_cb(int delim __attribute__((unused)), void *data) {
         start_vertex_graph_id = make_graphid(start_vertex_type_id, start_id_int);
         end_vertex_graph_id = make_graphid(end_vertex_type_id, end_id_int);
 
-        props = create_agtype_from_list_i(cr->header, cr->fields, n_fields, 3);
+        props = create_agtype_from_list_i(cr->header, cr->fields,
+                                          n_fields, 3);
 
-        insert_edge_simple(cr->graph_id, cr->object_name, object_graph_id,
-                           start_vertex_graph_id, end_vertex_graph_id, props);
+        insert_edge_simple(cr->graph_id, cr->object_name,
+                           object_graph_id, start_vertex_graph_id,
+                           end_vertex_graph_id, props);
 
     }
 
-    for (i = 0; i < n_fields; ++i) {
+    for (i = 0; i < n_fields; ++i)
+    {
         free(cr->fields[i]);
     }
 
     if (cr->error)
+    {
         ereport(NOTICE,(errmsg("THere is some error")));
+    }
 
 
     cr->cur_field = 0;
@@ -114,19 +129,14 @@ void edge_row_cb(int delim __attribute__((unused)), void *data) {
     cr->row += 1;
 }
 
-static int is_space(unsigned char c) {
+static int is_space(unsigned char c)
+{
     if(c == CSV_SPACE || c == CSV_TAB) return 1;
     return 0;
 }
 
-/*
-static int is_comma(unsigned char c) {
-    if (c == '\t') return 1;
-    return 0;
-}
- */
-
-static int is_term(unsigned char c) {
+static int is_term(unsigned char c)
+{
     if (c == CSV_CR || c == CSV_LF) return 1;
     return 0;
 }
@@ -135,7 +145,8 @@ int create_edges_from_csv_file(char *file_path,
                                char *graph_name,
                                Oid graph_id,
                                char *object_name,
-                               int object_id ) {
+                               int object_id )
+{
 
     FILE *fp;
     struct csv_parser p;
@@ -144,7 +155,8 @@ int create_edges_from_csv_file(char *file_path,
     unsigned char options = 0;
     csv_edge_reader cr;
 
-    if (csv_init(&p, options) != 0) {
+    if (csv_init(&p, options) != 0)
+    {
         ereport(ERROR,
                 (errmsg("Failed to initialize csv parser\n")));
     }
@@ -153,7 +165,8 @@ int create_edges_from_csv_file(char *file_path,
     csv_set_term_func(&p, is_term);
 
     fp = fopen(file_path, "rb");
-    if (!fp) {
+    if (!fp)
+    {
         ereport(ERROR,
                 (errmsg("Failed to open %s\n", file_path)));
     }
@@ -170,15 +183,20 @@ int create_edges_from_csv_file(char *file_path,
     cr.object_name = object_name;
     cr.object_id = object_id;
 
-    while ((bytes_read=fread(buf, 1, 1024, fp)) > 0) {
-        if (csv_parse(&p, buf, bytes_read, edge_field_cb, edge_row_cb, &cr) != bytes_read) {
-            ereport(ERROR, (errmsg("Error while parsing file: %s\n", csv_strerror(csv_error(&p)))));
+    while ((bytes_read=fread(buf, 1, 1024, fp)) > 0)
+    {
+        if (csv_parse(&p, buf, bytes_read, edge_field_cb,
+                      edge_row_cb, &cr) != bytes_read)
+        {
+            ereport(ERROR, (errmsg("Error while parsing file: %s\n",
+                                   csv_strerror(csv_error(&p)))));
         }
     }
 
     csv_fini(&p, edge_field_cb, edge_row_cb, &cr);
 
-    if (ferror(fp)) {
+    if (ferror(fp))
+    {
         ereport(ERROR, (errmsg("Error while reading file %s\n", file_path)));
     }
 
diff --git a/src/backend/utils/load/ag_load_labels.c b/src/backend/utils/load/ag_load_labels.c
index 0b30970..216852d 100644
--- a/src/backend/utils/load/ag_load_labels.c
+++ b/src/backend/utils/load/ag_load_labels.c
@@ -64,24 +64,29 @@
 #include "utils/load/age_load.h"
 #include "utils/load/csv.h"
 
-void vertex_field_cb(void *field, size_t field_len, void *data) {
+void vertex_field_cb(void *field, size_t field_len, void *data)
+{
 
     csv_vertex_reader *cr = (csv_vertex_reader *) data;
 
-    if (cr->error) {
+    if (cr->error)
+    {
         cr->error = 1;
         ereport(NOTICE,(errmsg("There is some unknown error")));
     }
 
     // check for space to store this field
-    if (cr->cur_field == cr->alloc) {
+    if (cr->cur_field == cr->alloc)
+    {
         cr->alloc *= 2;
         cr->fields = realloc(cr->fields, sizeof(char *) * cr->alloc);
         cr->fields_len = realloc(cr->header, sizeof(size_t *) * cr->alloc);
-        if (cr->fields == NULL) {
+        if (cr->fields == NULL)
+        {
             cr->error = 1;
             ereport(ERROR,
-                    (errmsg("field_cb: failed to reallocate %zu bytes\n", sizeof(char *) * cr->alloc)));
+                    (errmsg("field_cb: failed to reallocate %zu bytes\n",
+                            sizeof(char *) * cr->alloc)));
         }
     }
     cr->fields_len[cr->cur_field] = field_len;
@@ -90,7 +95,8 @@ void vertex_field_cb(void *field, size_t field_len, void *data) {
     cr->cur_field += 1;
 }
 
-void vertex_row_cb(int delim __attribute__((unused)), void *data) {
+void vertex_row_cb(int delim __attribute__((unused)), void *data)
+{
 
     csv_vertex_reader *cr = (csv_vertex_reader*)data;
     agtype *props = NULL;
@@ -101,36 +107,47 @@ void vertex_row_cb(int delim __attribute__((unused)), void *data) {
     n_fields = cr->cur_field;
 
 
-    if (cr->row == 0) {
+    if (cr->row == 0)
+    {
         cr->header_num = cr->cur_field;
         cr->header_row_length = cr->curr_row_length;
         cr->header_len = (size_t* )malloc(sizeof(size_t *) * cr->cur_field);
         cr->header = malloc((sizeof (char*) * cr->cur_field));
 
-        for (i = 0; i<cr->cur_field; i++) {
+        for (i = 0; i<cr->cur_field; i++)
+        {
             cr->header_len[i] = cr->fields_len[i];
             cr->header[i] = strndup(cr->fields[i], cr->header_len[i]);
         }
     } else {
         if (cr->id_field_exists)
+        {
             label_id_int = strtol(cr->fields[0], NULL, 10);
+        }
         else
+        {
             label_id_int = (int64)cr->row;
+        }
 
         object_graph_id = make_graphid(cr->object_id, label_id_int);
 
-        props = create_agtype_from_list(cr->header, cr->fields, n_fields, label_id_int);
-        insert_vertex_simple(cr->graph_id, cr->object_name, object_graph_id, props);
+        props = create_agtype_from_list(cr->header, cr->fields,
+                                        n_fields, label_id_int);
+        insert_vertex_simple(cr->graph_id, cr->object_name,
+                             object_graph_id, props);
     }
 
 
-    for (i = 0; i < n_fields; ++i) {
+    for (i = 0; i < n_fields; ++i)
+    {
         free(cr->fields[i]);
     }
 
 
     if (cr->error)
+    {
         ereport(NOTICE,(errmsg("THere is some error")));
+    }
 
 
     cr->cur_field = 0;
@@ -138,19 +155,14 @@ void vertex_row_cb(int delim __attribute__((unused)), void *data) {
     cr->row += 1;
 }
 
-static int is_space(unsigned char c) {
+static int is_space(unsigned char c)
+{
     if(c == CSV_SPACE || c == CSV_TAB) return 1;
     return 0;
 }
 
-/*
-static int is_comma(unsigned char c) {
-    if (c == '\t') return 1;
-    return 0;
-}
- */
-
-static int is_term(unsigned char c) {
+static int is_term(unsigned char c)
+{
     if (c == CSV_CR || c == CSV_LF) return 1;
     return 0;
 }
@@ -159,7 +171,8 @@ int create_labels_from_csv_file(char *file_path,
                                 Oid graph_id,
                                 char *object_name,
                                 int object_id,
-                                bool id_field_exists) {
+                                bool id_field_exists)
+{
 
     FILE *fp;
     struct csv_parser p;
@@ -168,7 +181,8 @@ int create_labels_from_csv_file(char *file_path,
     unsigned char options = 0;
     csv_vertex_reader cr;
 
-    if (csv_init(&p, options) != 0) {
+    if (csv_init(&p, options) != 0)
+    {
         ereport(ERROR,
                 (errmsg("Failed to initialize csv parser\n")));
     }
@@ -177,7 +191,8 @@ int create_labels_from_csv_file(char *file_path,
     csv_set_term_func(&p, is_term);
 
     fp = fopen(file_path, "rb");
-    if (!fp) {
+    if (!fp)
+    {
         ereport(ERROR,
                 (errmsg("Failed to open %s\n", file_path)));
     }
@@ -198,16 +213,22 @@ int create_labels_from_csv_file(char *file_path,
 
 
 
-    while ((bytes_read=fread(buf, 1, 1024, fp)) > 0) {
-        if (csv_parse(&p, buf, bytes_read, vertex_field_cb, vertex_row_cb, &cr) != bytes_read) {
-            ereport(ERROR, (errmsg("Error while parsing file: %s\n", csv_strerror(csv_error(&p)))));
+    while ((bytes_read=fread(buf, 1, 1024, fp)) > 0)
+    {
+        if (csv_parse(&p, buf, bytes_read, vertex_field_cb,
+                      vertex_row_cb, &cr) != bytes_read)
+        {
+            ereport(ERROR, (errmsg("Error while parsing file: %s\n",
+                                   csv_strerror(csv_error(&p)))));
         }
     }
 
     csv_fini(&p, vertex_field_cb, vertex_row_cb, &cr);
 
-    if (ferror(fp)) {
-        ereport(ERROR, (errmsg("Error while reading file %s\n", file_path)));
+    if (ferror(fp))
+    {
+        ereport(ERROR, (errmsg("Error while reading file %s\n",
+                               file_path)));
     }
 
     fclose(fp);
diff --git a/src/backend/utils/load/age_load.c b/src/backend/utils/load/age_load.c
index 133b904..b80e950 100644
--- a/src/backend/utils/load/age_load.c
+++ b/src/backend/utils/load/age_load.c
@@ -58,62 +58,90 @@
 #include "utils/load/ag_load_labels.h"
 #include "utils/load/ag_load_edges.h"
 
-static agtype* create_empty_agtype(void) {
+static agtype* create_empty_agtype(void)
+{
     agtype_in_state result;
 
     memset(&result, 0, sizeof(agtype_in_state));
 
-    result.res = push_agtype_value(&result.parse_state, WAGT_BEGIN_OBJECT, NULL);
-    result.res = push_agtype_value(&result.parse_state, WAGT_END_OBJECT, NULL);
+    result.res = push_agtype_value(&result.parse_state,
+                                   WAGT_BEGIN_OBJECT, NULL);
+    result.res = push_agtype_value(&result.parse_state,
+                                   WAGT_END_OBJECT, NULL);
 
     return agtype_value_to_agtype(result.res);
 }
 
-agtype* create_agtype_from_list(char **header, char **fields, size_t fields_len, int64 vertex_id) {
+agtype* create_agtype_from_list(char **header, char **fields,
+                                size_t fields_len, int64 vertex_id)
+{
     agtype_in_state result;
     int i;
 
     memset(&result, 0, sizeof(agtype_in_state));
 
-    result.res = push_agtype_value(&result.parse_state, WAGT_BEGIN_OBJECT, NULL);
+    result.res = push_agtype_value(&result.parse_state,
+                                   WAGT_BEGIN_OBJECT, NULL);
 
-    result.res = push_agtype_value(&result.parse_state, WAGT_KEY, string_to_agtype_value("id"));
-    result.res = push_agtype_value(&result.parse_state, WAGT_VALUE, integer_to_agtype_value(vertex_id));
+    result.res = push_agtype_value(&result.parse_state,
+                                   WAGT_KEY,
+                                   string_to_agtype_value("__id__"));
+    result.res = push_agtype_value(&result.parse_state,
+                                   WAGT_VALUE,
+                                   integer_to_agtype_value(vertex_id));
 
-    for (i = 0; i<fields_len; i++) {
-        result.res = push_agtype_value(&result.parse_state, WAGT_KEY, string_to_agtype_value(header[i]));
-        result.res = push_agtype_value(&result.parse_state, WAGT_VALUE, string_to_agtype_value(fields[i]));
+    for (i = 0; i<fields_len; i++)
+    {
+        result.res = push_agtype_value(&result.parse_state,
+                                       WAGT_KEY,
+                                       string_to_agtype_value(header[i]));
+        result.res = push_agtype_value(&result.parse_state,
+                                       WAGT_VALUE,
+                                       string_to_agtype_value(fields[i]));
     }
 
-    result.res = push_agtype_value(&result.parse_state, WAGT_END_OBJECT, NULL);
+    result.res = push_agtype_value(&result.parse_state,
+                                   WAGT_END_OBJECT, NULL);
 
     return agtype_value_to_agtype(result.res);
 }
 
-agtype* create_agtype_from_list_i(char **header, char **fields, size_t fields_len, size_t start_index) {
+agtype* create_agtype_from_list_i(char **header, char **fields,
+                                  size_t fields_len, size_t start_index)
+{
 
     agtype_in_state result;
     size_t i;
 
     if (start_index + 1 == fields_len)
+    {
         return create_empty_agtype();
-
-
+    }
     memset(&result, 0, sizeof(agtype_in_state));
 
-    result.res = push_agtype_value(&result.parse_state, WAGT_BEGIN_OBJECT, NULL);
+    result.res = push_agtype_value(&result.parse_state,
+                                   WAGT_BEGIN_OBJECT, NULL);
 
-    for (i = start_index; i<fields_len; i++) {
-        result.res = push_agtype_value(&result.parse_state, WAGT_KEY, string_to_agtype_value(header[i]));
-        result.res = push_agtype_value(&result.parse_state, WAGT_VALUE, string_to_agtype_value(fields[i]));
+    for (i = start_index; i<fields_len; i++)
+    {
+        result.res = push_agtype_value(&result.parse_state,
+                                       WAGT_KEY,
+                                       string_to_agtype_value(header[i]));
+        result.res = push_agtype_value(&result.parse_state,
+                                       WAGT_VALUE,
+                                       string_to_agtype_value(fields[i]));
     }
 
-    result.res = push_agtype_value(&result.parse_state, WAGT_END_OBJECT, NULL);
+    result.res = push_agtype_value(&result.parse_state,
+                                   WAGT_END_OBJECT, NULL);
 
     return agtype_value_to_agtype(result.res);
 }
 
-void insert_edge_simple(Oid graph_id, char* label_name, graphid edge_id, graphid start_id, graphid end_id, agtype* edge_properties) {
+void insert_edge_simple(Oid graph_id, char* label_name, graphid edge_id,
+                        graphid start_id, graphid end_id,
+                        agtype* edge_properties)
+{
 
     Datum values[6];
     bool nulls[4] = {false, false, false, false};
@@ -126,15 +154,22 @@ void insert_edge_simple(Oid graph_id, char* label_name, graphid edge_id, graphid
     values[2] = GRAPHID_GET_DATUM(end_id);
     values[3] = AGTYPE_P_GET_DATUM((edge_properties));
 
-    label_relation = heap_open(get_label_relation(label_name, graph_id), RowExclusiveLock);
-    tuple = heap_form_tuple(RelationGetDescr(label_relation), values, nulls);
+    label_relation = heap_open(get_label_relation(label_name,
+                                                  graph_id),
+                               RowExclusiveLock);
+
+    tuple = heap_form_tuple(RelationGetDescr(label_relation),
+                            values, nulls);
     heap_insert(label_relation, tuple,
                 GetCurrentCommandId(true), 0, NULL);
     heap_close(label_relation, RowExclusiveLock);
     CommandCounterIncrement();
 }
 
-void insert_vertex_simple(Oid graph_id, char* label_name, graphid vertex_id, agtype* vertex_properties) {
+void insert_vertex_simple(Oid graph_id, char* label_name,
+                          graphid vertex_id,
+                          agtype* vertex_properties)
+{
 
     Datum values[2];
     bool nulls[2] = {false, false};
@@ -144,8 +179,11 @@ void insert_vertex_simple(Oid graph_id, char* label_name, graphid vertex_id, agt
     values[0] = GRAPHID_GET_DATUM(vertex_id);
     values[1] = AGTYPE_P_GET_DATUM((vertex_properties));
 
-    label_relation = heap_open(get_label_relation(label_name, graph_id), RowExclusiveLock);
-    tuple = heap_form_tuple(RelationGetDescr(label_relation), values, nulls);
+    label_relation = heap_open(get_label_relation(label_name,
+                                                  graph_id),
+                               RowExclusiveLock);
+    tuple = heap_form_tuple(RelationGetDescr(label_relation),
+                            values, nulls);
     heap_insert(label_relation, tuple,
                 GetCurrentCommandId(true), 0, NULL);
     heap_close(label_relation, RowExclusiveLock);
@@ -154,7 +192,8 @@ void insert_vertex_simple(Oid graph_id, char* label_name, graphid vertex_id, agt
 
 
 PG_FUNCTION_INFO_V1(load_labels_from_file);
-Datum load_labels_from_file(PG_FUNCTION_ARGS) {
+Datum load_labels_from_file(PG_FUNCTION_ARGS)
+{
 
     Name graph_name;
     Name label_name;
@@ -198,13 +237,15 @@ Datum load_labels_from_file(PG_FUNCTION_ARGS) {
     label_id = get_label_id(label_name_str, graph_id);
 
     create_labels_from_csv_file(file_path_str, graph_name_str,
-                                graph_id, label_name_str, label_id, id_field_exists);
+                                graph_id, label_name_str,
+                                label_id, id_field_exists);
     PG_RETURN_VOID();
 
 }
 
 PG_FUNCTION_INFO_V1(load_edges_from_file);
-Datum load_edges_from_file(PG_FUNCTION_ARGS) {
+Datum load_edges_from_file(PG_FUNCTION_ARGS)
+{
 
     Name graph_name;
     Name label_name;
@@ -244,7 +285,8 @@ Datum load_edges_from_file(PG_FUNCTION_ARGS) {
     graph_id = get_graph_oid(graph_name_str);
     label_id = get_label_id(label_name_str, graph_id);
 
-    create_edges_from_csv_file(file_path_str, graph_name_str, graph_id, label_name_str, label_id);
+    create_edges_from_csv_file(file_path_str, graph_name_str,
+                               graph_id, label_name_str, label_id);
     PG_RETURN_VOID();
 
 }
\ No newline at end of file
diff --git a/src/include/utils/load/ag_load_labels.h b/src/include/utils/load/ag_load_labels.h
index 9fd4ff4..5689c23 100644
--- a/src/include/utils/load/ag_load_labels.h
+++ b/src/include/utils/load/ag_load_labels.h
@@ -100,6 +100,7 @@ void vertex_field_cb(void *field, size_t field_len, void *data);
 void vertex_row_cb(int delim __attribute__((unused)), void *data);
 
 int create_labels_from_csv_file(char *file_path, char *graph_name, Oid graph_id,
-                                char *object_name, int object_id, bool id_field_exists);
+                                char *object_name, int object_id,
+                                bool id_field_exists);
 
 #endif //AG_LOAD_LABELS_H
diff --git a/src/include/utils/load/age_load.h b/src/include/utils/load/age_load.h
index bdebde0..9eeca36 100644
--- a/src/include/utils/load/age_load.h
+++ b/src/include/utils/load/age_load.h
@@ -57,10 +57,14 @@
 #ifndef INCUBATOR_AGE_ENTITY_CREATOR_H
 #define INCUBATOR_AGE_ENTITY_CREATOR_H
 
-agtype* create_agtype_from_list(char **header, char **fields, size_t fields_len, int64 vertex_id);
-agtype* create_agtype_from_list_i(char **header, char **fields, size_t fields_len, size_t start_index);
-void insert_vertex_simple(Oid graph_id, char* label_name, graphid vertex_id, agtype* vertex_properties);
-void insert_edge_simple(Oid graph_id, char* label_name, graphid edge_id, graphid start_id,
-                        graphid end_id, agtype* end_properties);
+agtype* create_agtype_from_list(char **header, char **fields,
+                                size_t fields_len, int64 vertex_id);
+agtype* create_agtype_from_list_i(char **header, char **fields,
+                                  size_t fields_len, size_t start_index);
+void insert_vertex_simple(Oid graph_id, char* label_name, graphid vertex_id,
+                          agtype* vertex_properties);
+void insert_edge_simple(Oid graph_id, char* label_name, graphid edge_id,
+                        graphid start_id, graphid end_id,
+                        agtype* end_properties);
 
 #endif //INCUBATOR_AGE_ENTITY_CREATOR_H