# Buggy code
def get(self, name):
    """return data rows"""
    ds = g.default_store.get_datasource(name)
    if ds is None:
        abort(400, "No valid datasource given")

    params = {"page[size]": None, "page[offset]": None}
    where = []
    for key, value in request.args.items():
        if key == "page[size]":
            params["page[size]"] = int(value)
        if key == "page[offset]":
            params["page[offset]"] = int(value)
        elif key.startswith("filter"):
            param = parse_filter(key, value)
            if param is None:
                abort(400, f'Not valid filter "{key}"')
            where.append(param)

    data_dict = g.default_store.get_data(
        name, where, params["page[size]"], params["page[offset]"]
    )

    return data_dict, 200


# Traceback (AttributeError)
2020-06-25 14:30:32,318 - INFO - Starting MindsDB Mysql proxy server on tcp://127.0.0.1:47335
2020-06-25 14:30:32,334 - INFO - Waiting for incoming connections...
127.0.0.1 - - [25/Jun/2020 14:31:14] "GET /util/ping HTTP/1.1" 200 -
Exception on /datasources/ [GET]
Traceback (most recent call last):
File "/home/zoran/MyProjects/mindsdb-examples/new/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/home/zoran/MyProjects/mindsdb-examples/new/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/zoran/MyProjects/mindsdb-examples/new/lib/python3.7/site-packages/flask_restx/api.py", line 375, in wrapper
resp = resource(*args, **kwargs)
File "/home/zoran/MyProjects/mindsdb-examples/new/lib/python3.7/site-packages/flask/views.py", line 89, in view
return self.dispatch_request(*args, **kwargs)
File "/home/zoran/MyProjects/mindsdb-examples/new/lib/python3.7/site-packages/flask_restx/resource.py", line 44, in dispatch_request
resp = meth(*args, **kwargs)
File "/home/zoran/MyProjects/mindsdb-examples/new/lib/python3.7/site-packages/flask_restx/marshalling.py", line 248, in wrapper
resp = f(*args, **kwargs)
File "/home/zoran/MyProjects/mindsdb-examples/new/lib/python3.7/site-packages/mindsdb/api/http/namespaces/datasource.py", line 40, in get
return g.default_store.get_datasources()
File "/home/zoran/MyProjects/mindsdb-examples/new/lib/python3.7/site-packages/werkzeug/local.py", line 347, in __getattr__
return getattr(self._get_current_object(), name)
AttributeError: '_AppCtxGlobals' object has no attribute 'default_store'
127.0.0.1 - - [25/Jun/2020 14:31:18] "GET /datasources/ HTTP/1.1" 500 -
Exception on /datasources/ [GET]

# Fixed code
def get(self, name):
    """return data rows"""
    ds = ca.default_store.get_datasource(name)
    if ds is None:
        abort(400, "No valid datasource given")

    params = {"page[size]": None, "page[offset]": None}
    where = []
    for key, value in request.args.items():
        if key == "page[size]":
            params["page[size]"] = int(value)
        if key == "page[offset]":
            params["page[offset]"] = int(value)
        elif key.startswith("filter"):
            param = parse_filter(key, value)
            if param is None:
                abort(400, f'Not valid filter "{key}"')
            where.append(param)

    data_dict = ca.default_store.get_data(
        name, where, params["page[size]"], params["page[offset]"]
    )

    return data_dict, 200