Skip to content

Commit 84e3a6c

Browse files
authored
Merge pull request #63 from questdb/nw_large_string_support
feat: support arrow large utf8 string format
2 parents 674df7f + 13474ac commit 84e3a6c

File tree

3 files changed

+185
-75
lines changed

3 files changed

+185
-75
lines changed

ci/pip_install_deps.py

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,28 @@
33
import shlex
44
import textwrap
55
import platform
6+
import argparse
67

78

9+
arg_parser = argparse.ArgumentParser(
10+
prog='pip_install_deps.py',
11+
description='installs dependencies'
12+
)
13+
14+
arg_parser.add_argument('--pandasVersion')
15+
816
class UnsupportedDependency(Exception):
917
pass
1018

1119

12-
def pip_install(package):
20+
def pip_install(package, version=None):
1321
args = [
1422
sys.executable,
1523
'-m', 'pip', 'install',
1624
'--upgrade',
1725
'--only-binary', ':all:',
18-
package]
26+
package if version is None else f'{package}=={version}'
27+
]
1928
args_s = ' '.join(shlex.quote(arg) for arg in args)
2029
sys.stderr.write(args_s + '\n')
2130
res = subprocess.run(
@@ -35,9 +44,9 @@ def pip_install(package):
3544
sys.exit(res.returncode)
3645

3746

38-
def try_pip_install(package):
47+
def try_pip_install(package, version=None):
3948
try:
40-
pip_install(package)
49+
pip_install(package, version)
4150
except UnsupportedDependency as e:
4251
msg = textwrap.indent(str(e), ' ' * 8)
4352
sys.stderr.write(f' Ignored unsatisfiable dependency:\n{msg}\n')
@@ -52,12 +61,18 @@ def ensure_timezone():
5261
pip_install('pytz')
5362

5463

55-
def main():
64+
def main(args):
5665
ensure_timezone()
5766
pip_install('pip')
5867
pip_install('setuptools')
5968
try_pip_install('fastparquet>=2023.10.1')
60-
try_pip_install('pandas')
69+
70+
print(f"DEBUG: {args}, pandas: {args.pandasVersion}")
71+
72+
if args.pandasVersion is not None and args.pandasVersion != '':
73+
try_pip_install('pandas', args.pandasVersion)
74+
else:
75+
try_pip_install('pandas')
6176
try_pip_install('numpy')
6277
try_pip_install('pyarrow')
6378

@@ -80,4 +95,5 @@ def main():
8095

8196

8297
if __name__ == "__main__":
83-
main()
98+
args = arg_parser.parse_args()
99+
main(args)

ci/run_tests_pipeline.yaml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ stages:
1111
linux:
1212
imageName: "ubuntu-latest"
1313
poolName: "Azure Pipelines"
14+
linux-old-pandas:
15+
imageName: "ubuntu-latest"
16+
poolName: "Azure Pipelines"
17+
pandasVersion: "2.1.4"
1418
linux-qdb-master:
1519
imageName: "ubuntu-latest"
1620
poolName: "Azure Pipelines"
@@ -31,11 +35,16 @@ stages:
3135
lfs: false
3236
submodules: true
3337
- task: UsePythonVersion@0
34-
- script: python3 --version
3538
- script: |
39+
python3 --version
3640
python3 -m pip install cython
37-
python3 ci/pip_install_deps.py
38-
displayName: Installing Python dependencies
41+
displayName: "Install cython"
42+
- script: python3 ci/pip_install_deps.py
43+
displayName: "Install pandas latest"
44+
condition: eq(variables.pandasVersion, '')
45+
- script: python3 ci/pip_install_deps.py --pandasVersion==$(pandasVersion)
46+
displayName: "Install pandas older"
47+
condition: ne(variables.pandasVersion, '')
3948
- script: python3 proj.py build
4049
displayName: "Build"
4150
- script: |
@@ -47,7 +56,7 @@ stages:
4756
inputs:
4857
mavenPOMFile: 'questdb/pom.xml'
4958
jdkVersionOption: '1.11'
50-
options: "install -DskipTests -Pbuild-web-console"
59+
options: "-DskipTests -Pbuild-web-console"
5160
condition: eq(variables.vsQuestDbMaster, true)
5261
- script: python3 proj.py test 1
5362
displayName: "Test vs released"

0 commit comments

Comments
 (0)