Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
89a3425
Initial commit
john-sanchez31 Feb 3, 2026
85de6c7
Oracle database connector
john-sanchez31 Feb 3, 2026
a52e3eb
tpch 1 demo added
john-sanchez31 Feb 3, 2026
6957a69
example modified
john-sanchez31 Feb 3, 2026
f3a0feb
oracle transform bindings base
john-sanchez31 Feb 4, 2026
68b8a5f
oracle test infrastructure
john-sanchez31 Feb 5, 2026
af42e17
refsol oracle files added
john-sanchez31 Feb 5, 2026
69478a6
WIP: slice and get_part
john-sanchez31 Feb 6, 2026
064fa84
Merge branch 'main' into John/oracle
john-sanchez31 Feb 11, 2026
17d4a95
adding oracle refsol files
john-sanchez31 Feb 11, 2026
17334ad
quote identifiers starting with underscore, quote alias of quoted col…
john-sanchez31 Feb 13, 2026
ce5227e
coalesce fixed and metadata fixed
john-sanchez31 Feb 13, 2026
8165fd0
Merge branch 'main' into John/oracle
john-sanchez31 Feb 17, 2026
cefdbcc
datediff implementation, dayofweek and daysfromstart
john-sanchez31 Feb 18, 2026
23017f7
dates fixed, refsol files updated
john-sanchez31 Feb 19, 2026
847401a
Conflicts solved
john-sanchez31 Feb 20, 2026
c36871b
adding oracle defog fixture
john-sanchez31 Feb 20, 2026
a179a9e
fixing quoted alias, adding dataframe collection oracle refsol
john-sanchez31 Feb 20, 2026
e6b912a
fix for anti joins in oracle and refsol updated
john-sanchez31 Feb 23, 2026
b8ef6dd
fixing cast datetime, and trunc
john-sanchez31 Feb 25, 2026
2995451
quarter truncation fixed, add_months added
john-sanchez31 Feb 25, 2026
524fd30
dataframe and range collection support
john-sanchez31 Feb 25, 2026
2fb20ac
week_offset fixed, df quoted name
john-sanchez31 Feb 27, 2026
b6acba4
get part implementation
john-sanchez31 Mar 2, 2026
0b63c20
STRCOUNT oracle implementation
john-sanchez31 Mar 2, 2026
f0ea15f
Strip, smallest, largest, variance, std, diff quarters, diff weeks, d…
john-sanchez31 Mar 4, 2026
fc17d41
[run ci] [run dialects]
john-sanchez31 Mar 4, 2026
90df7d0
main merged and conflicts solved
john-sanchez31 Mar 4, 2026
d15086c
updating refsol files, test metadata fixed [run ci][run dialects]
john-sanchez31 Mar 6, 2026
852b287
adding oracle workflow [run oracle]
john-sanchez31 Mar 6, 2026
ee63c76
oracle added to run tests [run oracle]
john-sanchez31 Mar 6, 2026
9d2f06c
pr testing workflow fixed [run oracle]
john-sanchez31 Mar 6, 2026
f5b0b97
oracle test workflow [run oracle]
john-sanchez31 Mar 6, 2026
24484af
oracle connector [run oracle]
john-sanchez31 Mar 6, 2026
9d2463e
adding mark [run oracle]
john-sanchez31 Mar 6, 2026
5ce8d44
adding waiting time [run oracle]
john-sanchez31 Mar 6, 2026
b3543ee
adding 10 min [run oracle]
john-sanchez31 Mar 6, 2026
2bb84bf
print timer [run oracle]
john-sanchez31 Mar 6, 2026
fd08233
workflow fix [run oracle]
john-sanchez31 Mar 6, 2026
d06f848
installing dependencies [run oracle]
john-sanchez31 Mar 6, 2026
15fd17d
sqlplus [run oracle]
john-sanchez31 Mar 6, 2026
0be5d53
sqlplus [run oracle]
john-sanchez31 Mar 6, 2026
1727274
check data without sqlplus [run oracle]
john-sanchez31 Mar 6, 2026
4e51da4
checking count [run oracle]
john-sanchez31 Mar 6, 2026
d4a43f7
fixing count [run oracle]
john-sanchez31 Mar 6, 2026
4df5b39
waiting [run oracle]
john-sanchez31 Mar 6, 2026
ab740ed
debugging oracle container ci [run oracle]
john-sanchez31 Mar 9, 2026
77a2998
debugging pwd [run oracle]
john-sanchez31 Mar 9, 2026
3f6520a
debugging network conn [run oracle]
john-sanchez31 Mar 9, 2026
eb002a8
testing oracle [run ci] [run dialects]
john-sanchez31 Mar 9, 2026
645200b
fixing sf academic_gen14 [run s3][run ci][run dialects]
john-sanchez31 Mar 9, 2026
6bf5755
fixing typo [run s3][run ci][run dialects]
john-sanchez31 Mar 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
69 changes: 69 additions & 0 deletions .github/workflows/oracle_testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Run Oracle Tests

