mkpipe-extractor-sqlserver 0.1.2__tar.gz → 0.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (14) hide show
  1. {mkpipe_extractor_sqlserver-0.1.2/mkpipe_extractor_sqlserver.egg-info → mkpipe_extractor_sqlserver-0.1.3}/PKG-INFO +1 -1
  2. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3}/mkpipe_extractor_sqlserver/__init__.py +33 -12
  3. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3/mkpipe_extractor_sqlserver.egg-info}/PKG-INFO +1 -1
  4. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3}/setup.py +1 -1
  5. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3}/LICENSE +0 -0
  6. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3}/MANIFEST.in +0 -0
  7. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3}/README.md +0 -0
  8. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3}/mkpipe_extractor_sqlserver/jars/com.microsoft.sqlserver_mssql-jdbc-12.8.1.jre11.jar +0 -0
  9. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3}/mkpipe_extractor_sqlserver.egg-info/SOURCES.txt +0 -0
  10. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3}/mkpipe_extractor_sqlserver.egg-info/dependency_links.txt +0 -0
  11. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3}/mkpipe_extractor_sqlserver.egg-info/entry_points.txt +0 -0
  12. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3}/mkpipe_extractor_sqlserver.egg-info/requires.txt +0 -0
  13. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3}/mkpipe_extractor_sqlserver.egg-info/top_level.txt +0 -0
  14. {mkpipe_extractor_sqlserver-0.1.2 → mkpipe_extractor_sqlserver-0.1.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mkpipe-extractor-sqlserver
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: SQLserver extractor for mkpipe.
5
5
  Author: Metin Karakus
6
6
  Author-email: metin_karakus@yahoo.com
@@ -131,19 +131,40 @@ class SqlserverExtractor:
131
131
  elif iterate_column_type == 'int':
132
132
  min_val = int(min_val)
133
133
  max_val = int(max_val)
134
- step = (max_val - min_val) / chunk_count_for_partition
135
- min_max_tuple = [
136
- (int(min_val + i * step), int(min_val + (i + 1) * step))
137
- for i in range(chunk_count_for_partition)
138
- if int(min_val + i * step) != int(min_val + (i + 1) * step)
139
- ]
134
+
135
+ total_range = max_val - min_val + 1 # inclusive
136
+ step = total_range // chunk_count_for_partition
137
+ remainder = total_range % chunk_count_for_partition
138
+
139
+ min_max_tuple = []
140
+ start = min_val
141
+ for _ in range(chunk_count_for_partition):
142
+ end = start + step - 1
143
+ if remainder > 0:
144
+ end += 1
145
+ remainder -= 1
146
+ if start <= max_val:
147
+ min_max_tuple.append((start, min(end, max_val)))
148
+ start = end + 1
149
+
140
150
  elif iterate_column_type == 'datetime':
141
- step = (max_val - min_val) / chunk_count_for_partition
142
- min_max_tuple = [
143
- ((min_val + i * step), (min_val + (i + 1) * step))
144
- for i in range(chunk_count_for_partition)
145
- if (min_val + i * step) != (min_val + (i + 1) * step)
146
- ]
151
+ total_seconds = (
152
+ int((max_val - min_val).total_seconds()) + 1
153
+ ) # include max_val
154
+ step = total_seconds // chunk_count_for_partition
155
+ remainder = total_seconds % chunk_count_for_partition
156
+
157
+ min_max_tuple = []
158
+ start = min_val
159
+ for _ in range(chunk_count_for_partition):
160
+ step_with_remainder = step
161
+ if remainder > 0:
162
+ step_with_remainder += 1
163
+ remainder -= 1
164
+ end = start + datetime.timedelta(seconds=step_with_remainder - 1)
165
+ if start <= max_val:
166
+ min_max_tuple.append((start, min(end, max_val)))
167
+ start = end + datetime.timedelta(seconds=1)
147
168
  else:
148
169
  raise ValueError(
149
170
  f'Unsupported iterate_column_type: {iterate_column_type}'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mkpipe-extractor-sqlserver
3
- Version: 0.1.2
3
+ Version: 0.1.3
4
4
  Summary: SQLserver extractor for mkpipe.
5
5
  Author: Metin Karakus
6
6
  Author-email: metin_karakus@yahoo.com
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='mkpipe-extractor-sqlserver',
5
- version='0.1.2',
5
+ version='0.1.3',
6
6
  license='Apache License 2.0',
7
7
  packages=find_packages(exclude=['tests', 'scripts', 'deploy', 'install_jars.py']),
8
8
  install_requires=['mkpipe'],