Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 16 additions & 17 deletions docs/reusable/event-query/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ export function fieldName(props, wh) {
props.name +
'_' +
(
wh == 'bigquery' ?
props.version.replaceAll('-', '_') :
props.version.split('-')[0]
)
);
Expand All @@ -23,15 +21,18 @@ export function alias(props) {
```

<Tabs groupId="warehouse" queryString>
<TabItem value="snowflake" label="Snowflake">
<TabItem value="redshift" label="Redshift">

<CodeBlock language="sql">
{`select
${fieldName(props, 'snowflake')} ${alias(props)}
"${alias(props)}".*
from
atomic.events
atomic.events events
join atomic.${fieldName(props, 'redshift')} "${alias(props)}"
on "${alias(props)}".root_id = events.event_id and "${alias(props)}".root_tstamp = events.collector_tstamp
where
events.collector_tstamp > getdate() - interval '1 hour'
and "${alias(props)}".root_tstamp > getdate() - interval '1 hour'
and events.event = 'unstruct'
and events.event_name = '${props.name}'
and events.event_vendor = '${props.vendor}'
Expand All @@ -40,7 +41,7 @@ where

</TabItem>

<TabItem value="bigquery" label="BigQuery" default>
<TabItem value="bigquery" label="BigQuery">

<CodeBlock language="sql">
{`select
Expand All @@ -56,39 +57,37 @@ where
</CodeBlock>

</TabItem>
<TabItem value="databricks" label="Databricks">

<TabItem value="snowflake" label="Snowflake">

<CodeBlock language="sql">
{`select
${fieldName(props, 'databricks')}
${fieldName(props, 'snowflake')} ${alias(props)}
from
atomic.events events
atomic.events
where
events.collector_tstamp > timestampadd(HOUR, -1, current_timestamp())
events.collector_tstamp > getdate() - interval '1 hour'
and events.event = 'unstruct'
and events.event_name = '${props.name}'
and events.event_vendor = '${props.vendor}'
and ${fieldName(props)} is not null
`}
</CodeBlock>

</TabItem>

<TabItem value="redshift" label="Redshift & Postgres">
<TabItem value="databricks" label="Databricks">

<CodeBlock language="sql">
{`select
"${alias(props)}".*
${fieldName(props, 'databricks')}
from
atomic.events events
join atomic.${fieldName(props, 'redshift')} "${alias(props)}"
on "${alias(props)}".root_id = events.event_id and "${alias(props)}".root_tstamp = events.collector_tstamp
where
events.collector_tstamp > getdate() - interval '1 hour'
and "${alias(props)}".root_tstamp > getdate() - interval '1 hour'
events.collector_tstamp > timestampadd(HOUR, -1, current_timestamp())
and events.event = 'unstruct'
and events.event_name = '${props.name}'
and events.event_vendor = '${props.vendor}'
and ${fieldName(props)} is not null
`}
</CodeBlock>

Expand Down
68 changes: 60 additions & 8 deletions src/components/SchemaProperties/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,15 @@ export default function SchemaProperties(props) {
const description = props.info || props.schema.description
const hasProperties =
props.schema.properties && Object.keys(props.schema.properties).length > 0
const warehouseNote = (
<p>
Check the{' '}
<a href="/docs/destinations/warehouses-lakes/querying-data/">
querying overview
</a>{' '}
to confirm the syntax for your warehouse or lake.
</p>
)

return (
<div className="flex flex-col w-full bg-card rounded-lg shadow-[0px_1px_2px_0px_rgba(0,0,0,0.05)] outline outline-1 outline-offset-[-1px] outline-border justify-start items-start overflow-hidden mb-4">
Expand Down Expand Up @@ -148,16 +157,59 @@ export default function SchemaProperties(props) {
</details>

{props.overview && props.overview.event && (
<details>
<>
<details open>
<summary className="cursor-pointer text-base font-semibold">
Warehouse column name
</summary>
<div className="mt-2 text-base">
<p>
In most warehouses:{' '}
<code>
{'unstruct_event_' +
props.schema.self.vendor.replaceAll('.', '_') +
'_' +
props.schema.self.name +
'_' +
props.schema.self.version.split('-')[0]}
</code>
</p>
{warehouseNote}
</div>
</details>
<details>
<summary className="cursor-pointer text-base font-semibold">
Warehouse query
</summary>
<div className="mt-2 text-base not-prose">
<EventQuery
vendor={props.schema.self.vendor}
name={props.schema.self.name}
version={props.schema.self.version}
/>
</div>
</details>
</>
)}

{props.overview && props.overview.event === false && (
<details open>
<summary className="cursor-pointer text-base font-semibold">
Warehouse query
Warehouse column name
</summary>
<div className="mt-2 text-base not-prose">
<EventQuery
vendor={props.schema.self.vendor}
name={props.schema.self.name}
version={props.schema.self.version}
/>
<div className="mt-2 text-base">
<p>
In most warehouses:{' '}
<code>
{'contexts_' +
props.schema.self.vendor.replaceAll('.', '_') +
'_' +
props.schema.self.name +
'_' +
props.schema.self.version.split('-')[0]}
</code>
</p>
{warehouseNote}
</div>
</details>
)}
Expand Down