@@ -92,8 +92,8 @@ export class Schema<T extends { [key: string]: DataType } = any> {
9292 const curDictionaryFields = this . dictionaryFields ;
9393 const metadata = mergeMaps ( mergeMaps ( new Map ( ) , this . metadata ) , other . metadata ) ;
9494 const newFields = other . fields . filter ( ( f2 ) => {
95- const i = curFields . findIndex ( ( f ) => f . compareTo ( f2 ) ) ;
96- return ~ i ? ( curFields [ i ] = curFields [ i ] . clone ( {
95+ const i = curFields . findIndex ( ( f ) => f . name === f2 . name ) ;
96+ return ~ i ? ( curFields [ i ] = f2 . clone ( {
9797 metadata : mergeMaps ( mergeMaps ( new Map ( ) , curFields [ i ] . metadata ) , f2 . metadata )
9898 } ) ) && false : true ;
9999 } ) as Field [ ] ;
@@ -102,7 +102,7 @@ export class Schema<T extends { [key: string]: DataType } = any> {
102102 const newDictionaries = [ ...dictionaries ] . filter ( ( [ y ] ) => ! curDictionaries . every ( ( [ x ] ) => x === y ) ) ;
103103 const newDictionaryFields = [ ...dictionaryFields ] . map ( ( [ id , newDictFields ] ) => {
104104 return [ id , [ ...( curDictionaryFields . get ( id ) || [ ] ) , ...newDictFields . map ( ( f ) => {
105- const i = newFields . findIndex ( ( f2 ) => f2 . compareTo ( f ) ) ;
105+ const i = newFields . findIndex ( ( f2 ) => f . name === f2 . name ) ;
106106 const { dictionary, indices, isOrdered, dictionaryVector } = f . type ;
107107 const type = new Dictionary ( dictionary , indices , id , isOrdered , dictionaryVector ) ;
108108 return newFields [ i ] = f . clone ( { type } ) ;
0 commit comments