def create_graphql_objects_with_list(my_cursor, mutations, method, db_dict,
                                     db_name, table_name, syn_dict, server):
    cols = db_dict[db_name][table_name]['col_order']
    query = ''
    for col in cols:
        if query != '':
            query += ','
        query += col
    query = 'SELECT ' + query + ' FROM ' + db_name + '.' + table_name
    my_cursor.execute(query)
    rows = my_cursor.fetchall()
    args = mutations[method]
    args_dict = {}
    for arg in args:
        add_arg_to_dict(arg, args_dict)
    counter = 0
    m = ''
    for row in rows:
        s = table_name + '_' + str(counter) + ': ' + method + '('
        counter += 1
        for i in range(len(cols)):
            col = cols[i]
            val = row[i]
            val_list = []
            if col == 'graph_id':
                col = 'id'
                graph_id = val
                if graph_id in syn_dict:
                    val_list = syn_dict[graph_id]
            if col in args_dict:
                arg = args_dict[col]
                if arg['is_boolean']:
                    val = str(val).lower()
                if arg['is_string']:
                    s += col + ': \\"' + str(val) + '\\", '
                else:
                    s += col + ': ' + str(val) + ', '
        s += 'list: ['
        for v in val_list:
            s += '\\"' + v + '\\",'
        s += ']'
        s += '),'
        m += s
        if (counter % 100 == 0):
            print(m)
            send_mutation(m, server)
            m = ''
    if m != '':
        print(m)
        send_mutation(m, server)
def add_to_graphql_objects(my_cursor, mutations, method, db_dict, db_name,
                           table_name, server):
    args = mutations[method]
    args_dict = {}
    for arg in args:
        add_arg_to_dict(arg, args_dict)
    list_arg = get_list_arg(args_dict)
    obj_arg = get_obj_arg(args_dict)

    cols = db_dict[db_name][table_name]['col_order']
    query = ''
    for col in cols:
        field_info = db_dict[db_name][table_name][col]
        # item 3 is auto-incrmenet
        if field_info[3] == 'N':
            if col.lower().startswith(list_arg.lower()):
                query += col
    query += ', graph_id'
    query = 'SELECT ' + query + ' FROM ' + db_name + '.' + table_name
    counter = 0
    m = ''

    my_cursor.execute(query)
    rows = my_cursor.fetchall()
    for row in rows:
        adder_id = row[0]
        object_id = row[1]
        if adder_id != None:
            s = table_name + '_' + str(
                counter
            ) + ': ' + method + '(' + obj_arg + ': \\"' + object_id + '\\", ' + list_arg + ': [\\"' + adder_id + '\\"]), '
            m += s
        counter += 1
        if (counter % 100 == 0):
            print(m)
            send_mutation(m, server)
            m = ''
    if m != '':
        print(m)
        send_mutation(m, server)
def add_list_to_graphql_objects(my_cursor, mutations, method, db_dict, db_name,
                                table_name, server):
    args = mutations[method]
    method_start = method
    if method_start.startswith('add'):
        method_start = method_start[3:]

    args_dict = {}
    for arg in args:
        add_arg_to_dict(arg, args_dict)
    list_arg = get_list_arg(args_dict)
    obj_arg = get_obj_arg(args_dict)

    cols = db_dict[db_name][table_name]['col_order']
    query = ''
    order_by = None
    object_id_index = 0
    added_id_index = 0
    i = 0
    for col in cols:
        field_info = db_dict[db_name][table_name][col]
        # item 3 is auto-incrmenet
        if field_info[3] == 'N':
            if query != '':
                query += ','
            query += col
            # col_head = get_col_head(col)
            if col.endswith('_graph_id'):
                object_name = col[:-9]
                if method_start.startswith(object_name):
                    object_id_index = i
                    order_by = col
                else:
                    added_id_index = i
            i += 1
    query = 'SELECT ' + query + ' FROM ' + db_name + '.' + table_name
    if order_by:
        query += ' ORDER BY ' + order_by
    my_cursor.execute(query)
    rows = my_cursor.fetchall()
    object_id = rows[0][object_id_index]
    counter = 0
    m = ''
    list_str = '['
    print(object_id)
    rows.append([0, 0])
    for row in rows:
        if row[object_id_index] != object_id:
            list_str += ']'
            s = table_name + '_' + str(
                counter
            ) + ': ' + method + '(' + obj_arg + ': \\"' + object_id + '\\", ' + list_arg + ': ' + list_str + '), '
            m += s
            counter += 1
            if (counter % 100 == 0):
                print(m)
                send_mutation(m, server)
                m = ''
            list_str = '['
            object_id = row[object_id_index]
        list_str += f'\\"{row[added_id_index]}\\",'