No functional changes. DRY the otlp http client code, in preparation for reuse in logs exporter code.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10171
GitOrigin-RevId: c13c587d6d4775e992642a79c798193762efa527
The "Analyze" feature for SQL Server only partially worked. It would show the SQL generated, but not the execution plan. This is because SQL Server doesn't support generating a plan for prepared statements with parameters.
To work around this, we restructure the query as one without parameters. Instead, we replace each parameter with a variable. We declare the variables but don't set values. We then plan _that_, which works.
We run all this in a single query because local variables only last for a single transaction/batch.
This feature does not work for stored procedures.
[NDAT-582]: https://hasurahq.atlassian.net/browse/NDAT-582?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10125
GitOrigin-RevId: a4b45b9b207456ff4fbd1b69b008e93f87346342
I was experiencing issues trying to install ghcid on macOS + aarch64. Turns out there's a patch for that but it's not enabled for GHC 9.4. I have added it.
We may want to push this upstream.
This also upgrades Ormolu, with only a tiny change.
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/10062
GitOrigin-RevId: 09d0bf115155267584e91c6a21caf8afc7d744a8
This turns on the `partial-fields` warning, which yells at you if you try and create fields on sum types that end up being partial functions. These are dangerous; we had a bug because we introduced a new case to a data type, making the field accessors partial, and leading to a crash in certain cases.
This means that we have introduced a few wrappers in various places where the field names are useful, but we want to avoid partial matches.
Unfortunately this can be turned off by prefixing the field name with an underscore. Ideally we would try and avoid exporting any field names with underscores, but lenses make this hard. I have removed some underscores for the areas in which we've seen this break in the past.
We will have to be vigilant.
[NDAT-794]: https://hasurahq.atlassian.net/browse/NDAT-794?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9991
GitOrigin-RevId: fd69b1ef999682969f3507f0e97513f983da4da6
I scratched out some changes to support this in the front end, mostly to test it easily, maybe this can be used without much rework (validation seems to work correctly, but the tests need to be extended and probably fixed):
<img width="648" alt="fd" src="https://github.com/hasura/graphql-engine-mono/assets/68095256/e5873a90-ef83-43c3-9d54-cfc0a693baca">
-------
## Fake OTel collector for testing
ChatGPT spit this out, and it's what I used to test, if it's useful to others:
``` python
from flask import Flask, request
from opentelemetry.proto.collector.trace.v1.trace_service_pb2 import ExportTraceServiceRequest
from opentelemetry.proto.collector.metrics.v1.metrics_service_pb2 import ExportMetricsServiceRequest
import google.protobuf.json_format as json_format
app = Flask(__name__)
@app.route("/v1/traces", methods=["POST"])
def handle_traces():
if request.method == 'POST':
binary_trace = request.get_data()
trace_request = ExportTraceServiceRequest()
trace_request.ParseFromString(binary_trace)
print("Received trace data:\n")
print(json_format.MessageToJson(trace_request, indent=2, preserving_proto_field_name=True))
return "Trace data received", 200
@app.route("/v1/metrics", methods=["POST"])
def handle_metrics():
if request.method == 'POST':
binary_metric = request.get_data()
metric_request = ExportMetricsServiceRequest()
metric_request.ParseFromString(binary_metric)
print("Received metrics data:\n")
print(json_format.MessageToJson(metric_request, indent=2, preserving_proto_field_name=True))
return "Metrics data received", 200
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8080)
```
PR-URL: https://github.com/hasura/graphql-engine-mono/pull/9552
Co-authored-by: Puru Gupta <32328846+purugupta99@users.noreply.github.com>
Co-authored-by: Toan Nguyen <1615675+hgiasac@users.noreply.github.com>
Co-authored-by: Varun Choudhary <68095256+Varun-Choudhary@users.noreply.github.com>
Co-authored-by: Daniele Cammareri <5709409+dancamma@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rob Dominguez <24390149+robertjdominguez@users.noreply.github.com>
GitOrigin-RevId: f340bfc5c135a7bb24735b524d015e05db422fd2