@@ -36,7 +36,6 @@ cdef class Table:
3636 cdef str input_encoding
3737 cdef PrimaryIndex primary_index
3838 cdef bytes blob_file
39- cdef fields
4039
4140 def __cinit__ (self , filename , index_file = None , blob_file = None ):
4241 self .target_encoding = DEFAULT_ENCODING
@@ -47,10 +46,6 @@ cdef class Table:
4746 self .blob_file = blob_file.encode(DEFAULT_ENCODING)\
4847 if blob_file is not None else None
4948
50- def create (self , *fields ):
51- self .fields = fields
52- self .doc.create(fields)
53-
5449 def open (self ):
5550 """
5651 Open the data file and associate a Record instance.
@@ -131,10 +126,6 @@ cdef class Table:
131126 def __len__ (self ):
132127 return len (self .doc)
133128
134- def append (self , values ):
135- self .doc.append(self .fields, values)
136- self .current_recno = self .current_recno + 1
137-
138129
139130cdef class RecordIterator:
140131 """
@@ -224,24 +215,6 @@ cdef class PXDoc:
224215 def __len__ (self ):
225216 return self .px_doc.px_head.px_numrecords
226217
227- def create (self , *fields ):
228- n = len (fields)
229- cdef pxfield_t * f = < pxfield_t * > (self .px_doc.malloc(
230- self .px_doc,
231- n * sizeof(pxfield_t),
232- " Memory for fields"
233- ))
234- for i from 0 <= i < n:
235- f[i].px_fname = PX_strdup(self .px_doc, fields[i].fname)
236- f[i].px_flen = fields[i].flen
237- f[i].px_ftype = fields[i].ftype
238- f[i].px_fdc = 0
239-
240- if PX_create_file(self .px_doc, f, n, self .filename, pxfFileTypIndexDB) < 0 :
241- raise Exception (" Couldn't open '%s '" % self .filename)
242- self .isopen = 1
243- self .current_recno = - 1
244-
245218 def open (self ):
246219 """
247220 Open the data file.
@@ -319,44 +292,6 @@ cdef class PXDoc:
319292 cdef bint hasBlobFile(self ):
320293 return PX_has_blob_file(self .px_doc)
321294
322-
323- def append (self , fields , values ):
324- cdef char * b
325- l = len (fields)
326- n = sum ([ f.flen for f in fields ])
327- bufsize = n * sizeof(char )
328- cdef char * buffer = < char * > (
329- self .px_doc.malloc(self .px_doc, bufsize, " Memory for appended record" ))
330- memset(buffer , 0 , bufsize)
331- o = 0
332- fs = {}
333- for i from 0 <= i < l:
334- f = fields[i]
335- v = values.get(f.fname, None )
336- l = f.flen
337- if v == None :
338- l = 0
339- if f.ftype == pxfAlpha:
340- s = str (v or ' ' ).decode(self .targetEncoding)
341- s = s.encode(self .getCodePage())
342- b = < char * > (self .px_doc.malloc(self .px_doc, f.flen, " Memory for alpha field" ))
343- memcpy(b, < char * > s, max (f.flen, len (s)))
344- PX_put_data_alpha(self .px_doc, & buffer [o], f.flen, b)
345- self .px_doc.free(self .px_doc, b)
346- elif f.ftype == pxfLong:
347- PX_put_data_long(self .px_doc, & buffer [o], l, < long > int (v or 0 ))
348- elif f.ftype == pxfNumber:
349- PX_put_data_double(self .px_doc, & buffer [o], l, < double > float (v or 0.0 ))
350- else :
351- raise Exception (" unknown type" )
352- o += f.flen
353-
354- if PX_put_record(self .px_doc, buffer ) == - 1 :
355- raise Exception (" unable to put record" )
356-
357- self .px_doc.free(self .px_doc, buffer )
358-
359-
360295 def __dealloc__ (self ):
361296 """
362297 Close the data file
@@ -365,7 +300,6 @@ cdef class PXDoc:
365300 PX_delete(self .px_doc)
366301
367302
368-
369303cdef class PrimaryIndex:
370304 """
371305 The primary index file.
0 commit comments