on:
workflow_call:
inputs:
python-versions:
description: "JSON string of Python versions"
type: string
required: true
secrets:
ORACLE_PASSWORD:
required: true

jobs:
oracle-tests:
name: Oracle Tests (Python ${{ matrix.python-version }})
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ${{ fromJSON(inputs.python-versions) }}

# Define services here to run Docker containers alongside your job
services:
oracle:
image: bodoai1/pydough-oracle-tpch:latest
env:
# Set environment variables for Oracle container
ORACLE_PWD: ${{ secrets.ORACLE_PASSWORD }}
ports:
- 1521:1521
env:
ORACLE_PASSWORD: ${{ secrets.ORACLE_PASSWORD }}

steps:
- uses: actions/checkout@v4

- name: Setup Python ${{ matrix.python-version }}
id: setup-python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: "0.4.23"

- name: Create virtual environment
run: uv venv

- name: Install dependencies
run: uv pip install -e ".[oracle]"

- name: Wait for TPCH data to load
run: |
for i in {1..600}; do
if docker logs ${{ job.services.oracle.id }} 2>&1 | grep -q "02_tpch_data.sh"; then
echo "TPCH data loaded"
break
fi
echo "Waiting for TPCH load... ($i/600)"
sleep 5
done

- name: Confirm Oracle connector is installed
run: uv run python -c "import oracledb; print('Oracle connector installed')"

- name: Run Oracle Tests
run: uv run pytest -m oracle tests/ -rs
23 changes: 22 additions & 1 deletion .github/workflows/pr_testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@ on:
description: "Run Postgres Tests"
type: boolean
required: false
default: false
run-oracle:
description: "Run Oracle Tests"
type: boolean
required: false
default: false
run-sf_masked:
description: "Run Snowflake Masked Tests"
Expand Down Expand Up @@ -168,7 +173,7 @@ jobs:
run: uv run ruff check .

- name: Run Tests
run: uv run pytest tests/ -m "not (snowflake or mysql or postgres or sf_masked or s3 or bodosql)" -rs
run: uv run pytest tests/ -m "not (snowflake or mysql or postgres or sf_masked or s3 or bodosql or oracle)" -rs

run-defog-daily-update:
name: Run DEFOG Daily Update
Expand Down Expand Up @@ -286,3 +291,19 @@ jobs:
python-versions: ${{ github.event_name == 'workflow_dispatch'
&& needs.get-py-ver-matrix.outputs.matrix
|| '["3.10", "3.11", "3.12", "3.13"]' }}

run-oracle-tests:
name: Oracle Tests
needs: [get-msg, get-py-ver-matrix]
if: |
(github.event_name == 'pull_request' && contains(needs.get-msg.outputs.commitMsg, '[run all]')) ||
(github.event_name == 'pull_request' && contains(needs.get-msg.outputs.commitMsg, '[run dialects]')) ||
(github.event_name == 'pull_request' && contains(needs.get-msg.outputs.commitMsg, '[run oracle]')) ||
(github.event_name == 'workflow_dispatch' && (inputs.run-all || inputs.run-dialects || inputs.run-oracle))
uses: ./.github/workflows/oracle_testing.yml
secrets:
ORACLE_PASSWORD: ${{ secrets.ORACLE_PASSWORD }}
with:
python-versions: ${{ github.event_name == 'workflow_dispatch'
&& needs.get-py-ver-matrix.outputs.matrix
|| '["3.10", "3.11", "3.12", "3.13"]' }}
1 change: 1 addition & 0 deletions demos/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,5 @@ Once the introduction notebook is complete, you can explore the other notebooks:
- [SF_TPCH_q1.ipynb](notebooks/SF_TPCH_q1.ipynb) demonstrates how to connect a Snowflake database with PyDough.
- [MySQL_TPCH.ipynb](notebooks/MySQL_TPCH.ipynb) demonstrates how to connect a MySQL database with PyDough.
- [PG_TPCH.ipynb](notebooks/PG_TPCH.ipynb) demonstrates how to connect a Postgres database with PyDough.
- [Oracle_TPCH.ipynb](notebooks/Oracle_TPCH.ipynb) demonstrates how to connect an Oracle database with PyDough.

Loading